基于主動(dòng)技術(shù)的惡意代碼捕獲方法
【專利摘要】一種基于主動(dòng)技術(shù)的惡意代碼捕獲方法,隨機(jī)選擇一個(gè)URL進(jìn)行下載,如果同一頁(yè)面標(biāo)簽內(nèi)同時(shí)出現(xiàn)“width”及“height”二個(gè)關(guān)鍵詞的屬性值都小于10,則記為可疑URL,按照URL抽樣率對(duì)下載的URL頁(yè)面中的URL進(jìn)行抽樣選擇,同時(shí)采用瀏覽器對(duì)可疑URL進(jìn)行訪問(wèn),監(jiān)控瀏覽器的運(yùn)行,如果有代碼下載,同時(shí)發(fā)現(xiàn)系統(tǒng)文件發(fā)生變化、注冊(cè)表項(xiàng)發(fā)生創(chuàng)建和修改變化或者下載的代碼運(yùn)行訪問(wèn)網(wǎng)絡(luò)等三種情況的一種發(fā)生,則將該代碼為惡意代碼,同時(shí)記錄該惡意代碼所處網(wǎng)頁(yè)中的所有URL。本發(fā)明采用不等概率的分段抽樣方法實(shí)現(xiàn)采樣到盡可能多的惡意代碼樣本的網(wǎng)頁(yè),同時(shí)通過(guò)網(wǎng)絡(luò)爬蟲的惡意URL網(wǎng)頁(yè)進(jìn)行引導(dǎo),實(shí)現(xiàn)一個(gè)自主啟發(fā)式的主動(dòng)獲取惡意代碼的過(guò)程。
【專利說(shuō)明】基于主動(dòng)技術(shù)的惡意代碼捕獲方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)安全測(cè)量【技術(shù)領(lǐng)域】,特別是一種基于主動(dòng)技術(shù)的惡意代碼捕獲方法。
【背景技術(shù)】
[0002]互聯(lián)網(wǎng)的出現(xiàn)極大的改變了人們的生活方式和工作習(xí)慣,給人們帶來(lái)了各方面的便利,同時(shí)由于互聯(lián)網(wǎng)的開放性、脆弱性,使得互聯(lián)網(wǎng)的安全問(wèn)題得到日益重視。而惡意代碼已經(jīng)成為網(wǎng)絡(luò)安全最為嚴(yán)重的安全威脅之一,通過(guò)網(wǎng)絡(luò)下載和瀏覽器進(jìn)行傳播成為了惡意代碼的主要傳播方式。這類惡意代碼借助于客戶端應(yīng)用的漏洞和被動(dòng)式觸發(fā)來(lái)感染目標(biāo)主機(jī),具有制作簡(jiǎn)捷、傳播速度快、變種形式多樣、破壞力強(qiáng)等特點(diǎn)。與服務(wù)器端蜜罐系統(tǒng)不同,惡意代碼的泛濫已經(jīng)嚴(yán)重威脅信息系統(tǒng)的安全,影響了互聯(lián)網(wǎng)正常有序的發(fā)展。
[0003]目前,蜜罐技術(shù)在互聯(lián)網(wǎng)安全威脅檢測(cè)上得到了廣泛的應(yīng)用,已經(jīng)成為了主流的惡意代碼捕獲技術(shù)。蜜罐技術(shù)本質(zhì)上是一種對(duì)攻擊方法進(jìn)行欺騙的技術(shù),通過(guò)布置一些作為誘餌的主機(jī)、網(wǎng)絡(luò)服務(wù)或者信息,誘使攻擊方對(duì)它們實(shí)施攻擊,從而對(duì)攻擊行為進(jìn)行捕獲和分析,了解攻擊攻擊方使用的攻擊和方法。根據(jù)蜜罐系統(tǒng)與攻擊者的交互程度可以把蜜罐技術(shù)劃分為低交互蜜罐技術(shù)和高交互蜜罐技術(shù)。低交互蜜罐一般采用模擬或仿真網(wǎng)絡(luò)服務(wù)的方式,提供有限的交互,所以低交互式蜜罐的部署和維護(hù)比較簡(jiǎn)單,也相對(duì)安全。DTK、Honeyd, Nepenthes都屬于低交互蜜罐。高交互蜜罐采用真實(shí)的操作系統(tǒng)搭建,具有良好的誘騙性和擴(kuò)展性,能夠和攻擊者進(jìn)行充分的交互,可以獲得大量的信息,但是風(fēng)險(xiǎn)性也很高。HoneyBow在高交互蜜罐系統(tǒng)上直接構(gòu)建、通過(guò)文件系統(tǒng)實(shí)時(shí)監(jiān)控和文件列表交叉對(duì)比的方法捕獲惡意感染高交互式蜜罐的惡意代碼樣本。HoneyBow使用了真實(shí)的存有安全漏洞的服務(wù)對(duì)惡意代碼進(jìn)行誘騙,所捕獲的代碼會(huì)更全面,而且能夠捕獲未知惡意樣本。Argos蜜罐則基于Qemu構(gòu)建,Qemu是一個(gè)x86仿真器,能夠?qū)φ媸堑腉uest操作系統(tǒng)實(shí)施指令操作和監(jiān)控,利用擴(kuò)展動(dòng)態(tài)污點(diǎn)分析技術(shù)對(duì)運(yùn)行時(shí)刻的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行分析,自動(dòng)化的提取出網(wǎng)絡(luò)攻擊特征。
[0004]為了高效準(zhǔn)確的發(fā)現(xiàn)惡意代碼,基于惡意代碼的傳播特點(diǎn),結(jié)合網(wǎng)絡(luò)爬蟲和客戶端蜜罐的技術(shù),本發(fā)明設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于主動(dòng)技術(shù)的惡意代碼捕獲系統(tǒng)。該系統(tǒng)通過(guò)網(wǎng)絡(luò)爬蟲來(lái)搜索互聯(lián)網(wǎng)資源,并結(jié)合主題相關(guān)性分析和惡意網(wǎng)頁(yè)特征碼匹配來(lái)獲取可疑的惡意URL數(shù)據(jù)源,利用高交互式客戶端蜜罐內(nèi)的客戶端引擎自動(dòng)化啟動(dòng)IE瀏覽器,訪問(wèn)可疑的URL地址,誘導(dǎo)目標(biāo)網(wǎng)站的惡意代碼對(duì)客戶端系統(tǒng)進(jìn)行攻擊,通過(guò)監(jiān)控惡意網(wǎng)頁(yè)下載行為來(lái)捕獲惡意代碼。蜜罐捕獲系統(tǒng)對(duì)部署的環(huán)境有很高的要求,通常需要部署在公共網(wǎng)絡(luò)中,需要消耗很多資源。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供一種基于主動(dòng)技術(shù)的惡意代碼捕獲方法。
[0006]本發(fā)明采用如下技術(shù)方案: 一種基于主動(dòng)技術(shù)的惡意代碼捕獲方法,其特征在于:
步驟一:設(shè)置種子URL,設(shè)置未下載URL列表,設(shè)置已下載URL列表,設(shè)置下載惡意代碼總數(shù),設(shè)置惡意代碼數(shù)據(jù)庫(kù),設(shè)置URL抽樣率,設(shè)置已下載惡意代碼數(shù),已下載惡意代碼數(shù)初始值為O,進(jìn)入步驟二 ;
步驟二:將種子URL加入到未下載URL列表中,進(jìn)入步驟三;
步驟三:如果未下載URL列表中為空,退出方法;否則從未下載URL列表中隨機(jī)選擇一個(gè)URL進(jìn)行下載,進(jìn)入步驟四;
步驟四:在未下載URL列表中刪除所選URL,同時(shí)將所選URL加入到已經(jīng)下載URL列表中,進(jìn)行步驟五;
步驟五:對(duì)下載的URL頁(yè)面進(jìn)行分析,如果同一頁(yè)面標(biāo)簽內(nèi)同時(shí)出現(xiàn)“width”及“height”二個(gè)關(guān)鍵詞且width和height屬性值都小于10,則記為可疑URL,進(jìn)入步驟六,否則回到步驟三;
步驟六:按照URL抽樣率對(duì)下載的URL頁(yè)面中的URL進(jìn)行抽樣,被抽樣中的URL如果不在已下載URL列表和未下載URL列表中,則加入到未下載URL列表中,進(jìn)入步驟七;
步驟七:采用瀏覽器對(duì)可疑URL進(jìn)行訪問(wèn),監(jiān)控瀏覽器的運(yùn)行,如果有代碼下載,則進(jìn)入步驟八,否則回到步驟三;
步驟八:如果發(fā)現(xiàn)系統(tǒng)文件發(fā)生了增加、刪除或修改變化,進(jìn)入步驟十一,否則進(jìn)入步驟九;
步驟九:如果發(fā)現(xiàn)注冊(cè)表項(xiàng)發(fā)生創(chuàng)建和修改變化,進(jìn)入步驟十一,否則進(jìn)入步驟十;步驟十:利用winpcap系統(tǒng)庫(kù)抓取系統(tǒng)所產(chǎn)生的網(wǎng)絡(luò)報(bào)文,如果下載的代碼運(yùn)行訪問(wèn)網(wǎng)絡(luò),進(jìn)入步驟十一,否則回到步驟三;
步驟十一:將下載的代碼上傳到惡意代碼數(shù)據(jù)庫(kù)中,取出可疑URL網(wǎng)頁(yè)中的所有URL,在已下載URL列表和未下載URL列表中分別查找可疑URL網(wǎng)頁(yè)中的各個(gè)URL,將未記錄于已下載URL列表和未下載URL列表中的可疑URL網(wǎng)頁(yè)中的URL加入到未下載URL列表中,已下載惡意代碼數(shù)增加1,如果已下載惡意代碼數(shù)大于等于下載惡意代碼總數(shù),方法結(jié)束,退出方法;否則回到步驟三。
[0007]與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點(diǎn)及有效效果:
(I)傳統(tǒng)的網(wǎng)絡(luò)爬蟲目標(biāo)是獲取更多的網(wǎng)頁(yè),而本發(fā)明的目的是為了能夠獲取具有惡意代碼的網(wǎng)頁(yè),以便從這些含有惡意代碼的網(wǎng)頁(yè)中提取惡意代碼,本發(fā)明采用不等概率的分段抽樣方法,對(duì)非可疑網(wǎng)頁(yè)中的URL全部丟棄,可疑的網(wǎng)頁(yè)中的URL進(jìn)行隨機(jī)抽樣,對(duì)于確定的惡意網(wǎng)頁(yè)中的URL進(jìn)行全部采樣的方法,因此在資源可控制的條件下,實(shí)現(xiàn)采樣到盡可能多的惡意代碼樣本的網(wǎng)頁(yè)。
[0008](2)傳統(tǒng)獲取惡意代碼的方法是通過(guò)蜜罐,蜜罐方法是一種被動(dòng)的方法,通過(guò)蜜罐被動(dòng)地等待攻擊者對(duì)蜜罐的攻擊,從而獲取攻擊的惡意代碼,這樣使得獲取攻擊所需要的資源多,需要消耗更長(zhǎng)的時(shí)間,本發(fā)明將網(wǎng)絡(luò)爬蟲和客戶端蜜罐技術(shù)相結(jié)合,利用網(wǎng)絡(luò)爬蟲獲取可疑URL網(wǎng)頁(yè),然后根據(jù)利用瀏覽器蜜罐主動(dòng)來(lái)捕獲惡意代碼,主要針對(duì)瀏覽器客戶端可能存在的安全漏洞,通過(guò)網(wǎng)絡(luò)爬蟲的惡意URL網(wǎng)頁(yè)進(jìn)行引導(dǎo),主動(dòng)地啟動(dòng)瀏覽器客戶端軟件去尋找可能的攻擊性行為并分析,實(shí)現(xiàn)惡意代碼的獲取,同時(shí)根據(jù)主動(dòng)識(shí)別的惡意代碼網(wǎng)頁(yè)又去指導(dǎo)網(wǎng)絡(luò)爬蟲下載更多的可疑URL網(wǎng)頁(yè),通過(guò)網(wǎng)絡(luò)爬蟲和客戶端蜜罐相互學(xué)習(xí)的過(guò)程,實(shí)現(xiàn)一個(gè)自主啟發(fā)式的主動(dòng)獲取被攻擊的過(guò)程,可以在較短時(shí)間內(nèi)和有限資源消耗條件下,獲取更多、更廣泛的惡意代碼。
【專利附圖】
【附圖說(shuō)明】
[0009]為了更清楚地說(shuō)明本發(fā)明實(shí)施實(shí)例的技術(shù)方案,下面將對(duì)實(shí)施實(shí)例或現(xiàn)有技術(shù)描述中所需要使用的附圖做簡(jiǎn)單的介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施實(shí)例。
[0010]圖1:基于主動(dòng)技術(shù)的惡意代碼捕獲方法功能流程圖。
[0011]圖2:基于主動(dòng)技術(shù)的惡意代碼捕獲方法步驟示意圖。
【具體實(shí)施方式】
[0012]下面將結(jié)合本發(fā)明實(shí)施實(shí)例中的附圖,對(duì)本發(fā)明實(shí)施實(shí)例中的技術(shù)方案進(jìn)行清楚、完整地描述,當(dāng)然所描述的實(shí)施實(shí)例僅僅是本發(fā)明一部分實(shí)施實(shí)例,而不是全部的實(shí)施實(shí)例。
[0013]實(shí)施實(shí)例I
一種基于主動(dòng)技術(shù)的惡意代碼捕獲方法:
步驟一:設(shè)置種子URL,設(shè)置未下載URL列表,設(shè)置已下載URL列表,設(shè)置下載惡意代碼總數(shù),設(shè)置惡意代碼數(shù)據(jù)庫(kù),設(shè)置URL抽樣率,設(shè)置已下載惡意代碼數(shù),已下載惡意代碼數(shù)初始值為O,進(jìn)入步驟二 ;
步驟二:將種子URL加入到未下載URL列表中,進(jìn)入步驟三;
步驟三:如果未下載URL列表中為空,退出方法;否則從未下載URL列表中隨機(jī)選擇一個(gè)URL進(jìn)行下載,進(jìn)入步驟四;
步驟四:在未下載URL列表中刪除所選URL,同時(shí)將所選URL加入到已經(jīng)下載URL列表中,進(jìn)行步驟五;
步驟五:對(duì)下載的URL頁(yè)面進(jìn)行分析,如果同一頁(yè)面標(biāo)簽內(nèi)同時(shí)出現(xiàn)“width”及“height”二個(gè)關(guān)鍵詞且width和height屬性值都小于10,則記為可疑URL,進(jìn)入步驟六,否則回到步驟三;
步驟六:按照URL抽樣率對(duì)下載的URL頁(yè)面中的URL進(jìn)行抽樣,被抽樣中的URL如果不在已下載URL列表和未下載URL列表中,則加入到未下載URL列表中,進(jìn)入步驟七;
步驟七:采用瀏覽器對(duì)可疑URL進(jìn)行訪問(wèn),監(jiān)控瀏覽器的運(yùn)行,如果有代碼下載,則進(jìn)入步驟八,否則回到步驟三;
步驟八:如果發(fā)現(xiàn)系統(tǒng)文件發(fā)生了增加、刪除或修改變化,進(jìn)入步驟十一,否則進(jìn)入步驟九;
步驟九:如果發(fā)現(xiàn)注冊(cè)表項(xiàng)發(fā)生創(chuàng)建和修改變化,進(jìn)入步驟十一,否則進(jìn)入步驟十;步驟十:利用winpcap系統(tǒng)庫(kù)抓取系統(tǒng)所產(chǎn)生的網(wǎng)絡(luò)報(bào)文,如果下載的代碼運(yùn)行訪問(wèn)網(wǎng)絡(luò),進(jìn)入步驟十一,否則回到步驟三;
步驟十一:將下載的代碼上傳到惡意代碼數(shù)據(jù)庫(kù)中,取出可疑URL網(wǎng)頁(yè)中的所有URL,在已下載URL列表和未下載URL列表中分別查找可疑URL網(wǎng)頁(yè)中的各個(gè)URL,將未記錄于已下載URL列表和未下載URL列表中的可疑URL網(wǎng)頁(yè)中的URL加入到未下載URL列表中,已下載惡意代碼數(shù)增加1,如果已下載惡意代碼數(shù)大于等于下載惡意代碼總數(shù),方法結(jié)束,退出方法;否則回到步驟三。
[0014]發(fā)現(xiàn)系統(tǒng)文件發(fā)生了增力口、刪除或修改變化的方法如下:使用FindFirstChangeNotification函數(shù)創(chuàng)建一個(gè)改變通知對(duì)象,通過(guò)FindFirstChangeNotification函數(shù)監(jiān)視IE的臨時(shí)文件夾、Windows系統(tǒng)目錄下的system32文件夾的變化,當(dāng)一個(gè)符合過(guò)濾條件的改變發(fā)生時(shí),一個(gè)在通知句柄上的等待函數(shù)返回。
[0015]發(fā)現(xiàn)注冊(cè)表項(xiàng)發(fā)生創(chuàng)建和修改變化的方法如下:利用API函數(shù)RegNotifyChangeKeyValue監(jiān)控注冊(cè)表的變化情況。
[0016]實(shí)施實(shí)例2
一種基于主動(dòng)技術(shù)的惡意代碼捕獲方法,
步驟一(I):設(shè)置種子URL www.abc.com、www.bed.com,設(shè)置未下載URL列表,設(shè)置已下載URL列表,設(shè)置下載惡意代碼總數(shù)3,設(shè)置惡意代碼數(shù)據(jù)庫(kù),設(shè)置URL抽樣率1/10,設(shè)置已下載惡意代碼數(shù)0,已下載惡意代碼數(shù)初始值為0,進(jìn)入步驟二(2);
步驟二(2):將種子URL www.abc.com、www.bed.com加入到未下載URL列表中,進(jìn)入步驟三(3);
步驟三(3):從未下載URL列表中隨機(jī)選擇一個(gè)URL www.abc.com進(jìn)行下載,進(jìn)入步驟四⑷;
步驟四(4):在未下載URL列表中刪除所選URL www.abc.com ,同時(shí)將所選URL www.abc.com加入到已經(jīng)下載URL列表中,進(jìn)行步驟五(5);
步驟五(5):對(duì)下載的www.abc.com頁(yè)面進(jìn)行分析,同一頁(yè)面標(biāo)簽內(nèi)同時(shí)出現(xiàn)“width”及“height”二個(gè)關(guān)鍵詞且width和height屬性值都等于O,小于10,記www.abc.com為可疑URL,進(jìn)入步驟六(6);
步驟六(6):按照URL抽樣率1/10對(duì)下載的www.abc.com頁(yè)面中的URL進(jìn)行抽樣,被抽樣中的URL有www.bca.com,這I個(gè)URL不在已下載URL列表和未下載URL列表中,則www.bca.com加入到未下載URL列表中,進(jìn)入步驟七(7);
步驟七(7):采用瀏覽器對(duì)可疑www.abc.com進(jìn)行訪問(wèn),監(jiān)控瀏覽器的運(yùn)行,有代碼
a.exe下載,則進(jìn)入步驟八(8);
步驟八(8):發(fā)現(xiàn)系統(tǒng)文件發(fā)生了增加、刪除或修改變化,進(jìn)入步驟十一(9);
步驟十一(9):將下載的代碼a.exe上傳到惡意代碼數(shù)據(jù)庫(kù)中,取出可疑URL網(wǎng)頁(yè)中的所有 www.bca.com、www.abc.com、www.bed.com、www.cab.com、www.cba.com,在已下載 URL列表和未下載URL列表中分別查找可疑URL網(wǎng)頁(yè)中的各個(gè)URL,將未記錄于已下載URL列表和未下載URL列表中的可疑URL網(wǎng)頁(yè)中的www.cab.com、www.cba.com加入到未下載URL列表中,已下載惡意代碼數(shù)增加1,已下載惡意代碼數(shù)為I小于下載惡意代碼總數(shù)3,回到步驟三(10)。
[0017]步驟三(10):從未下載URL列表中隨機(jī)選擇一個(gè)www.bed.com進(jìn)行下載,進(jìn)入步驟四(11);
步驟四(11):在未下載URL列表中刪除所選WWW.bed.com,同時(shí)將所選www.bed.com加入到已經(jīng)下載URL列表中,進(jìn)行步驟五(12);
步驟五(12):對(duì)下載的URL頁(yè)面進(jìn)行分析,如果同一頁(yè)面標(biāo)簽內(nèi)同時(shí)出現(xiàn)“width”及“height” 二個(gè)關(guān)鍵詞且width和height屬性值都大于10,回到步驟三(13);
步驟三(13):從未下載URL列表中隨機(jī)選擇一個(gè)www.cab.com進(jìn)行下載,進(jìn)入步驟四
(14);
步驟四(14):在未下載URL列表中刪除所選www.cab.com,同時(shí)將所選www.cab.com加入到已經(jīng)下載URL列表中,進(jìn)行步驟五(15);
步驟五(15):對(duì)下載的www.cab.com頁(yè)面進(jìn)行分析,如果同一頁(yè)面標(biāo)簽內(nèi)同時(shí)出現(xiàn)“width”及“height”二個(gè)關(guān)鍵詞且width和height屬性值為O,都小于10,則記www.cab.com為可疑URL,進(jìn)入步驟六(16);
步驟六(16):按照URL抽樣率1/10對(duì)下載的www.cab.com頁(yè)面中的URL進(jìn)行抽樣,被抽樣中的www.abc.com在已下載URL列表中,www.abc.com不加入到未下載URL列表中,進(jìn)入步驟七(17);
步驟七(17):采用瀏覽器對(duì)可疑www.cab.com進(jìn)行訪問(wèn),監(jiān)控瀏覽器的運(yùn)行,有代碼
b.exe下載,則進(jìn)入步驟八(18);
步驟八(18):沒(méi)有發(fā)現(xiàn)系統(tǒng)文件發(fā)生了增加、刪除或修改變化,進(jìn)入步驟九(19); 步驟九(19):發(fā)現(xiàn)注冊(cè)表項(xiàng)發(fā)生創(chuàng)建和修改變化,進(jìn)入步驟十一(20);
步驟^--(20):將下載的代碼b.exe上傳到惡意代碼數(shù)據(jù)庫(kù)中,取出可疑www.cab.com
網(wǎng)頁(yè)中的所有 URL www.abc.com、www.acb.com、www.bed.com、www.cab.com、www.cba.com,在已下載URL列表和未下載URL列表中分別查找可疑URL網(wǎng)頁(yè)中的各個(gè)URL,將未記錄于已下載URL列表和未下載URL列表中的可疑URL網(wǎng)頁(yè)中的www.acb.com加入到未下載URL列表中,已下載惡意代碼數(shù)增加1,已下載惡意代碼數(shù)2小于下載惡意代碼總數(shù)3,回到步驟三
(21);
步驟三(21):從未下載URL列表中隨機(jī)選擇一個(gè)www.cba.com進(jìn)行下載,進(jìn)入步驟四
(22);
步驟四(22):在未下載URL列表中刪除所選www.cba.com,同時(shí)將所選www.cba.com加入到已經(jīng)下載URL列表中,進(jìn)行步驟五(23);
步驟五(23):對(duì)下載的www.cba.com頁(yè)面進(jìn)行分析,如果同一頁(yè)面標(biāo)簽內(nèi)同時(shí)出現(xiàn)“width”及“height” 二個(gè)關(guān)鍵詞且width和height屬性值都小于10,記為可疑URL,進(jìn)入步驟六(24);
步驟六(24):按照URL抽樣率對(duì)下載的www.cba.com頁(yè)面中的URL進(jìn)行抽樣,被抽樣中的www.acbd.com不在已下載URL列表和未下載URL列表中,貝[I加入www.acbd.com到未下載URL列表中,進(jìn)入步驟七(25);
步驟七(25):采用瀏覽器對(duì)可疑www.cba.com進(jìn)行訪問(wèn),監(jiān)控瀏覽器的運(yùn)行,沒(méi)有代碼下載,回到步驟三(26);
步驟三(26):從未下載URL列表中隨機(jī)選擇一個(gè)www.acb.com進(jìn)行下載,進(jìn)入步驟四
(27);
步驟四(27):在未 下載URL列表中刪除所選www.acb.com,同時(shí)將所選www.acb.com加入到已經(jīng)下載URL列表中,進(jìn)行步驟五(28);
步驟五(28):對(duì)下載的www.acb.com頁(yè)面進(jìn)行分析,如果同一頁(yè)面標(biāo)簽內(nèi)同時(shí)出現(xiàn)“width”及“height” 二個(gè)關(guān)鍵詞且width和height屬性值都小于10,記為可疑URL,進(jìn)入步驟六(29);
步驟六(29):按照URL抽樣率對(duì)下載的www.acb.com頁(yè)面中的URL進(jìn)行抽樣,被抽樣中的www.acbd.com在已下載URL列表和未下載URL列表中,則不加入www.acbd.com到未下載URL列表中,進(jìn)入步驟七(30);
步驟七(30):采用瀏覽器對(duì)可疑棚.acb.com進(jìn)行訪問(wèn),監(jiān)控瀏覽器的運(yùn)行,有代碼下載e.txt,則進(jìn)入步驟八(31);
步驟八(31):沒(méi)有發(fā)現(xiàn)系統(tǒng)文件發(fā)生了增加、刪除或修改變化,進(jìn)入步驟九(32); 步驟九(32):沒(méi)有發(fā)現(xiàn)注冊(cè)表項(xiàng)發(fā)生創(chuàng)建和修改變化,進(jìn)入步驟十(33);
步驟十(33):利用winpcap系統(tǒng)庫(kù)抓取系統(tǒng)所產(chǎn)生的網(wǎng)絡(luò)報(bào)文,下載的代碼沒(méi)有需要訪問(wèn)網(wǎng)絡(luò),回到步驟三(34 );
步驟三(34):從未下載URL列表中隨機(jī)選擇一個(gè)URL www.acbd.com進(jìn)行下載,進(jìn)入步驟四(35);
步驟四(35):在未下載URL列表中刪除所選www.acbd.com,同時(shí)將所選www.acbd.com加入到已經(jīng)下載URL列表中,進(jìn)行步驟五(36);
步驟五(36 ):對(duì)下載的www.acbd.com頁(yè)面進(jìn)行分析,同一頁(yè)面標(biāo)簽內(nèi)同時(shí)出現(xiàn)“width”及“height” 二個(gè)關(guān)鍵詞且width和height屬性值都小于10,記為可疑URL,進(jìn)入步驟六(37);
步驟六(37):按照URL抽樣率1/10對(duì)下載的URL頁(yè)面中的URL進(jìn)行抽樣,被抽樣中的www.acb.com在已下載URL列表中,貝U不加入到未下載URL列表中,進(jìn)入步驟七(38);
步驟七(38):采用瀏覽器對(duì)可疑www.acbd.com進(jìn)行訪問(wèn),監(jiān)控瀏覽器的運(yùn)行,有代碼下載d.exe,則進(jìn)入步驟八(39);
步驟八(39):沒(méi)有發(fā)現(xiàn)系統(tǒng)文件發(fā)生了增加、刪除或修改變化,進(jìn)入步驟九(40); 步驟九(40):沒(méi)有發(fā)現(xiàn)注冊(cè)表項(xiàng)發(fā)生創(chuàng)建和修改變化,進(jìn)入步驟十(41);
步驟十(41):利用winpcap系統(tǒng)庫(kù)抓取系統(tǒng)所產(chǎn)生的網(wǎng)絡(luò)報(bào)文,下載的代碼運(yùn)行訪問(wèn)網(wǎng)絡(luò),進(jìn)入步驟十一(42);
步驟十一(42):將下載的代碼d.exe上傳到惡意代碼數(shù)據(jù)庫(kù)中,取出可疑URL網(wǎng)頁(yè)中的所有URL,在已下載URL列表和未下載URL列表中分別查找可疑URL網(wǎng)頁(yè)中的各個(gè)URLjf未記錄于已下載URL列表和未下載URL列表中的可疑URL網(wǎng)頁(yè)中的URL加入到未下載URL列表中,已下載惡意代碼數(shù)增加1,如果已下載惡意代碼數(shù)3等于下載惡意代碼總數(shù)3,方法結(jié)束,
輸出結(jié)果為惡意代碼:
a.exe
b.exe
d.exe
退出方法。
【權(quán)利要求】
1.一種基于主動(dòng)技術(shù)的惡意代碼捕獲方法,其特征在于: 步驟一:設(shè)置種子URL,設(shè)置未下載URL列表,設(shè)置已下載URL列表,設(shè)置下載惡意代碼總數(shù),設(shè)置惡意代碼數(shù)據(jù)庫(kù),設(shè)置URL抽樣率,設(shè)置已下載惡意代碼數(shù),已下載惡意代碼數(shù)初始值為O,進(jìn)入步驟二 ; 步驟二:將種子URL加入到未下載URL列表中,進(jìn)入步驟三; 步驟三:如果未下載URL列表中為空,退出方法;否則從未下載URL列表中隨機(jī)選擇一個(gè)URL進(jìn)行下載,進(jìn)入步驟四; 步驟四:在未下載URL列表中刪除所選URL,同時(shí)將所選URL加入到已經(jīng)下載URL列表中,進(jìn)行步驟五; 步驟五:對(duì)下載的URL頁(yè)面進(jìn)行分析,如果同一頁(yè)面標(biāo)簽內(nèi)同時(shí)出現(xiàn)“width”及“height”二個(gè)關(guān)鍵詞且width和height屬性值都小于10,則記為可疑URL,進(jìn)入步驟六,否則回到步驟三; 步驟六:按照URL抽樣率對(duì)下載的URL頁(yè)面中的URL進(jìn)行抽樣,被抽樣中的URL如果不在已下載URL列表和未下載URL列表中,則加入到未下載URL列表中,進(jìn)入步驟七; 步驟七:采用瀏覽器對(duì)可疑URL進(jìn)行訪問(wèn),監(jiān)控瀏覽器的運(yùn)行,如果有代碼下載,則進(jìn)入步驟八,否則回到步驟三; 步驟八:如果發(fā)現(xiàn)系統(tǒng)文件發(fā)生了增加、刪除或修改變化,進(jìn)入步驟十一,否則進(jìn)入步驟九; 步驟九:如果發(fā)現(xiàn)注冊(cè)表項(xiàng)發(fā)生創(chuàng)建和修改變化,進(jìn)入步驟十一,否則進(jìn)入步驟十; 步驟十:利用winpcap系統(tǒng)庫(kù)抓取系統(tǒng)所產(chǎn)生的網(wǎng)絡(luò)報(bào)文,如果下載的代碼運(yùn)行訪問(wèn)網(wǎng)絡(luò),進(jìn)入步驟十一,否則回到步驟三; 步驟十一:將下載的代碼上傳到惡意代碼數(shù)據(jù)庫(kù)中,取出可疑URL網(wǎng)頁(yè)中的所有URL,在已下載URL列表和未下載URL列表中分別查找可疑URL網(wǎng)頁(yè)中的各個(gè)URL,將未記錄于已下載URL列表和未下載URL列表中的可疑URL網(wǎng)頁(yè)中的URL加入到未下載URL列表中,已下載惡意代碼數(shù)增加1,如果已下載惡意代碼數(shù)大于等于下載惡意代碼總數(shù),方法結(jié)束,退出方法;否則回到步驟三。
2.根據(jù)權(quán)利要求1所述的基于主動(dòng)技術(shù)的惡意代碼捕獲方法,其特征在于,發(fā)現(xiàn)系統(tǒng)文件發(fā)生了增加、刪除或修改變化的方法如下:使用FindFirstChangeNotification函數(shù)創(chuàng)建一個(gè)改變通知對(duì)象,通過(guò)FindFirstChangeNotification函數(shù)監(jiān)視IE的臨時(shí)文件夾、Windows系統(tǒng)目錄下的system32文件夾的變化,當(dāng)一個(gè)符合過(guò)濾條件的改變發(fā)生時(shí),一個(gè)在通知句柄上的等待函數(shù)返回。
3.根據(jù)權(quán)利要求1所述的基于主動(dòng)技術(shù)的惡意代碼捕獲方法,其特征在于,發(fā)現(xiàn)注冊(cè)表項(xiàng)發(fā)生創(chuàng)建和修改變化的方法如下:利用API函數(shù)RegNotifyChangeKeyValue監(jiān)控注冊(cè)表的變化情況。
【文檔編號(hào)】G06F17/30GK104008339SQ201410245192
【公開日】2014年8月27日 申請(qǐng)日期:2014年6月5日 優(yōu)先權(quán)日:2014年6月5日
【發(fā)明者】程光 申請(qǐng)人:東南大學(xué)