本申請涉及但不限于通信領(lǐng)域,尤指一種網(wǎng)頁處理方法、網(wǎng)絡(luò)分析器及HTTP服務器。
背景技術(shù):
隨著WEB(網(wǎng)頁)應用越來越多,針對WEB的威脅也隨之增多,危害也越來越大,有效的檢測這些威脅便成為大家重點關(guān)注的問題。
由于WEB應用的特殊性,一個完整的網(wǎng)頁可能會由多個子頁面和資源組成,且這些網(wǎng)頁分片(用戶看到的一個完整的網(wǎng)頁實際上可能會包含很多文件分別存儲在服務器上,只有將這些網(wǎng)頁分片都獲取到,才能展示完整頁面)可能分布在不同服務器上。在離線檢測場景下,如果能很好解決網(wǎng)頁的分片問題將能夠更有效的檢測網(wǎng)頁威脅。
現(xiàn)有主要檢測方案為將頁面包括的所有子頁面和資源直接送入檢測模塊進行檢測,各個網(wǎng)頁和資源沒有關(guān)聯(lián)性,相互獨立。如圖1所示:
圖片數(shù)據(jù)直接送入檢測模塊(傳統(tǒng)的檢測模塊可以是軟件,部署到服務器和PC上,也可以是硬件產(chǎn)品),腳本(script CSS(Cascading Style Sheet,級聯(lián)樣式表))直接送入檢測模塊,HTML(HYPER TEXT MARK-UP LANGUAGE,超文本標記語)數(shù)據(jù)直接送入檢測模塊。
在此方案下,只能針對各個獨立頁面內(nèi)的內(nèi)容進行檢測,對于一些將惡意行為進行了分片,分別存儲到多個子頁面這類威脅時,采用此種方案無法有效檢測。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供一種網(wǎng)頁處理方法、網(wǎng)絡(luò)分析器及HTTP服務器,以提高針對網(wǎng)站威脅檢測的準確性。
本發(fā)明實施例提供了一種網(wǎng)頁處理方法,包括:
網(wǎng)絡(luò)分析器收集待檢測頁面包括的所有子頁面和子資源的數(shù)據(jù);
所述網(wǎng)絡(luò)分析器將收集到的所述所有子頁面和子資源的數(shù)據(jù)發(fā)送給檢測模塊。
可選地,所述網(wǎng)絡(luò)分析器收集待檢測頁面包括的所有子頁面和子資源包括:
所述網(wǎng)絡(luò)分析器接收到所述待檢測頁面的統(tǒng)一資源定位符URL地址后,解析所述待檢測頁面,當解析出所述待檢測頁面包括子頁面或子資源時,向超文本標記語HTTP服務器發(fā)送網(wǎng)站資源請求消息,攜帶所述子頁面或所述子資源的URL地址;
所述網(wǎng)絡(luò)分析器收集所述HTTP服務器返回所述待檢測頁面包括的所有子頁面和子資源的數(shù)據(jù)。
本發(fā)明實施例提供一種網(wǎng)絡(luò)分析器,包括:
收集模塊,用于收集待檢測頁面包括的所有子頁面和子資源的數(shù)據(jù);
發(fā)送模塊,用于將收集到的所述所有子頁面和子資源的數(shù)據(jù)發(fā)送給檢測模塊。
可選地,所述收集模塊包括:
解析單元,用于接收到所述待檢測頁面的統(tǒng)一資源定位符URL地址后,解析所述待檢測頁面,當解析出所述待檢測頁面包括子頁面或子資源時,將所述子頁面或所述子資源的URL地址發(fā)送給超文本標記語HTTP服務器;
收集單元,用于收集所述HTTP服務器返回所述待檢測頁面包括的所有子頁面和子資源的數(shù)據(jù)。
本發(fā)明實施例提供一種處理網(wǎng)頁的方法,包括:
超文本標記語HTTP服務器接收網(wǎng)絡(luò)分析器發(fā)送的網(wǎng)站資源請求消息,所述網(wǎng)站資源請求消息攜帶網(wǎng)站資源的URL地址;
HTTP服務器查找所述URL地址對應的數(shù)據(jù);
HTTP服務器將查找到的數(shù)據(jù)發(fā)送給所述網(wǎng)絡(luò)分析器。
可選地,所述HTTP服務器查找所述URL地址對應的數(shù)據(jù),包括:
所述HTTP服務器根據(jù)URL地址按照指定算法生成文件名;
所述HTTP服務器查找所述文件名對應的數(shù)據(jù)。
可選地,所述文件名對應的數(shù)據(jù)是所述HTTP服務器預先存儲的;
所述HTTP服務器根據(jù)對應網(wǎng)頁的URL地址按照所述指定算法生成文件名,然后存儲所述文件名與所述對應網(wǎng)頁的數(shù)據(jù)的對應關(guān)系。
本發(fā)明實施例提供一種超文本標記語HTTP服務器,其特征在于,包括:
接收模塊,用于接收網(wǎng)絡(luò)分析器發(fā)送的網(wǎng)站資源請求消息,所述網(wǎng)站資源請求消息攜帶網(wǎng)站資源的URL地址;
查找模塊,用于查找所述URL地址對應的數(shù)據(jù);
發(fā)送模塊,用于將查找到的數(shù)據(jù)發(fā)送給所述網(wǎng)絡(luò)分析器。
可選地,所述查找模塊包括:
生成單元,用于根據(jù)URL地址按照指定算法生成文件名;
查找單元,用于查找所述文件名對應的數(shù)據(jù)。
可選地,所述HTTP服務器還包括:
生成模塊,用于根據(jù)對應網(wǎng)頁的URL地址按照所述指定算法生成文件名;
存儲模塊,用于存儲所述文件名與所述對應網(wǎng)頁的數(shù)據(jù)的對應關(guān)系。
綜上,本發(fā)明實施例提供一種網(wǎng)頁處理方法、網(wǎng)絡(luò)分析器及HTTP服務器,可以有效檢測出網(wǎng)頁惡意代碼,有利于提高威脅檢測的檢出率。
附圖說明
圖1為相關(guān)技術(shù)的處理網(wǎng)頁分片的示意圖;
圖2為本發(fā)明實施例的網(wǎng)絡(luò)分析器側(cè)的一種網(wǎng)頁處理方法的流程圖;
圖3為圖2中步驟11的流程圖;
圖4為本發(fā)明實施例的HTTP服務器側(cè)的一種處理網(wǎng)頁的方法的流程圖;
圖5為圖4中步驟22的流程圖;
圖6為本發(fā)明實施例的處理網(wǎng)頁分片的示意圖;
圖7為本發(fā)明應用示例的一種網(wǎng)頁處理方法的流程圖;
圖8為本發(fā)明實施例三的網(wǎng)絡(luò)分析器的示意圖;
圖9為本發(fā)明實施例四的網(wǎng)絡(luò)分析器的示意圖;
圖10為本發(fā)明實施例五的HTTP服務器的示意圖;
圖11為本發(fā)明實施例六的HTTP服務器的示意圖;
圖12為本發(fā)明實施例七的HTTP服務器的示意圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,下文中將結(jié)合附圖對本發(fā)明的實施例進行詳細說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。
實施例一
圖2為本發(fā)明實施例的網(wǎng)絡(luò)分析器側(cè)的一種網(wǎng)頁處理方法的流程圖,如圖2所示,本實施例的一種網(wǎng)頁處理方法包括:
步驟11、網(wǎng)絡(luò)分析器收集待檢測頁面包括的所有子頁面和子資源的數(shù)據(jù);
步驟12、網(wǎng)絡(luò)分析器將收集到的所述所有子頁面和子資源的數(shù)據(jù)發(fā)送給檢測模塊。
本實施例的方法中,網(wǎng)絡(luò)分析器收集到待檢測頁面所包括的所有子頁面及子資源的數(shù)據(jù)后,再統(tǒng)一發(fā)送給檢測模塊進行檢測,這樣可以有效檢測出網(wǎng)頁惡意代碼,有利于提高威脅檢測的檢出率。
在本實施例中,如圖3所示,所述步驟11可以包括:
步驟111、網(wǎng)絡(luò)分析器接收到所述待檢測頁面的統(tǒng)一資源定位符URL地址后,解析所述待檢測頁面,當解析出所述待檢測頁面包括子頁面或子資源時,向超文本標記語HTTP服務器發(fā)送網(wǎng)站資源請求消息,攜帶所述子頁面或所述子資源的URL地址;
步驟112、網(wǎng)絡(luò)分析器收集所述HTTP服務器返回所述待檢測頁面包括的所有子頁面和子資源的數(shù)據(jù)。
實施例二
圖4為本發(fā)明實施例的HTTP服務器側(cè)的一種處理網(wǎng)頁的方法的流程圖,如圖4所示,本實施例的方法包括:
步驟21、HTTP服務器接收網(wǎng)絡(luò)分析器發(fā)送的網(wǎng)站資源請求消息,所述網(wǎng)站資源請求消息攜帶網(wǎng)站資源的URL地址;
步驟22、HTTP服務器查找所述URL地址對應的數(shù)據(jù);
步驟23、HTTP服務器將查找到的數(shù)據(jù)發(fā)送給所述網(wǎng)絡(luò)分析器。
本實施例中,如圖5所示,所述步驟22可以包括:
步驟221、HTTP服務器根據(jù)URL地址按照指定算法生成文件名;
步驟222、HTTP服務器查找所述文件名對應的數(shù)據(jù)。
在本實施例中,所述文件名對應的數(shù)據(jù)是所述HTTP服務器預先存儲的;
所述HTTP服務器根據(jù)對應網(wǎng)頁的URL地址按照所述指定算法生成文件名,然后存儲所述文件名與所述對應網(wǎng)頁的數(shù)據(jù)的對應關(guān)系。
如圖6所示,本發(fā)明實施例利用WEB Parser(網(wǎng)絡(luò)分析器)、HTTP Proxy(代理)和HTTP Server(服務器)相結(jié)合,WEB Parser通過HTTP Proxy向HTTP Server請求網(wǎng)頁對應的資源,HTTP Server通過URL(Uniform/Universal Resource Locator,統(tǒng)一資源定位符)到文件名映射將資源URL對應的數(shù)據(jù)返回給WEB Parser。WEB Parser在收集到完整網(wǎng)頁及資源后,再一起送檢測模塊進行檢測。
HTTP Server接收到的瀏覽器請求為URL(Universal Resource Locator,統(tǒng)一資源定位符)地址,HTTP Server根據(jù)URL地址按指定算法計算出一個字符串,根據(jù)這個字符串在磁盤上查找文件名為這個字符串的文件。這個文件是預先離線根據(jù)網(wǎng)頁原URL地址,用所述指定算法計算出文件名將網(wǎng)頁存儲到磁盤上的。
由于網(wǎng)頁有分片的特征,網(wǎng)頁惡意代碼也可能分片,分別存儲在不同的幾個文件里。只有將這幾個文件整合在一起惡意代碼才能執(zhí)行和被檢測到。傳統(tǒng)的離線檢測方式無有效的分片整合手段,都是單個網(wǎng)頁進行檢測,針對分片的情況無法檢測。而本申請實現(xiàn)了網(wǎng)頁分片的收集,收集到完整的分片后,將有利于提高威脅檢測的檢出率。
以下以一應用示例對本申請的一種網(wǎng)頁處理方法進行詳細的說明。如圖7所示,本應用示例的方法包括以下步驟:
步驟101、HTTP Server根據(jù)待檢測的網(wǎng)頁及資源的URL按如下規(guī)則計算出文件名,用該文件名對待檢測的網(wǎng)頁及資源的數(shù)據(jù)進行命名存儲;
文件名=hex-enc(md5(URL))。
hex-enc(md5(URL))表示先計算URL地址這個字符串的MD5值,再對長為16字節(jié)的MD5值做16進制編碼,生成一個長度為32個字符的可顯示字符串。
該計算公式建立了一個從URL到文件名的一個1對1的對應關(guān)系。由于URL里可能包括一些特殊字符和URL長度超長等特點,URL不適合直接作為文件名,因此本方案采用此算法將URL進行轉(zhuǎn)換后,用新生成的字符串作為文件名
目前本申請采用上述算法來生成文件名,也可以用其他算法,只要所采用的算法能實現(xiàn)URL生成文件名字符串為1對1的關(guān)系即可,即不同的URL地址生成不同的文件名字符串,相同的URL地址生成相同的文件名字符串。
步驟102、WEB Parser接收網(wǎng)頁主頁面(html)URL地址,解析頁面數(shù)據(jù);
WEB Parser接收到主頁面URL地址后,解析頁面數(shù)據(jù),分析出其鏈接的子頁面和其他資源,其他資源例如包括頁面引用的腳本(Javascript)、樣式表(CSS)、圖片(jpg,gif)等
WEB Parser每分析出一個子頁面或子資源后,將子頁面或子資源的URL地址發(fā)送給HTTP Server。
步驟103、WEB Parser通過HTTP Proxy向HTTP Server發(fā)送網(wǎng)站資源請求消息;
所述網(wǎng)站資源請求攜帶一個子網(wǎng)頁或一個子資源的URL地址。一次請求只有一個URL地址,比如一個網(wǎng)頁包括5個子網(wǎng)頁和3個Javascript腳本,則WEB Parser會向HTTP Server請求9次。
步驟104、HTTP Server接收到網(wǎng)站資源請求消息后,根據(jù)網(wǎng)站資源請求消息攜帶的URL地址,采用同步驟101的規(guī)則計算出文件名,根據(jù)計算出的文件名查找對應的數(shù)據(jù);
文件名=hex-enc(md5(URL))。
步驟105、HTTP Server將查找到的對應文件名的數(shù)據(jù)返回給WEB Parser;
步驟106、WEB Parser繼續(xù)解析子資源,提取子資源鏈接;
如果有子資源鏈接,重復步驟103–10 6步;
步驟107、WEB Parser獲取到所有網(wǎng)頁分片資源后送檢測模塊進行檢測。
實施例三
圖8為本發(fā)明實施例的網(wǎng)絡(luò)分析器的示意圖,如圖8所示,本實施例的網(wǎng)絡(luò)分析器700包括:
收集模塊710,用于收集待檢測頁面包括的所有子頁面和子資源的數(shù)據(jù);
發(fā)送模塊720,用于將收集到的所述所有子頁面和子資源的數(shù)據(jù)發(fā)送給檢測模塊。
本實施例中,網(wǎng)絡(luò)分析器收集到待檢測頁面所包括的所有子頁面及子資源的數(shù)據(jù)后,再統(tǒng)一發(fā)送給檢測模塊進行檢測,這樣可以有效檢測出網(wǎng)頁惡意代碼,有利于提高威脅檢測的檢出率。
實施例四
如圖9所示,本實施例的收集模塊710包括:
解析單元711,用于接收到所述待檢測頁面的統(tǒng)一資源定位符URL地址后,解析所述待檢測頁面,當解析出所述待檢測頁面包括子頁面或子資源時,將所述子頁面或所述子資源的URL地址發(fā)送給超文本標記語HTTP服務器;
收集單元712,用于收集所述HTTP服務器返回所述待檢測頁面包括的所有子頁面和子資源的數(shù)據(jù)。
實施例五
圖10為本發(fā)明實施例的HTTP服務器的示意圖,如圖10所示,本實施例的HTTP服務器800包括:
接收模塊810,用于接收網(wǎng)絡(luò)分析器發(fā)送的網(wǎng)站資源請求消息,所述網(wǎng)站資源請求消息攜帶網(wǎng)站資源的URL地址;
查找模塊820,用于查找所述URL地址對應的數(shù)據(jù);
發(fā)送模塊830,用于將查找到的數(shù)據(jù)發(fā)送給所述網(wǎng)絡(luò)分析器。
實施例六
如圖11所示,查找模塊820包括:
生成單元821,用于根據(jù)URL地址按照指定算法生成文件名;
查找單元822,用于查找所述文件名對應的數(shù)據(jù)。
實施例七
如圖12所示,本實施例的HTTP服務器800還包括:
生成模塊840,用于根據(jù)對應網(wǎng)頁的URL地址按照所述指定算法生成文件名;
存儲模塊850,用于存儲所述文件名與所述對應網(wǎng)頁的數(shù)據(jù)的對應關(guān)系。
本發(fā)明實施例還提供了一種計算機可讀存儲介質(zhì),其存儲有計算機可執(zhí)行指令,所述計算機可執(zhí)行指令被執(zhí)行時實現(xiàn)所述網(wǎng)頁處理方法。
需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機,計算機,服務器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。