一種惡意代碼檢測及防御的方法
【專利摘要】一種惡意代碼檢測及防御的方法,與其它惡意代碼檢測及防御方法不同的是使用了基于P2P的無中心網(wǎng)絡(luò),構(gòu)建了一個(gè)惡意代碼檢測及防御系統(tǒng)。對于未知的程序,并不阻止它的運(yùn)行,而在后續(xù)的運(yùn)行過程中會(huì)監(jiān)控它。通過處理對程序的監(jiān)控所得到的大量數(shù)據(jù)得到一些策略。這些策略類似于條件反射,告訴防御部分怎么處理某個(gè)程序。響應(yīng)部分告訴防御部分針對某個(gè)程序應(yīng)該做什么,主要內(nèi)容包括終止惡意進(jìn)程、終止網(wǎng)絡(luò)連接、恢復(fù)被破壞的注冊表項(xiàng)、恢復(fù)被破壞的文件、阻止內(nèi)核模塊加載、修改,恢復(fù)服務(wù),恢復(fù)被篡改的內(nèi)核信息。本發(fā)明具有的有益效果包括自主更新、快速反應(yīng)、用戶透明、程序透明、無后遺癥。
【專利說明】一種惡意代碼檢測及防御的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明是一種惡意代碼檢測及防御的方法,與其它惡意代碼檢測及防御方法不同的是本發(fā)明使用了基于P2P的無中心網(wǎng)絡(luò),構(gòu)建了一個(gè)惡意代碼檢測及防御系統(tǒng)。
【背景技術(shù)】
[0002]傳統(tǒng)意義上的惡意代碼可以分為病毒、蠕蟲、木馬等,而隨著依賴于計(jì)算機(jī)的電子商務(wù)等的興起,病毒、蠕蟲、木馬等不再有明顯的界限。多數(shù)的惡意代碼是在利益的驅(qū)動(dòng)下產(chǎn)生的,被制造用來盜取各種賬號(hào)和錢物。一般的惡意代碼檢測按照代碼是否執(zhí)行可以分為靜態(tài)檢測和動(dòng)態(tài)檢測。靜態(tài)檢測包括校驗(yàn)和比較、特征串檢查、啟發(fā)式掃描、邏輯分析和網(wǎng)絡(luò)嗅探等。動(dòng)態(tài)檢測包括完整性檢測、系統(tǒng)調(diào)用跟蹤、代碼仿真、沙盒技術(shù)等。典型的安全軟件都采用了其中幾種類型的惡意代碼檢測技術(shù),但是這些技術(shù)都存在不同程度的缺陷,為了應(yīng)對不斷產(chǎn)生的惡意代碼,安全軟件需要常常更新升級病毒庫,而這些更新升級數(shù)據(jù)都需要有服務(wù)器來提供。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的是實(shí)現(xiàn)一種無中心節(jié)點(diǎn)的惡意代碼檢測及防御的方法。
[0004]為了實(shí)現(xiàn)上述目的本發(fā)明采用以下技術(shù)方案:
一種惡意代碼檢測及防御的方法,其特征在于包括以下步驟:
步驟1、檢測,對于未知的程序,并不阻止它的運(yùn)行,而在后續(xù)的運(yùn)行過程中會(huì)監(jiān)控它,并且和網(wǎng)絡(luò)中的其它客戶端交流關(guān)于這個(gè)未知程序的各種信息,一旦發(fā)現(xiàn)某個(gè)程序的惡意行為,就通告網(wǎng)絡(luò)中的其它客戶端;
步驟2、響應(yīng),響應(yīng)部分是處理數(shù)據(jù)的階段,檢測部分獲取的大量數(shù)據(jù)在響應(yīng)部分通過處理得到防御策略,
步驟3、防御,處理惡意代碼以及其帶來的影響,響應(yīng)部分告訴防御部分針對某個(gè)程序進(jìn)行動(dòng)作,主要內(nèi)容包括以下幾點(diǎn):
1.終止惡意進(jìn)程;
2.終止網(wǎng)絡(luò)連接;
3.恢復(fù)被破壞的注冊表項(xiàng);
4.恢復(fù)被破壞的文件;
5.阻止內(nèi)核模塊加載、修改,恢復(fù)服務(wù),恢復(fù)被篡改的內(nèi)核信息。
[0005]上述技術(shù)方案中,檢測部分獲取的數(shù)分為兩類:
一、程序執(zhí)行的行為:包括對文件的訪問,注冊表的訪問,網(wǎng)絡(luò)的使用,
二、程序執(zhí)行后操作系統(tǒng)或應(yīng)用程序的異常:包括文件管理器、進(jìn)程管理器系統(tǒng)組件以及安裝的應(yīng)用程序不能正常使用。
[0006]上述技術(shù)方案中,對程序執(zhí)行的行為以及這些行為的影響中會(huì)導(dǎo)致異常發(fā)生的一系列行為和程序執(zhí)行后操作系統(tǒng)或應(yīng)用程序的異常,通知防御部分恢復(fù)這些行為對文件、注冊表的修改,形成一個(gè)應(yīng)對這一系列的策略,這些策略類似于條件反射,告訴防御部分處理某個(gè)程序,響應(yīng)部分是由多個(gè)主機(jī)組成的分布式響應(yīng)網(wǎng)絡(luò),這些主機(jī)通過網(wǎng)絡(luò)互相連接,彼此之間共享獲取到的數(shù)據(jù)。
[0007]本發(fā)明具有以下有益效果:
一、自主更新:不需要連接服務(wù)器來更新病毒數(shù)據(jù)庫或者策略數(shù)據(jù)庫,響應(yīng)部分根據(jù)獲取的數(shù)據(jù)能自主制定新的策略;
二、快速反應(yīng):一旦P2P網(wǎng)絡(luò)中的一個(gè)客戶端上發(fā)現(xiàn)惡意代碼,能夠迅速將此信息共享給其他客戶端;
三、用戶透明:對于用戶來說,所有的操作都可以不需要用戶的參與,響應(yīng)部分可以自動(dòng)處理;
四、程序透明:對于未知程序來說,客戶端允許它執(zhí)行,在沒有認(rèn)定它是惡意代碼之前它可以一直執(zhí)行;
五、無后遺癥:發(fā)現(xiàn)惡意代碼后能夠恢復(fù)惡意代碼所修改的文件、注冊表等,刪除惡意代碼后不會(huì)對操作系統(tǒng)、應(yīng)用程序有影響。
【專利附圖】
【附圖說明】
[0008]圖1為本發(fā)明中多個(gè)主機(jī)組成的P2P網(wǎng)絡(luò)。
【具體實(shí)施方式】
[0009]本發(fā)明提供了系統(tǒng)包含檢測、響應(yīng)、防御三個(gè)部分。
[0010](一)檢測
檢測是本發(fā)明中關(guān)鍵的一個(gè)部分,它就像是商場中的攝像頭。檢測是通過設(shè)置監(jiān)視點(diǎn)來完成的,監(jiān)視點(diǎn)設(shè)置在以下幾個(gè)方面:
1.進(jìn)程的創(chuàng)建、終止,遠(yuǎn)線程創(chuàng)建,內(nèi)存讀寫,動(dòng)態(tài)鏈接庫的加載;
2.網(wǎng)絡(luò)端口監(jiān)聽,數(shù)據(jù)收發(fā),以及操作系統(tǒng)提供的HTTP等協(xié)議接口等;
3.注冊表項(xiàng)的增加、刪除、修改,以及注冊表項(xiàng)對應(yīng)的文件;
4.操作系統(tǒng)文件的刪除、修改,系統(tǒng)目錄下文件的創(chuàng)建、復(fù)制、移動(dòng)、刪除,應(yīng)用程序的安裝、復(fù)制、移動(dòng)、刪除;
5.內(nèi)核模塊的加載、修改等,服務(wù)的創(chuàng)建、啟動(dòng)、修改等,SPI,ΒΗ0, SSDT的修改等。
[0011]檢測是數(shù)據(jù)收集的階段,通過檢測能收集到操作系統(tǒng)和應(yīng)用程序相關(guān)的各種數(shù)據(jù)。
[0012](二)響應(yīng)
響應(yīng)是處理數(shù)據(jù)的階段,通過檢測獲取的大量數(shù)據(jù)需要處理以得到防御策略。響應(yīng)部分類似于人的神經(jīng)中樞,檢測部分類似于感受器,防御部分類似于效應(yīng)器。采用人工智能算法實(shí)現(xiàn)響應(yīng)部分,用收集來的數(shù)據(jù)訓(xùn)練以制定出一系列的策略。這些策略類似于條件反射,能告訴防御部分怎么處理某個(gè)程序。響應(yīng)部分是由多個(gè)主機(jī)組成的分布式響應(yīng)網(wǎng)絡(luò),這些主機(jī)通過網(wǎng)絡(luò)互相連接,彼此之間共享獲取到的數(shù)據(jù)。
[0013](三)防御
防御這一部分主要是處理惡意代碼以及其帶來的影響。響應(yīng)部分告訴防御部分針對某個(gè)程序應(yīng)該做什么。主要內(nèi)容包括以下幾點(diǎn):
1.終止惡意進(jìn)程;
2.終止網(wǎng)絡(luò)連接;
3.恢復(fù)被破壞的注冊表項(xiàng);
4.恢復(fù)被破壞的文件;
5.阻止內(nèi)核模塊加載、修改,恢復(fù)服務(wù),恢復(fù)被篡改的內(nèi)核信息。
[0014]防御部分的工作對于整個(gè)系統(tǒng)來說具有重要的意義,它的存在使得整個(gè)系統(tǒng)具有自我修復(fù)的能力。
[0015]在一個(gè)由多個(gè)計(jì)算機(jī)組成的系統(tǒng)中,一旦有未知代碼進(jìn)入這個(gè)網(wǎng)絡(luò),檢測部分就會(huì)啟動(dòng)對它的監(jiān)視、記錄等,系統(tǒng)不阻止未知代碼執(zhí)行,這樣可以正常使用各種程序。如果確認(rèn)這是一個(gè)惡意代碼,整個(gè)系統(tǒng)中所有的計(jì)算機(jī)都會(huì)對這個(gè)惡意代碼免疫。如果某臺(tái)計(jì)算機(jī)已經(jīng)被惡意代碼所破壞,防御部分可以恢復(fù)被破壞的文件、數(shù)據(jù)等。有些惡意代碼并不破壞宿主操作系統(tǒng),但是會(huì)竊取隱私數(shù)據(jù),在這種情況下本發(fā)明會(huì)阻止惡意代碼竊取隱私數(shù)據(jù)。
[0016]如圖1所示,由A、B、C、D、E等多臺(tái)計(jì)算機(jī)構(gòu)成的網(wǎng)絡(luò)中,每一臺(tái)計(jì)算機(jī)上都安裝有一個(gè)客戶端程序,這些位于多個(gè)不同計(jì)算機(jī)上的客戶端組成了一個(gè)惡意代碼檢測及防御系統(tǒng)。這種基于P2P的惡意代碼檢測及防御方法,其特征在于包括以下部分:
一、功能模塊部分 客戶端包括各種功能1吳塊:
進(jìn)程模塊:監(jiān)視進(jìn)程的創(chuàng)建、終止,遠(yuǎn)線程創(chuàng)建,內(nèi)存讀寫,動(dòng)態(tài)鏈接庫的加載。
[0017]網(wǎng)絡(luò)模塊:監(jiān)視網(wǎng)絡(luò)端口監(jiān)聽,數(shù)據(jù)收發(fā),以及操作系統(tǒng)提供的HTTP等協(xié)議接口等;
注冊表模塊:監(jiān)視注冊表項(xiàng)的增加、刪除、修改,以及注冊表項(xiàng)對應(yīng)的文件;
文件模塊:監(jiān)視操作系統(tǒng)文件的刪除、修改,系統(tǒng)目錄下文件的創(chuàng)建、復(fù)制、移動(dòng)、刪除,監(jiān)視應(yīng)用程序的安裝、復(fù)制、移動(dòng)、刪除;
內(nèi)核模塊:監(jiān)視內(nèi)核模塊的加載、修改等,監(jiān)視服務(wù)的創(chuàng)建、啟動(dòng)、修改等,SP1、ΒΗ0,SSDT的修改等。
[0018]P2P模塊:建立客戶端之間的通信通道,為響應(yīng)部分提供通信支持。
[0019]二、檢測部分
1.對于未知的程序,并不阻止它的運(yùn)行,而在后續(xù)的運(yùn)行過程中會(huì)監(jiān)控它,并且和網(wǎng)絡(luò)中的其它客戶端交流關(guān)于這個(gè)未知程序的各種信息,這樣用戶可以正常使用各種沒有數(shù)字簽名的程序。
[0020]2.一旦發(fā)現(xiàn)某個(gè)程序的惡意行為,就通告網(wǎng)絡(luò)中的其它客戶端,其它計(jì)算機(jī)上如果也有該程序執(zhí)行,那么就將該程序添加到黑名單,等到確定該程序是惡意代碼后就終止該程序。
[0021]三、響應(yīng)和恢復(fù)部分
1.網(wǎng)絡(luò)中的多個(gè)客戶端程序共享獲得的數(shù)據(jù),通過對這些數(shù)據(jù)的分析,來判斷一個(gè)未知程序的類型。對于一個(gè)未知程序,可以將它分為以下幾個(gè)類型:
a)合法程序,不包含任何惡意代碼,該類程序加入到白名單,可以放寬對該類程序的監(jiān)控。
[0022]b)不確定是否包含惡意代碼的程序,這類程序可能會(huì)在特定條件下觸發(fā)惡意行為,需要監(jiān)控該類程序,但是,不應(yīng)當(dāng)阻止這類程序的運(yùn)行。
[0023]c)完全的惡意程序,這類程序是定性為木馬、病毒等等的程序,并不包含用戶需要的功能,因此禁止這類程序的執(zhí)行。
[0024]1.假設(shè)圖1中計(jì)算機(jī)A上有一個(gè)未知程序在運(yùn)行,但是A通過和B交流發(fā)現(xiàn),B以及將A定性為木馬,那么A就終止這個(gè)程序,如果B也不確定這個(gè)程序的類型,那么A和其它計(jì)算機(jī)就通過共享的信息來判斷A的類型,如果暫時(shí)無法判斷類型就定性為不確定是否包含惡意代碼的程序。
[0025]2.某些程序可能會(huì)破壞系統(tǒng)或用戶的文件,通過對這些程序日志的分析能夠還原這些被破壞的文件。假設(shè)圖1中計(jì)算機(jī)A上的一個(gè)未知程序刪掉了系統(tǒng)目錄下的幾個(gè)重要程序,但是后來計(jì)算機(jī)A上的客戶端發(fā)現(xiàn)A不是合法程序,那么就要恢復(fù)A刪除的文件,這些文件可以從本地備份恢復(fù)或其他計(jì)算機(jī)恢復(fù)。
[0026]3.某些程序可能會(huì)破壞注冊表,通過對這些程序日志的分析能夠還原這些被破壞的注冊表項(xiàng)。假設(shè)圖1中計(jì)算機(jī)A上的一個(gè)未知程序刪掉或者修改了注冊表中的幾項(xiàng),A上的客戶端發(fā)現(xiàn)A不是合法程序后就恢復(fù)A刪除的注冊表項(xiàng)。
【權(quán)利要求】
1.一種惡意代碼檢測及防御的方法,其特征在于包括以下步驟: 步驟1、檢測,對于未知的程序,并不阻止它的運(yùn)行,而在后續(xù)的運(yùn)行過程中會(huì)監(jiān)控它,并且和網(wǎng)絡(luò)中的其它客戶端交流關(guān)于這個(gè)未知程序的各種信息,一旦發(fā)現(xiàn)某個(gè)程序的惡意行為,就通告網(wǎng)絡(luò)中的其它客戶端; 步驟2、響應(yīng),響應(yīng)部分是處理數(shù)據(jù)的階段,檢測部分獲取的大量數(shù)據(jù)在響應(yīng)部分通過處理得到防御策略, 步驟3、防御,處理惡意代碼以及其帶來的影響,響應(yīng)部分告訴防御部分針對某個(gè)程序進(jìn)行動(dòng)作,主要內(nèi)容包括以下幾點(diǎn):. 1.終止惡意進(jìn)程;. 2.終止網(wǎng)絡(luò)連接;. 3.恢復(fù)被破壞的注冊表項(xiàng);. 4.恢復(fù)被破壞的文件;. 5.阻止內(nèi)核模塊加載、修改,恢復(fù)服務(wù),恢復(fù)被篡改的內(nèi)核信息。
2.根據(jù)權(quán)利要求1所述的一種惡意代碼檢測及防御的方法,其特征在于: 檢測部分獲取的數(shù)分為兩類: 一、程序執(zhí)行的行為:包括對文件的訪問,注冊表的訪問,網(wǎng)絡(luò)的使用, 二、程序執(zhí)行后操作系統(tǒng)或應(yīng)用程序的異常:包括文件管理器、進(jìn)程管理器系統(tǒng)組件以及安裝的應(yīng)用程序不能正常使用。
3.根據(jù)權(quán)利要求2所述的一種惡意代碼檢測及防御的方法,其特征在于: 對程序執(zhí)行的行為以及這些行為的影響中會(huì)導(dǎo)致異常發(fā)生的一系列行為和程序執(zhí)行后操作系統(tǒng)或應(yīng)用程序的異常,通知防御部分恢復(fù)這些行為對文件、注冊表的修改,形成一個(gè)應(yīng)對這一系列的策略,這些策略類似于條件反射,告訴防御部分處理某個(gè)程序,響應(yīng)部分是由多個(gè)主機(jī)組成的分布式響應(yīng)網(wǎng)絡(luò),這些主機(jī)通過網(wǎng)絡(luò)互相連接,彼此之間共享獲取到的數(shù)據(jù)。
【文檔編號(hào)】G06F21/56GK103428212SQ201310343342
【公開日】2013年12月4日 申請日期:2013年8月8日 優(yōu)先權(quán)日:2013年8月8日
【發(fā)明者】陳廳, 張小松, 陳瑞東, 牛偉納, 王東, 廖軍, 張凡, 張蕾 申請人:電子科技大學(xué)