專利名稱:基于統(tǒng)計(jì)特征的網(wǎng)頁惡意腳本檢測(cè)方法
技術(shù)領(lǐng)域:
本發(fā)明專利屬于計(jì)算機(jī)安全領(lǐng)域,主要利用惡意腳本中的統(tǒng)計(jì)特征快速、準(zhǔn)確地檢測(cè)網(wǎng)頁中是否含有惡意腳本,從而實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)中的有害網(wǎng)頁進(jìn)行快速檢測(cè),并預(yù)先阻攔惡意腳本的運(yùn)行,為上網(wǎng)用戶提供安全的網(wǎng)絡(luò)環(huán)境。
背景技術(shù):
計(jì)算機(jī)病毒、木馬、間諜軟件和惡意代碼是近幾年來計(jì)算機(jī)網(wǎng)絡(luò)最主要的安全威脅。在計(jì)算機(jī)病毒、木馬、間諜軟件和惡意代碼的傳播途徑中除垃圾郵件外,還有一條重要的途徑就是利用構(gòu)造特殊的網(wǎng)頁將病毒、木馬傳播到訪問該網(wǎng)頁的用戶計(jì)算機(jī)中。這種網(wǎng)頁主要利用操作系統(tǒng)、瀏覽器、插件等的各種漏洞將可執(zhí)行代碼傳播到用戶計(jì)算機(jī)上進(jìn)行執(zhí)行,或利用系統(tǒng)中的解析器、控件的執(zhí)行權(quán)限將網(wǎng)頁中的惡意代碼運(yùn)行。由于這些特殊網(wǎng)頁的配置和編碼較為復(fù)雜,并且為了能夠躲避殺毒軟件查殺,大多由人工配置并且采用第三方軟件進(jìn)行加密變形處理,因而成為黑客用來傳播木馬程序最為有效的方法。
網(wǎng)頁木馬即利用網(wǎng)頁代碼來傳播的木馬,本質(zhì)在于網(wǎng)頁,而非木馬本身。這些特殊網(wǎng)頁通常是將木馬程序的執(zhí)行代碼編碼成為網(wǎng)頁的組成部分,并配合特殊網(wǎng)頁代碼來激活木馬程序執(zhí)行,因此在黑客群體和殺毒軟件公司、網(wǎng)絡(luò)安全防御單位將其稱為網(wǎng)頁木馬。
2004年6月末,殺毒軟件公司從病毒的發(fā)作數(shù)量、危害程度綜合考慮,總結(jié)并發(fā)布了2004年十大病毒及病毒發(fā)展趨勢(shì)報(bào)告。報(bào)告結(jié)果顯示間諜軟件、QQ木馬和網(wǎng)絡(luò)游戲木馬等網(wǎng)頁木馬成為熱點(diǎn)。雖然木馬類病毒在傳播數(shù)量上還不及網(wǎng)絡(luò)蠕蟲,但其越來越明顯的盜竊特性,會(huì)給受害用戶造成更大更直接的損失。
2005年8月3日中國專業(yè)反病毒廠商之一日月光華軟件公司官方網(wǎng)站(中國殺毒網(wǎng)http://www.viruschina.com/)遭到黑客襲擊,網(wǎng)站被篡改,并攜帶病毒,經(jīng)過反病毒廠商測(cè)試該網(wǎng)站共有三個(gè)病毒Exploit.HTML.mht.bb、Backdoor.PcShare.5.r和trojan.PSW.LMIR.U,網(wǎng)民瀏覽后電腦可能被植入木馬,而被黑客控制。這些病毒和木馬程序的傳播靠的就是網(wǎng)頁木馬。
在對(duì)網(wǎng)頁木馬的檢測(cè)中殺毒軟件公司積累了大量的經(jīng)驗(yàn)和特征碼,然而系統(tǒng)漏洞、瀏覽器漏洞和第三方插件的漏洞層出不窮,而且入侵者也在不斷地對(duì)網(wǎng)頁木馬進(jìn)行更新升級(jí),并且采用加密和插入干擾字符的方法來躲避檢測(cè)。用戶要躲避網(wǎng)頁木馬的攻擊,必須不斷的安裝補(bǔ)丁程序或者升級(jí)系統(tǒng)。但是每年每月甚至每一天都會(huì)有新的漏洞出現(xiàn),就在2005年7月,國際報(bào)道美國微軟稱黑客正在瘋狂地試圖利用Windows中的兩處嚴(yán)重安全缺陷。其中的一個(gè)缺陷影響″色彩管理模塊″—處理顏色的一個(gè)Windows組件;另一個(gè)缺陷與微軟″Java虛擬機(jī)″的JView Profiler部分有關(guān)。微軟稱,該缺陷可以被用于控制用戶的個(gè)人電腦。在對(duì)漏洞信息的獲取上用戶和黑客是不對(duì)等的,黑客會(huì)最先知道和利用漏洞,而用戶不可能得到及時(shí)升級(jí),這些用戶的計(jì)算機(jī)將長(zhǎng)期受到黑客的控制。因此切斷網(wǎng)絡(luò)木馬的傳播途徑是防范木馬最有效的方法,網(wǎng)頁木馬檢測(cè)最主要的是要能檢測(cè)出隱藏在網(wǎng)頁代碼中的漏洞利用代碼。隨著新的漏洞的出現(xiàn)就會(huì)有新的網(wǎng)頁木馬產(chǎn)生,所以檢測(cè)、查殺網(wǎng)頁木馬將是個(gè)長(zhǎng)期、艱巨的任務(wù)。
傳統(tǒng)的殺毒技術(shù)對(duì)病毒、木馬和惡意網(wǎng)頁的檢測(cè)主要靠特征碼匹配檢測(cè)的方法,這種方法對(duì)特征固定不變傳播的病毒程序十分有效但對(duì)經(jīng)過加密、插入干擾處理的網(wǎng)頁腳本則沒有效果,對(duì)于新出的漏洞利用網(wǎng)頁腳本和新出的病毒、木馬程序的檢測(cè)就更是無能為力。本發(fā)明針對(duì)網(wǎng)頁木馬的構(gòu)造原理和本質(zhì)特征來進(jìn)行檢測(cè),能有效地檢測(cè)網(wǎng)頁木馬。
發(fā)明內(nèi)容
本發(fā)明的目的是查找出隱藏的惡意網(wǎng)頁代碼、凈化網(wǎng)絡(luò)環(huán)境、保護(hù)網(wǎng)絡(luò)用戶而提出的一種統(tǒng)計(jì)特征的網(wǎng)頁惡意腳本的檢測(cè)方法,從而可快速判斷惡意腳本的存在,對(duì)其進(jìn)行預(yù)先阻攔。
本發(fā)明的基本原理是利用惡意網(wǎng)頁代碼必定經(jīng)過加密處理,而加密處理后的網(wǎng)頁中的正常字符和非正常字符的比例有著明顯的差異,所以利用網(wǎng)頁的字符統(tǒng)計(jì)特征來檢測(cè)惡意腳本。本發(fā)明提出的基于統(tǒng)計(jì)特征的網(wǎng)頁惡意腳本檢測(cè)方法,包括以下幾個(gè)步驟(1).清除網(wǎng)頁中的干擾語句。第一步是清除網(wǎng)頁中的00碼。所謂00碼是指ASCII值為00的字符,在網(wǎng)頁中加入00碼并不影響網(wǎng)頁的運(yùn)行,但會(huì)影響對(duì)惡意腳本的檢測(cè),所以在統(tǒng)計(jì)工作進(jìn)行之前,需要將網(wǎng)頁中的00碼清除掉。第二步是清除網(wǎng)頁中的注釋語句。網(wǎng)頁中的注釋語句是以′*/′開頭以′*/′結(jié)尾,或以′//′開頭的語句,它是對(duì)網(wǎng)頁中某段代碼的說明,在網(wǎng)頁運(yùn)行時(shí)不起任何作用,但會(huì)影響對(duì)非正常字符的統(tǒng)計(jì),所以需要將網(wǎng)頁中的注釋語句清除掉。第三步是清除網(wǎng)頁中多余的空格和橫向跳格(Tab)以及多余的回車和換行。
(2).統(tǒng)計(jì)網(wǎng)頁中的非正常字符。未經(jīng)過加密處理的正常網(wǎng)頁中的字符除了正常的斷句的標(biāo)點(diǎn)符號(hào)以及空格外,多數(shù)字符都是英文字母,而經(jīng)過加密處理的惡意腳本中的字符多為一些難以識(shí)別的亂碼,因此,可以通過統(tǒng)計(jì)網(wǎng)頁中的非正常字符來判斷網(wǎng)頁中是否有惡意腳本。第一步需要獲取網(wǎng)頁中的javascript腳本文件。第二步是對(duì)網(wǎng)頁中的非正常字符進(jìn)行統(tǒng)計(jì)。根據(jù)對(duì)大量網(wǎng)頁的分析,總結(jié)出的異常字符大致有%(%所占比例會(huì)占到腳本文件的20%左右,該比例適用于Unescape加密。)、#、$、%、&、*、+、,、(、)、^、~(適用于encode加密,所占比例為10%左右。)。對(duì)統(tǒng)計(jì)結(jié)果進(jìn)行分析,當(dāng)異常字符所占比例大于特定比例(例如%所占比例大于20%,即可判斷該腳本經(jīng)過Unescape加密),就可以判定該腳本經(jīng)過加密處理,可能為惡意腳本。
(3).統(tǒng)計(jì)字符間跨度。所謂字符間跨度是指相鄰字符的ASCII值之差的絕對(duì)值與字符權(quán)重的乘積。未經(jīng)過加密處理的正常網(wǎng)頁內(nèi)容是可以理解的有正常語法、詞法的語言,而經(jīng)過加密處理后的惡意網(wǎng)頁卻是無法正常理解的語言,因此可以對(duì)字符間的跨度進(jìn)行統(tǒng)計(jì),該方法正是利用了正常語法、詞法的特點(diǎn)對(duì)網(wǎng)頁內(nèi)容進(jìn)行分析。第一步需要設(shè)定符合語法詞法習(xí)慣的正常字符跨度。第二步需要判斷網(wǎng)頁中是否包含腳本文件。如果網(wǎng)頁中包含腳本文件的話,就需要對(duì)腳本進(jìn)行提取,并對(duì)腳本進(jìn)行統(tǒng)計(jì);如果不包含腳本文件的話,則需要對(duì)整個(gè)網(wǎng)頁內(nèi)容進(jìn)行統(tǒng)計(jì)。第三步為不同的字符設(shè)置不同的權(quán)重。將英文字母的權(quán)重設(shè)為1,非英文字母的權(quán)重設(shè)為2。第四步開始對(duì)字符間跨度進(jìn)行統(tǒng)計(jì)。在得到每?jī)蓚€(gè)字符間的跨度之后,就可以統(tǒng)計(jì)出字符間的平均跨度。第五步將求出的字符間平均跨度與所設(shè)定的正常字符間跨度26相比較,若超出了正??缍?,就可以判斷該網(wǎng)頁經(jīng)過加密處理,可能為惡意腳本。
(4).創(chuàng)建腳本字典并匹配網(wǎng)頁,通過收集大量正常script腳本創(chuàng)建字典,再與新的網(wǎng)頁進(jìn)行匹配統(tǒng)計(jì)。
(5).設(shè)置單個(gè)方法權(quán)重,將統(tǒng)計(jì)網(wǎng)頁中的非正常字符的權(quán)重設(shè)為3,統(tǒng)計(jì)字符間跨度的權(quán)重設(shè)為5,匹配腳本字典的權(quán)重設(shè)為2。
(6).得出是否為惡意網(wǎng)頁的總置信度。首先設(shè)定置信度5為判斷網(wǎng)頁為正常網(wǎng)頁或惡意網(wǎng)頁的臨界值。若統(tǒng)計(jì)非正常字符的結(jié)果判斷網(wǎng)頁可能為惡意網(wǎng)頁,則置信度為3,統(tǒng)計(jì)字符間跨度判斷網(wǎng)頁可能為惡意網(wǎng)頁的置信度為5,匹配腳本字典判斷網(wǎng)頁可能為惡意網(wǎng)頁的置信度為2,只有當(dāng)這個(gè)置信度之和等于或超出5時(shí),即總置信度超出或等于5時(shí),就可以確定該網(wǎng)頁為惡意網(wǎng)頁。
本發(fā)明提出的利用網(wǎng)頁的字符統(tǒng)計(jì)特征來檢測(cè)惡意腳本的方法,具有以下優(yōu)點(diǎn)(1)本發(fā)明提出的基于統(tǒng)計(jì)特征的網(wǎng)頁惡意腳本檢測(cè)方法,可以檢測(cè)出殺毒軟件不能檢測(cè)出的經(jīng)過加密處理的惡意腳本。
(2)本發(fā)明提出的基于統(tǒng)計(jì)特征的網(wǎng)頁惡意腳本檢測(cè)方法,具有簡(jiǎn)單、易行的特點(diǎn),非常適合用于網(wǎng)絡(luò)安全機(jī)構(gòu)對(duì)網(wǎng)絡(luò)服務(wù)器上的網(wǎng)頁木馬進(jìn)行檢測(cè)。
圖1是基于統(tǒng)計(jì)特征的網(wǎng)頁惡意腳本檢測(cè)方法的總體流程圖。
圖2是清除網(wǎng)頁中的干擾語句流程圖。
圖3是獲取腳本流程圖。
圖4是統(tǒng)計(jì)非正常字符流程圖。
圖5是字符跨度統(tǒng)計(jì)流程圖。
圖6是創(chuàng)建腳本字典及匹配流程圖。
具體實(shí)施例方式
本發(fā)明提出的基于統(tǒng)計(jì)特征的網(wǎng)頁惡意腳本檢測(cè)方法,其總體流程如圖1所示。首先需要清除網(wǎng)頁中的干擾語句。第一步是清除網(wǎng)頁中的00碼。所謂00碼是指ASCII值為00的字符,在網(wǎng)頁中加入00碼并不影響網(wǎng)頁的運(yùn)行,但會(huì)影響對(duì)惡意腳本的檢測(cè),所以在統(tǒng)計(jì)工作進(jìn)行之前,需要將網(wǎng)頁中的00碼清除掉。第二步是清除網(wǎng)頁中的注釋語句。網(wǎng)頁中的注釋語句是以’*/’開頭以’*/’結(jié)尾,或以’//’開頭的語句,它是對(duì)網(wǎng)頁中某段代碼的說明,在網(wǎng)頁運(yùn)行時(shí)不起任何作用,但會(huì)影響對(duì)非正常字符的統(tǒng)計(jì),所以需要將網(wǎng)頁中的注釋語句清除掉。第三步是清除網(wǎng)頁中多余的空格和橫向跳格(Tab)以及多余的回車和換行。清除網(wǎng)頁中的干擾語句的流程如圖2所示。
在清除掉網(wǎng)頁中的干擾語句后就可以對(duì)網(wǎng)頁中的非正常字符進(jìn)行統(tǒng)計(jì)了。未經(jīng)過加密處理的正常網(wǎng)頁中的字符除了正常的斷句的標(biāo)點(diǎn)符號(hào)以及空格外,多數(shù)字符都是英文字母,而經(jīng)過加密處理的惡意腳本中的字符多為一些難以識(shí)別的亂碼,因此,可以通過統(tǒng)計(jì)網(wǎng)頁中的非正常字符來判斷網(wǎng)頁中是否有惡意腳本。第一步需要獲取網(wǎng)頁中的javascript腳本文件。為什么要取得網(wǎng)頁中的腳本文件呢?這是因?yàn)榫W(wǎng)頁加密方法絕大多數(shù)是作用于網(wǎng)頁中的腳本文件的,所以要將網(wǎng)頁中的腳本截取出來進(jìn)行處理。先在網(wǎng)頁中找到script開始標(biāo)志″<SCRIPT″,以及script結(jié)束標(biāo)志″</SCRIPT>″,然后取得script開始標(biāo)志和結(jié)束標(biāo)志之間的內(nèi)容,即javascript腳本內(nèi)容。取得網(wǎng)頁中的javascript腳本文件的流程如圖3所示。第二步是對(duì)網(wǎng)頁中的非正常字符進(jìn)行統(tǒng)計(jì)。根據(jù)對(duì)大量網(wǎng)頁的分析,總結(jié)出的異常字符大致有%(%所占比例會(huì)占到腳本文件的20%左右,該比例適用于Unescape加密。)、#、$、%、&、*、+、,、(、)、^、~(適用于encode加密,所占比例為10%左右。)。對(duì)統(tǒng)計(jì)結(jié)果進(jìn)行分析,當(dāng)異常字符所占比例大于特定比例(例如%所占比例大于20%,即可判斷該腳本經(jīng)過Unescape加密),就可以判定該腳本經(jīng)過加密處理,可能為惡意腳本。對(duì)網(wǎng)頁中的非正常字符進(jìn)行統(tǒng)計(jì)的流程如圖4所示。
對(duì)網(wǎng)頁中的字符間跨度進(jìn)行統(tǒng)計(jì)。。所謂字符間跨度是指相鄰字符的ASCII值之差的絕對(duì)值與字符權(quán)重的乘積。未經(jīng)過加密處理的正常網(wǎng)頁內(nèi)容是可以理解的有正常語法、詞法的語言,而經(jīng)過加密處理后的惡意網(wǎng)頁卻是無法正常理解的語言,因此可以對(duì)字符間的跨度進(jìn)行統(tǒng)計(jì),該方法正是利用了正常語法、詞法的特點(diǎn)對(duì)網(wǎng)頁內(nèi)容進(jìn)行分析。第一步需要設(shè)定符合語法詞法習(xí)慣的正常字符跨度。根據(jù)對(duì)正常未加密網(wǎng)頁的分析,首先正常字符的ASCII值是在65-90以及97-122之間,因此正常字符間的跨度應(yīng)該設(shè)為26。在確定了正常字符間跨度之后,第二步需要判斷網(wǎng)頁中是否包含腳本文件。如果網(wǎng)頁中包含腳本文件的話,就需要對(duì)腳本進(jìn)行提取,并對(duì)腳本進(jìn)行統(tǒng)計(jì);如果不包含腳本文件的話,則需要對(duì)整個(gè)網(wǎng)頁內(nèi)容進(jìn)行統(tǒng)計(jì)。第三步為不同的字符設(shè)置不同的權(quán)重。將英文字母的權(quán)重設(shè)為1,非英文字母的權(quán)重設(shè)為2。第四步開始對(duì)字符間跨度進(jìn)行統(tǒng)計(jì)。首先得到所統(tǒng)計(jì)網(wǎng)頁或腳本的字符總數(shù)。然后判斷每個(gè)字符是否為英文字母,并求出字符間的ASCII差值,如果相鄰兩字符中至少有一個(gè)為非英文字母,則這兩個(gè)字符間的跨度為字符間ASCII差值乘以非英文字母的權(quán)重2;如果相鄰兩字符均為英文字母,則這兩個(gè)字符間的跨度為字符間ASCII差值乘以英文字母的權(quán)重1。在得到每?jī)蓚€(gè)字符間的跨度之后,就可以統(tǒng)計(jì)出字符間的平均跨度,即相鄰兩字符間跨度之和與總字符數(shù)相除。第五步將求出的字符間平均跨度與所設(shè)定的正常字符間跨度26相比較,若超出了正??缍?,就可以判斷該網(wǎng)頁經(jīng)過加密處理,可能為惡意腳本。對(duì)字符間跨度進(jìn)行統(tǒng)計(jì)的流程如圖5所示。
創(chuàng)建腳本字典并匹配網(wǎng)頁。通過收集大量正常script腳本創(chuàng)建字典,再與新的網(wǎng)頁進(jìn)行匹配統(tǒng)計(jì)。腳本字典匹配方法是通過收集大量正常javascript腳本,然后對(duì)這些正常腳本進(jìn)行分析,將正常腳本中所使用到的單詞放入腳本字典中。腳本字典創(chuàng)建完成后,如需要檢測(cè)某一未知網(wǎng)頁時(shí),只需要將該網(wǎng)頁腳本的單詞與腳本字典對(duì)照匹配即可,如果與腳本字典中所收集的單詞不相符的詞語的出現(xiàn)比例達(dá)到或超過10%,則可以判斷所檢測(cè)的網(wǎng)頁可能為惡意腳本加密網(wǎng)頁。創(chuàng)建腳本字典及匹配流程如圖6所示。
接下來需要對(duì)以上三種方法設(shè)置單個(gè)方法的權(quán)重。因?yàn)樵诮y(tǒng)計(jì)網(wǎng)頁中的非正常字符、統(tǒng)計(jì)字符間跨度以及匹配腳本字典這三中方法中,每種方法對(duì)惡意腳本的檢測(cè)成功率有所不同,因此需要為這三種方法設(shè)置權(quán)重。將統(tǒng)計(jì)網(wǎng)頁中的非正常字符的權(quán)重設(shè)為3,統(tǒng)計(jì)字符間跨度的權(quán)重設(shè)為5,匹配腳本字典的權(quán)重設(shè)為2。
最后就可以得出被檢測(cè)網(wǎng)頁是否為惡意網(wǎng)頁的總置信度。首先設(shè)定置信度5為判斷網(wǎng)頁為正常網(wǎng)頁或惡意網(wǎng)頁的臨界值。若統(tǒng)計(jì)非正常字符的結(jié)果判斷網(wǎng)頁可能為惡意網(wǎng)頁,則置信度為3,統(tǒng)計(jì)字符間跨度判斷網(wǎng)頁可能為惡意網(wǎng)頁的置信度為5,匹配腳本字典判斷網(wǎng)頁可能為惡意網(wǎng)頁的置信度為2,只有當(dāng)這個(gè)置信度之和等于或超出5時(shí),即總置信度超出或等于5時(shí),就可以確定該網(wǎng)頁為惡意網(wǎng)頁。
權(quán)利要求
1.一種基于統(tǒng)計(jì)特征的網(wǎng)頁惡意腳本檢測(cè)方法,其特征在于利用惡意腳本中的統(tǒng)計(jì)特征快速、準(zhǔn)確地檢測(cè)網(wǎng)頁中是否含有惡意腳本,從而實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)中的有害網(wǎng)頁進(jìn)行快速檢測(cè),并預(yù)先阻攔惡意腳本的運(yùn)行,為上網(wǎng)用戶提供安全的網(wǎng)絡(luò)環(huán)境。其處理的具體方法是a.清除網(wǎng)頁中的干擾語句以便于統(tǒng)計(jì);b.統(tǒng)計(jì)網(wǎng)頁中的非正常字符的出現(xiàn)概率;c.對(duì)相鄰字符間的跨度進(jìn)行統(tǒng)計(jì);d.創(chuàng)建腳本字典并統(tǒng)計(jì)網(wǎng)頁與腳本字典的匹配結(jié)果;e.為以上三種統(tǒng)計(jì)方法設(shè)置單個(gè)方法的權(quán)重;f.得出待檢測(cè)網(wǎng)頁是否含有惡意腳本的總置信度;g.置信度之和等于或超出5時(shí),就可以確定該網(wǎng)頁為含有惡意腳本的網(wǎng)頁。
2.如權(quán)利要求1所述的一種統(tǒng)計(jì)特征的網(wǎng)頁惡意腳本檢測(cè)方法,其特征在于包括清除網(wǎng)頁中的00碼,清除網(wǎng)頁中的注釋語句,清除網(wǎng)頁中多余的空格和橫向跳格(Tab)以及多余的回車和換行。
3.如權(quán)利要求1所述的一種基于統(tǒng)計(jì)特征的網(wǎng)頁惡意腳本檢測(cè)方法,其特征在于統(tǒng)計(jì)網(wǎng)頁中的非正常字符的出現(xiàn)概率中,第一步需要獲取網(wǎng)頁中的javascript腳本文件;第二步是對(duì)網(wǎng)頁中的非正常字符進(jìn)行統(tǒng)計(jì);根據(jù)對(duì)大量網(wǎng)頁的分析,總結(jié)出的異常字符大致有%(%所占比例會(huì)占到腳本文件的20%左右,該比例適用于Unescape加密)、#、$、%、&、*、+、,、(、)、^、~(適用于encode加密,所占比例為10%左右);對(duì)統(tǒng)計(jì)結(jié)果進(jìn)行分析,當(dāng)異常字符所占比例大于特定比例(例如%所占比例大于20%,即可判斷該腳本經(jīng)過Unescape加密),就可以判定該腳本經(jīng)過加密處理,可能為惡意腳本。
4.如權(quán)利要求1所述的一種基于統(tǒng)計(jì)特征的網(wǎng)頁惡意腳本檢測(cè)方法,其特征在于對(duì)相鄰字符間的跨度進(jìn)行統(tǒng)計(jì),所謂字符間跨度是指相鄰字符的ASCII值之差的絕對(duì)值與字符權(quán)重的乘積,第一步需要設(shè)定符合語法詞法習(xí)慣的正常字符跨度為26;第二步需要判斷網(wǎng)頁中是否包含腳本文件;如果網(wǎng)頁中包含腳本文件的話,就需要對(duì)腳本進(jìn)行提取,并對(duì)腳本進(jìn)行統(tǒng)計(jì);如果不包含腳本文件的話,則需要對(duì)整個(gè)網(wǎng)頁內(nèi)容進(jìn)行統(tǒng)計(jì);第三步為不同的字符設(shè)置不同的權(quán)重,將英文字母的權(quán)重設(shè)為1,非英文字母的權(quán)重設(shè)為2;第四步開始對(duì)字符間跨度進(jìn)行統(tǒng)計(jì),在得到每?jī)蓚€(gè)字符間的跨度之后,就可以統(tǒng)計(jì)出字符間的平均跨度;第五步將求出的字符間平均跨度與所設(shè)定的正常字符間跨度26相比較,若超出了正常跨度,就可以判斷該網(wǎng)頁經(jīng)過加密處理,可能為惡意腳本。
5.如權(quán)利要求1所述的一種基于統(tǒng)計(jì)特征的網(wǎng)頁惡意腳本檢測(cè)方法,其特征在于創(chuàng)建腳本字典并統(tǒng)計(jì)網(wǎng)頁與腳本字典的匹配結(jié)果通過收集大量正常script腳本創(chuàng)建字典,再與新的網(wǎng)頁進(jìn)行匹配統(tǒng)計(jì);腳本字典匹配方法是通過收集大量正常javasript腳本,然后對(duì)這些正常腳本進(jìn)行分析,將正常腳本中所使用到的單詞放入腳本字典中;腳本字典創(chuàng)建完成后,如需要檢測(cè)某一未知網(wǎng)頁時(shí),只需要將該網(wǎng)頁腳本的單詞與腳本字典對(duì)照匹配即可,如果與腳本字典中所收集的單詞不相符的詞語的出現(xiàn)比例達(dá)到或超過10%,則可以判斷所檢測(cè)的網(wǎng)頁可能為惡意腳本加密網(wǎng)頁。
6.如權(quán)利要求1所述的一種基于統(tǒng)計(jì)特征的網(wǎng)頁惡意腳本檢測(cè)方法,其特征在于為權(quán)利要求1中的b,c,d三種方法設(shè)置權(quán)重并得出待檢測(cè)網(wǎng)頁是否含有惡意腳本的總置信度,將統(tǒng)計(jì)網(wǎng)頁中的非正常字符的權(quán)重設(shè)為3,統(tǒng)計(jì)字符間跨度的權(quán)重設(shè)為5,匹配腳本字典的權(quán)重設(shè)為2;首先設(shè)定置信度5為判斷網(wǎng)頁為正常網(wǎng)頁或惡意網(wǎng)頁的臨界值;若統(tǒng)計(jì)非正常字符的結(jié)果判斷網(wǎng)頁可能為惡意網(wǎng)頁,則置信度為3,統(tǒng)計(jì)字符間跨度判斷網(wǎng)頁可能為惡意網(wǎng)頁的置信度為5,匹配腳本字典判斷網(wǎng)頁可能為惡意網(wǎng)頁的置信度為2,只有當(dāng)這個(gè)置信度之和等于或超出5時(shí),即總置信度超出或等于5時(shí),就可以確定該網(wǎng)頁為惡意網(wǎng)頁。
全文摘要
本發(fā)明屬于計(jì)算機(jī)安全領(lǐng)域,主要利用惡意腳本中的統(tǒng)計(jì)特征快速、準(zhǔn)確地檢測(cè)網(wǎng)頁中是否含有惡意腳本。本發(fā)明的基本原理是利用惡意網(wǎng)頁代碼必定經(jīng)過處理,而處理后的網(wǎng)頁中的正常字符和非正常字符的比例有著明顯的差異,所以利用網(wǎng)頁的字符統(tǒng)計(jì)特征(包括字符頻率統(tǒng)計(jì)、相鄰字符跨度值統(tǒng)計(jì)、與字典匹配度統(tǒng)計(jì))來檢測(cè)惡意腳本。本發(fā)明用于檢測(cè)網(wǎng)頁中的惡意腳本,從而實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)中的有害網(wǎng)頁進(jìn)行快速檢測(cè),并預(yù)先阻攔惡意腳本的運(yùn)行,為上網(wǎng)用戶提供安全的網(wǎng)絡(luò)環(huán)境。
文檔編號(hào)H04L29/06GK1924866SQ20061015253
公開日2007年3月7日 申請(qǐng)日期2006年9月28日 優(yōu)先權(quán)日2006年9月28日
發(fā)明者陶然, 李志勇, 張昊, 王越, 杜華 申請(qǐng)人:北京理工大學(xué)