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