朱俚治
【 摘 要 】 惡意代碼行為捕獲是進(jìn)行惡意代碼行為分析,提高防御惡意代碼能力的基礎(chǔ)。當(dāng)前,隨著惡意代碼技術(shù)的發(fā)展,惡意代碼結(jié)構(gòu)及其通信活動(dòng)日益復(fù)雜,使得傳統(tǒng)的惡意代碼行為捕獲技術(shù)難以有效應(yīng)對惡意代碼的攻擊與破壞。如何更加有效地捕獲惡意代碼行為成了目前信息安全領(lǐng)域的研究熱點(diǎn)?;诖四康模疚脑诔浞掷肁gent的自主性和適應(yīng)性,實(shí)時(shí)采集目標(biāo)系統(tǒng)的狀態(tài)信息的基礎(chǔ)上,提出了一種基于多Agent的惡意代碼行為捕獲方案,分析了其行為捕獲流程,介紹了功能模塊組成,并基于Windows平臺實(shí)現(xiàn)了該方案,為下一步針對惡意代碼分析及防御提供了良好的基礎(chǔ)。
【 關(guān)鍵詞 】 惡意代碼;多智能體;行為捕獲;行為知識庫
【 中圖分類號 】 TP393.08 【 文獻(xiàn)標(biāo)識碼 】 A
1 引言
現(xiàn)有行為捕獲系統(tǒng)往往采用多種手段來捕獲惡意代碼行為。例如Windows上的文件讀寫類系統(tǒng)調(diào)用可以直接使用API HOOK來捕獲,也可以通過文件系統(tǒng)驅(qū)動(dòng)來捕獲。不管行為捕獲系統(tǒng)怎樣實(shí)現(xiàn),最終表現(xiàn)形式都是如實(shí)地詳細(xì)記錄惡意代碼的主要調(diào)用行為。同時(shí)行為檢測技術(shù)已是網(wǎng)絡(luò)安全領(lǐng)域的重要研究對象,成為了網(wǎng)絡(luò)研究體系中不可或缺的一部分。
目前已有一些基于主機(jī)或基于網(wǎng)絡(luò)的行為捕獲技術(shù),并通過仿真實(shí)驗(yàn)及實(shí)際應(yīng)用中證實(shí)了其有效性?,F(xiàn)階段應(yīng)用比較廣泛的行為捕獲工具都是由國外研究機(jī)構(gòu)所開發(fā),如Nepenthes、ManTrsq、KFSensor、honeyd、DTK、Process Monitor、pymon.py、Ether等,其中具有代表性的為Nepenthes、Process monitor、 Ether三款工具。
Nepenthes由德國人Markus Koetter和Paul Baecher等人所開發(fā)。此工具設(shè)計(jì)的基本思想是借助對存有漏洞的網(wǎng)絡(luò)服務(wù)進(jìn)行模擬,通過建立一個(gè)低交互式的蜜罐,使正在網(wǎng)絡(luò)中傳播的惡意代碼與之產(chǎn)生交互,利用兩者之間的交互進(jìn)一步分析掌握惡意代碼的詳細(xì)信息,包括感染源位置等。以此實(shí)現(xiàn)對惡意代碼的自動(dòng)化捕獲與收集工作。Nepenthes工具的不足是無法捕獲對未知漏洞進(jìn)行攻擊的惡意代碼;一旦有新的漏洞,就需要對其進(jìn)行模擬,極大地增加了工作量;同樣,其對惡意代碼類型及數(shù)量的捕獲與收集也受限于對網(wǎng)絡(luò)服務(wù)已知漏洞模擬的數(shù)量與質(zhì)量。
Process Monitor(進(jìn)程監(jiān)視器)是一個(gè)Windows下的高級監(jiān)視工具,可以實(shí)時(shí)顯示文件系統(tǒng)、注冊表和進(jìn)程/線程的活動(dòng)。它將Sysinternals以前的兩個(gè)實(shí)用程序Filemon(文件監(jiān)視器)和Regmon(注冊表監(jiān)視器)結(jié)合在一起,并且添加了大量的改進(jìn)功能,包括豐富的非破壞性的過濾器,全面的事件屬性,如會話ID和用戶名,可靠的進(jìn)程信息,對每個(gè)操作帶有集成的調(diào)試符號支持的完整線程堆棧,同步記錄日志文件等等。Process Monitor獨(dú)特的強(qiáng)大功能將使它成為用戶在系統(tǒng)故障排除和惡意軟件查殺中使用的核心實(shí)用程序。
Ether惡意軟件分析工具通過硬件虛擬化擴(kuò)展,提出了基于硬件虛擬化的惡意代碼分析框架。Ether通過Xen虛擬機(jī)能夠獲得比客戶操作系統(tǒng)更加高的系統(tǒng)權(quán)限,使其能夠監(jiān)測到所有執(zhí)行的指令、存儲器寫入、操作系統(tǒng)運(yùn)行環(huán)境、系統(tǒng)調(diào)用、甚至能夠限制指定進(jìn)程對系統(tǒng)屬性的訪問。當(dāng)客戶端代碼執(zhí)行時(shí),通過設(shè)置CPU trap陷阱標(biāo)志可以監(jiān)控指令的執(zhí)行,導(dǎo)致每條機(jī)器指令執(zhí)行后的調(diào)試異常。然而,Ether能夠記錄并追蹤客戶操作系統(tǒng)執(zhí)行的每條機(jī)器指令和被監(jiān)控的進(jìn)程。通過這些調(diào)試信息和監(jiān)控信息,分析人員能夠更好地甄別惡意代碼。
上述惡意代碼捕獲技術(shù)大多是針對單一數(shù)據(jù)源的,無法全面獲取監(jiān)測對象的信息,從而導(dǎo)致行為檢測的漏報(bào)率和誤報(bào)率較高。一般來說,此類行為捕獲系統(tǒng)的行為捕獲模塊往往作為一個(gè)組件存在,只負(fù)責(zé)記錄惡意代碼行為,缺少自主分析判斷能力,導(dǎo)致捕獲的行為數(shù)據(jù)存在較大的噪音,為后期處理行為數(shù)據(jù)和提取惡意代碼行為特征增加了難度。針對該問題,本文提出了一種基于多Agent的惡意代碼捕獲方案,該方案采用Agent的形式來實(shí)現(xiàn)惡意代碼行為捕獲模塊,賦予其一定的自主決策能力,通過多Agent協(xié)同來去除部分行為噪聲數(shù)據(jù),從而提高惡意代碼行為捕獲效率。
2 行為捕獲原型系統(tǒng)體系結(jié)構(gòu)
本文提出的多Agent惡意代碼行為捕獲方案,其基本思想是:在惡意代碼行為捕獲系統(tǒng)主機(jī)上部署采集Agent和管理Agent,其中采集Agent主要用于捕獲惡意代碼行為數(shù)據(jù),管理Agent主要用于協(xié)調(diào)各個(gè)采集Agent工作,收集并處理捕獲的行為數(shù)據(jù)。通過采集Agent來感知系統(tǒng)中注冊表操作、文件操作、部署調(diào)用工具、連接指定站點(diǎn)、隱藏活動(dòng)界面、操作其它進(jìn)程、瀏覽器劫持以及惡意收集信息等行為,并通過管理Agent構(gòu)建的惡意代碼多維行為庫及可疑樣本行為矩陣進(jìn)行相似度匹配,從而為進(jìn)一步甄別和捕獲惡意代碼行為提供了具體數(shù)據(jù)。如圖1所示。
行為捕獲的過程需要調(diào)用眾多系統(tǒng)模塊的參與,包括基于多Agent的信息采集模塊,基于規(guī)則匹配的發(fā)現(xiàn)模塊。行為捕獲按階段分為四個(gè)部分,包括采集階段、發(fā)現(xiàn)階段、處理階段和捕獲階段,其工作流程如圖2所示。
(1) 采集階段。采集階段的主體是基于多Agent系統(tǒng)的采集Agent,實(shí)時(shí)采集CPU、內(nèi)存、網(wǎng)絡(luò)流量、端口、注冊表以及進(jìn)程的變化信息,并將結(jié)果實(shí)時(shí)反饋給管理Agent,由其處理模塊進(jìn)行整理、分析。
(2)發(fā)現(xiàn)階段。發(fā)現(xiàn)階段要借助于管理Agent的信息處理模塊,將樣本的行為構(gòu)建行為矩陣,計(jì)算其行為相似度,并與規(guī)則庫中已知惡意行為進(jìn)行匹配對比,篩查惡意行為。
(3)處理階段。處理階段同樣要借助于管理Agent的信息處理模塊,信息處理模塊鎖定惡意行為,并將采集階段上報(bào)的此惡意行為的行為信息抽出、鎖定,將結(jié)果進(jìn)行反饋。endprint
(4)捕獲階段。捕獲階段是對處理階段反饋的行為進(jìn)行捕獲而實(shí)施的各種操作,包括調(diào)用程序進(jìn)行記錄(比如系統(tǒng)日志、網(wǎng)絡(luò)流量流向和內(nèi)容、CPU和內(nèi)存等系統(tǒng)資源的變化情況、端口開放情況、注冊表修改記錄、進(jìn)程開啟和關(guān)閉情況等),對以上記錄數(shù)據(jù)情況的分析,按照多維特征描述法對其進(jìn)行描述,將之充實(shí)到行為特征庫。
3 模塊功能介紹
系統(tǒng)按實(shí)現(xiàn)方式可劃分為信息采集子系統(tǒng)、行為匹配子系統(tǒng)、行為捕獲子系統(tǒng)以及數(shù)據(jù)庫子系統(tǒng)。信息采集功能由采集Agent完成,行為匹配及捕獲功能由管理Agent完成。如圖3所示。
3.1 信息采集子系統(tǒng)
信息采集子系統(tǒng)的核心是系統(tǒng)行為的監(jiān)控,采集多Agent的惡意代碼行為捕獲技術(shù)。
信息采集子系統(tǒng)是本系統(tǒng)的基礎(chǔ)模塊,為行為捕獲提供數(shù)據(jù)來源,并保證數(shù)據(jù)的真實(shí)性和實(shí)時(shí)性。系統(tǒng)監(jiān)控子系統(tǒng)由多個(gè)采集監(jiān)控Agent組成,有管理Agent統(tǒng)一負(fù)責(zé)初始化和操作控制,下設(shè)CPU信息采集模塊、文件信息采集模塊、進(jìn)程信息采集模塊、網(wǎng)絡(luò)信息采集模塊、注冊表信息采集模塊以及內(nèi)存信息采集模塊,分別對應(yīng)并實(shí)現(xiàn)相應(yīng)的采集Agent功能。這些功能模塊將收集的信息實(shí)時(shí)反饋給行為匹配子系統(tǒng)中的數(shù)據(jù)分析模塊,由其區(qū)別并鎖定其中的異常狀態(tài)信息,并將結(jié)果反饋給行為捕獲子系統(tǒng)。
3.2 匹配推理子系統(tǒng)
匹配推理子系統(tǒng)是整個(gè)系統(tǒng)的關(guān)鍵,負(fù)責(zé)對信息采集子系統(tǒng)返回的信息進(jìn)行處理,從中發(fā)現(xiàn)惡意行為。
匹配推理子系統(tǒng)有:行為提取模塊、相似度計(jì)算模塊、規(guī)則匹配模塊及數(shù)據(jù)分析模塊。其中行為提取模塊基于IDA工具提取檢測樣本的行為并構(gòu)建樣本行為矩陣;相似度計(jì)算模塊計(jì)算矩陣相似度;規(guī)則匹配模塊負(fù)責(zé)將樣本相似度與數(shù)據(jù)庫中惡意代碼的相似度進(jìn)行匹配對比,確定可疑行為;數(shù)據(jù)分析模塊負(fù)責(zé)確定的惡定行為信息進(jìn)行篩選,將結(jié)果反饋至行為捕獲子系統(tǒng)。
3.3 行為捕獲子系統(tǒng)
行為捕獲子系統(tǒng)是整個(gè)系統(tǒng)的實(shí)現(xiàn)核心,負(fù)責(zé)接收匹配推理子系統(tǒng)確定的惡意行為并進(jìn)行捕獲。包括捕獲記錄模塊和分析模塊。捕獲記錄模塊負(fù)責(zé)對某一待捕獲的行為進(jìn)行記錄,包括其運(yùn)行時(shí)間段,產(chǎn)生的系統(tǒng)資源變化等;分析模塊是針對某一行為進(jìn)行的后期分析,進(jìn)一步確定其是否為惡意行為。
行為捕獲子系統(tǒng)捕獲惡意行為后,如果是因?yàn)槠ヅ涠鴶喽ㄊ菒阂庑袨榈?,將該代碼及行為特征記錄入數(shù)據(jù)庫;如果是因?yàn)轭A(yù)測或者外界專家干預(yù)而斷定為惡意行為的,則還需要更新惡意代碼行為特征庫。
3.4 數(shù)據(jù)庫子系統(tǒng)
數(shù)據(jù)庫子系統(tǒng)是系統(tǒng)的數(shù)據(jù)存儲中轉(zhuǎn)中心,負(fù)責(zé)存儲各種數(shù)據(jù),包括已知的惡意代碼特征和匹配規(guī)則,實(shí)時(shí)的系統(tǒng)狀態(tài)監(jiān)控信息,系統(tǒng)運(yùn)行日志,匹配分析過程中產(chǎn)生的結(jié)果等。
4 系統(tǒng)實(shí)現(xiàn)
4.1 實(shí)現(xiàn)平臺
本平臺采用Windows XP操作系統(tǒng),結(jié)合了 Microsoft Jet Database Engine 和 Microsoft SQL Server數(shù)據(jù)庫,使用基于Visual studio 2008平臺的C++語言開發(fā)環(huán)境。在某局域網(wǎng)中選定三臺計(jì)算機(jī)來搭建實(shí)驗(yàn)環(huán)境:一臺FTP服務(wù)器A(安裝配置采集Agent,監(jiān)控其CPU和內(nèi)存狀況)、第二臺為隨機(jī)選取網(wǎng)絡(luò)客戶機(jī)B(安裝配置采集Agent,監(jiān)控其網(wǎng)絡(luò)流量數(shù)據(jù))、第三臺為安裝管理Agent客戶機(jī)C。如圖4所示。
4.2 類圖分析
系統(tǒng)基于面向?qū)ο缶幊虒?shí)現(xiàn),由多個(gè)類構(gòu)成,如圖5所示,不同的子系統(tǒng)或者功能模塊由不同的類來實(shí)現(xiàn),類中封裝其需要的數(shù)據(jù)以及操作的函數(shù)。
(1)Main類。Main類是主界面類,構(gòu)成系統(tǒng)的主界面,同時(shí)啟動(dòng)其他子系統(tǒng)類,包括SystemSupervise類(系統(tǒng)監(jiān)控子系統(tǒng)),MatchDeduce類(匹配推理子系統(tǒng)),CaptureAnalyze類(捕獲分析子系統(tǒng))以及DataBaseManage類(數(shù)據(jù)庫管理子系統(tǒng))。
(2)SystemSupervise類。SystemSupervise類是監(jiān)控子系統(tǒng)類,負(fù)責(zé)系統(tǒng)狀態(tài)的監(jiān)控,分別由CPU、Ram、Net、Port、Regdit、Document、Process這七個(gè)類完成7個(gè)監(jiān)控任務(wù),類圖如圖6所示。
其中,SystemSupervise類完成監(jiān)控中心的功能,包括初始化、更新和結(jié)束監(jiān)控。其余類完成監(jiān)控任務(wù),分別對CPU、內(nèi)存、網(wǎng)絡(luò)流量、端口、注冊表、文件、進(jìn)程進(jìn)行監(jiān)控和處理。
(3)MatchDeduce類。MatchDeduce類是匹配推理子系統(tǒng)的實(shí)現(xiàn)類,完成匹配和推理兩大任務(wù)。主要的操作對象是數(shù)據(jù)集(DataSet)。在規(guī)則匹配中,主要完成的工作包括規(guī)則選取、規(guī)則匹配;在推理中,首先要對得到的數(shù)據(jù)集進(jìn)行數(shù)據(jù)挖掘,從中得出有用信息,在此基礎(chǔ)上進(jìn)行推理分析。
(4)CaptureAnalyze類。CaptureAnalyze類是捕獲分析子系統(tǒng)的實(shí)現(xiàn)類,完成捕獲和分析兩大任務(wù),將運(yùn)行結(jié)果實(shí)時(shí)記錄到系統(tǒng)日志中。實(shí)施捕獲時(shí),需要初始化行為捕獲相關(guān)程序、插件、打開記錄文件等;分析過程需要系統(tǒng)的實(shí)時(shí)記錄,包括產(chǎn)生的中間數(shù)據(jù)和最終結(jié)果。
(5)DatabaseManage類。DatabaseManage類是數(shù)據(jù)庫子系統(tǒng)的實(shí)現(xiàn)類,完成針對數(shù)據(jù)庫系統(tǒng)的操作和管理任務(wù)。操作對象是多源數(shù)據(jù)庫中的多張表,完成的功能包括數(shù)據(jù)的插入、刪除、更新、查找等。
4.3 數(shù)據(jù)庫建立
數(shù)據(jù)庫子系統(tǒng)主要包括系統(tǒng)調(diào)用序列文件數(shù)據(jù)庫、惡意代碼多維特征描述數(shù)據(jù)庫、惡意代碼行為數(shù)據(jù)庫、系統(tǒng)環(huán)境描述數(shù)據(jù)庫、替換操作數(shù)據(jù)庫等五個(gè)部分。如圖7所示。
(1)系統(tǒng)函數(shù)調(diào)用序列。使用IDA軟件分析得到函數(shù)調(diào)用圖,通過IDA插件編程得到系統(tǒng)函數(shù)調(diào)用序列。如表1所示。endprint
(2)惡意代碼多維特征描述表。惡意代碼多維特征描述主要包含惡意代碼編號、惡意代碼名稱,各個(gè)系統(tǒng)調(diào)用發(fā)生時(shí)的時(shí)間、所依賴的系統(tǒng)調(diào)用、依賴的類型(數(shù)據(jù)依賴、控制依賴)、產(chǎn)生的下一個(gè)系統(tǒng)調(diào)用的名稱等信息。如表2所示。
(3)等價(jià)替換操作表。為了規(guī)避惡意代碼靜態(tài)分析的檢測,很多軟件使用等價(jià)替換操作,如將文件映射到內(nèi)存中再讀取內(nèi)存數(shù)據(jù)的方式和直接讀取文件數(shù)據(jù)的操作就是一種等價(jià)替換。通過建立更新等價(jià)替換庫,能有效降低系統(tǒng)調(diào)用序列匹配的干擾。
等價(jià)替換操作庫主要是依據(jù)系統(tǒng)調(diào)用類別來區(qū)分。如文件操作中的讀文件 “CreateFile→ReadFile”和“CreateFile→CreateFileMapping→MapViewOfFile”
4 惡意代碼行為描述表
刻畫某一時(shí)刻惡意代碼具體行為,包含CPU使用率的變化,內(nèi)存占用率的變化,網(wǎng)絡(luò)流量的變化,開放端口的變化,注冊表變化、進(jìn)程變化等。
(5)系統(tǒng)環(huán)境變化表。刻畫惡意代碼行為導(dǎo)致的系統(tǒng)環(huán)境變化,具體包含當(dāng)前CPU的使用率、內(nèi)存的占用率、網(wǎng)絡(luò)流量、開放的端口、注冊表信息以及啟動(dòng)的進(jìn)程等。
4.4 系統(tǒng)實(shí)現(xiàn)
如圖8所示為系統(tǒng)的啟動(dòng)界面,此界面下可直接啟動(dòng)三個(gè)相關(guān)聯(lián)的子系統(tǒng),分別是系統(tǒng)監(jiān)控子系統(tǒng)、匹配推理子系統(tǒng)、以及捕獲分析子系統(tǒng)。
信息監(jiān)控子系統(tǒng)運(yùn)行如圖9所示。通過此界面可以設(shè)置查詢間隔,選擇采集Agent進(jìn)行狀態(tài)查看。信息顯示窗口可以顯示目前系統(tǒng)的運(yùn)行信息,以及手動(dòng)的查詢結(jié)果。左下角的“動(dòng)態(tài)變化指標(biāo)”欄,可直觀顯示當(dāng)前CPU、內(nèi)存以及網(wǎng)絡(luò)流量的使用情況。
捕獲分析子系統(tǒng)如圖10所示。通過此界面可以設(shè)置捕獲過程的參數(shù)。通過信息窗口動(dòng)態(tài)展示系統(tǒng)的運(yùn)行情況和狀態(tài)信息。
5 結(jié)束語
本文基于多Agent協(xié)同處理技術(shù)設(shè)計(jì)開發(fā)了惡意代碼行為捕獲原型系統(tǒng),通過多維惡意代碼庫對被捕獲的目標(biāo)行為進(jìn)行了詳細(xì)的描述和記錄。實(shí)驗(yàn)證明,該方案可以清楚地描述惡意代碼在CPU、內(nèi)存和流量等方面的多種行為特征,為進(jìn)一步分析和防范惡意行為提供數(shù)據(jù)支持,同時(shí)通過管理Agent動(dòng)態(tài)建立及維護(hù)的惡意代碼庫,可以支持新型、變種和隱藏類惡意代碼的進(jìn)一步檢測分析。該方案的設(shè)計(jì)與實(shí)現(xiàn)對于提高信息系統(tǒng)及網(wǎng)絡(luò)的惡意代碼防范能力具有較大的應(yīng)用價(jià)值。
參考文獻(xiàn)
[1] Rieck K, Trinius P, Willems C, et al. Automatic analysis of malware behavior using machine learning[J]. Journal of Computer Security, 2011, 19(4): 639-668.
[2] Baecher P, Koetter M, Holz T, et al. The nepenthes platform: An efficient approach to collect malware[C]//Recent Advances in Intrusion Detection. Springer Berlin Heidelberg, 2006: 165-184.
[3] 方志鶴.惡意代碼分類的研究與實(shí)現(xiàn)[D].國防科學(xué)技術(shù)大學(xué),2011.
[4] 曹瑩,劉家辰,苗啟廣等.AdaBoost 惡意程序行為檢測新算法[J].西安電子科技大學(xué)學(xué)報(bào),2013, 40(6): 116-124.
[5] 燕發(fā)文,黃敏,王中飛.基于BF算法的網(wǎng)絡(luò)異常流量行為檢測[J].計(jì)算機(jī)工程,2013, 39(7): 165-168,172.
[6] 王新志, 孫樂昌, 張旻,等.基于序列模式發(fā)現(xiàn)的惡意行為檢測方法[J].計(jì)算機(jī)工程,2011, 37(24): 1-3.
[7] Ligh M, Adair S, Hartstein B, et al. Malware Analyst's Cookbook and DVD: Tools and Techniques for Fighting Malicious Code[M]. Wiley Publishing, 2010.
[8] 朱映映,吳錦鋒,明仲.基于網(wǎng)絡(luò)事件和深度協(xié)議分析的入侵檢測研究[J].通信學(xué)報(bào),2011, 32(8): 171-178.
作者簡介:
孫志峰(1978-),男,河北冀州人,國防科大碩士在讀;主要研究方向和關(guān)注領(lǐng)域:網(wǎng)絡(luò)安全。
趙文濤(1973-),男,內(nèi)蒙古涼城人,國防科大計(jì)算機(jī)學(xué)院,博士,現(xiàn)任國防科大計(jì)算機(jī)學(xué)院教研室主任,教授,碩士生導(dǎo)師;主要研究方向和關(guān)注領(lǐng)域:網(wǎng)絡(luò)安全。
游超(1984-),男,湖南寧鄉(xiāng)人,國防科大碩士在讀;主要研究方向和關(guān)注領(lǐng)域:網(wǎng)絡(luò)安全。
董彬(1992-),男,山西臨汾人,國防科大碩士在讀;主要研究方向和關(guān)注領(lǐng)域:網(wǎng)絡(luò)安全。endprint
(2)惡意代碼多維特征描述表。惡意代碼多維特征描述主要包含惡意代碼編號、惡意代碼名稱,各個(gè)系統(tǒng)調(diào)用發(fā)生時(shí)的時(shí)間、所依賴的系統(tǒng)調(diào)用、依賴的類型(數(shù)據(jù)依賴、控制依賴)、產(chǎn)生的下一個(gè)系統(tǒng)調(diào)用的名稱等信息。如表2所示。
(3)等價(jià)替換操作表。為了規(guī)避惡意代碼靜態(tài)分析的檢測,很多軟件使用等價(jià)替換操作,如將文件映射到內(nèi)存中再讀取內(nèi)存數(shù)據(jù)的方式和直接讀取文件數(shù)據(jù)的操作就是一種等價(jià)替換。通過建立更新等價(jià)替換庫,能有效降低系統(tǒng)調(diào)用序列匹配的干擾。
等價(jià)替換操作庫主要是依據(jù)系統(tǒng)調(diào)用類別來區(qū)分。如文件操作中的讀文件 “CreateFile→ReadFile”和“CreateFile→CreateFileMapping→MapViewOfFile”
4 惡意代碼行為描述表
刻畫某一時(shí)刻惡意代碼具體行為,包含CPU使用率的變化,內(nèi)存占用率的變化,網(wǎng)絡(luò)流量的變化,開放端口的變化,注冊表變化、進(jìn)程變化等。
(5)系統(tǒng)環(huán)境變化表。刻畫惡意代碼行為導(dǎo)致的系統(tǒng)環(huán)境變化,具體包含當(dāng)前CPU的使用率、內(nèi)存的占用率、網(wǎng)絡(luò)流量、開放的端口、注冊表信息以及啟動(dòng)的進(jìn)程等。
4.4 系統(tǒng)實(shí)現(xiàn)
如圖8所示為系統(tǒng)的啟動(dòng)界面,此界面下可直接啟動(dòng)三個(gè)相關(guān)聯(lián)的子系統(tǒng),分別是系統(tǒng)監(jiān)控子系統(tǒng)、匹配推理子系統(tǒng)、以及捕獲分析子系統(tǒng)。
信息監(jiān)控子系統(tǒng)運(yùn)行如圖9所示。通過此界面可以設(shè)置查詢間隔,選擇采集Agent進(jìn)行狀態(tài)查看。信息顯示窗口可以顯示目前系統(tǒng)的運(yùn)行信息,以及手動(dòng)的查詢結(jié)果。左下角的“動(dòng)態(tài)變化指標(biāo)”欄,可直觀顯示當(dāng)前CPU、內(nèi)存以及網(wǎng)絡(luò)流量的使用情況。
捕獲分析子系統(tǒng)如圖10所示。通過此界面可以設(shè)置捕獲過程的參數(shù)。通過信息窗口動(dòng)態(tài)展示系統(tǒng)的運(yùn)行情況和狀態(tài)信息。
5 結(jié)束語
本文基于多Agent協(xié)同處理技術(shù)設(shè)計(jì)開發(fā)了惡意代碼行為捕獲原型系統(tǒng),通過多維惡意代碼庫對被捕獲的目標(biāo)行為進(jìn)行了詳細(xì)的描述和記錄。實(shí)驗(yàn)證明,該方案可以清楚地描述惡意代碼在CPU、內(nèi)存和流量等方面的多種行為特征,為進(jìn)一步分析和防范惡意行為提供數(shù)據(jù)支持,同時(shí)通過管理Agent動(dòng)態(tài)建立及維護(hù)的惡意代碼庫,可以支持新型、變種和隱藏類惡意代碼的進(jìn)一步檢測分析。該方案的設(shè)計(jì)與實(shí)現(xiàn)對于提高信息系統(tǒng)及網(wǎng)絡(luò)的惡意代碼防范能力具有較大的應(yīng)用價(jià)值。
參考文獻(xiàn)
[1] Rieck K, Trinius P, Willems C, et al. Automatic analysis of malware behavior using machine learning[J]. Journal of Computer Security, 2011, 19(4): 639-668.
[2] Baecher P, Koetter M, Holz T, et al. The nepenthes platform: An efficient approach to collect malware[C]//Recent Advances in Intrusion Detection. Springer Berlin Heidelberg, 2006: 165-184.
[3] 方志鶴.惡意代碼分類的研究與實(shí)現(xiàn)[D].國防科學(xué)技術(shù)大學(xué),2011.
[4] 曹瑩,劉家辰,苗啟廣等.AdaBoost 惡意程序行為檢測新算法[J].西安電子科技大學(xué)學(xué)報(bào),2013, 40(6): 116-124.
[5] 燕發(fā)文,黃敏,王中飛.基于BF算法的網(wǎng)絡(luò)異常流量行為檢測[J].計(jì)算機(jī)工程,2013, 39(7): 165-168,172.
[6] 王新志, 孫樂昌, 張旻,等.基于序列模式發(fā)現(xiàn)的惡意行為檢測方法[J].計(jì)算機(jī)工程,2011, 37(24): 1-3.
[7] Ligh M, Adair S, Hartstein B, et al. Malware Analyst's Cookbook and DVD: Tools and Techniques for Fighting Malicious Code[M]. Wiley Publishing, 2010.
[8] 朱映映,吳錦鋒,明仲.基于網(wǎng)絡(luò)事件和深度協(xié)議分析的入侵檢測研究[J].通信學(xué)報(bào),2011, 32(8): 171-178.
作者簡介:
孫志峰(1978-),男,河北冀州人,國防科大碩士在讀;主要研究方向和關(guān)注領(lǐng)域:網(wǎng)絡(luò)安全。
趙文濤(1973-),男,內(nèi)蒙古涼城人,國防科大計(jì)算機(jī)學(xué)院,博士,現(xiàn)任國防科大計(jì)算機(jī)學(xué)院教研室主任,教授,碩士生導(dǎo)師;主要研究方向和關(guān)注領(lǐng)域:網(wǎng)絡(luò)安全。
游超(1984-),男,湖南寧鄉(xiāng)人,國防科大碩士在讀;主要研究方向和關(guān)注領(lǐng)域:網(wǎng)絡(luò)安全。
董彬(1992-),男,山西臨汾人,國防科大碩士在讀;主要研究方向和關(guān)注領(lǐng)域:網(wǎng)絡(luò)安全。endprint
(2)惡意代碼多維特征描述表。惡意代碼多維特征描述主要包含惡意代碼編號、惡意代碼名稱,各個(gè)系統(tǒng)調(diào)用發(fā)生時(shí)的時(shí)間、所依賴的系統(tǒng)調(diào)用、依賴的類型(數(shù)據(jù)依賴、控制依賴)、產(chǎn)生的下一個(gè)系統(tǒng)調(diào)用的名稱等信息。如表2所示。
(3)等價(jià)替換操作表。為了規(guī)避惡意代碼靜態(tài)分析的檢測,很多軟件使用等價(jià)替換操作,如將文件映射到內(nèi)存中再讀取內(nèi)存數(shù)據(jù)的方式和直接讀取文件數(shù)據(jù)的操作就是一種等價(jià)替換。通過建立更新等價(jià)替換庫,能有效降低系統(tǒng)調(diào)用序列匹配的干擾。
等價(jià)替換操作庫主要是依據(jù)系統(tǒng)調(diào)用類別來區(qū)分。如文件操作中的讀文件 “CreateFile→ReadFile”和“CreateFile→CreateFileMapping→MapViewOfFile”
4 惡意代碼行為描述表
刻畫某一時(shí)刻惡意代碼具體行為,包含CPU使用率的變化,內(nèi)存占用率的變化,網(wǎng)絡(luò)流量的變化,開放端口的變化,注冊表變化、進(jìn)程變化等。
(5)系統(tǒng)環(huán)境變化表??坍嫄阂獯a行為導(dǎo)致的系統(tǒng)環(huán)境變化,具體包含當(dāng)前CPU的使用率、內(nèi)存的占用率、網(wǎng)絡(luò)流量、開放的端口、注冊表信息以及啟動(dòng)的進(jìn)程等。
4.4 系統(tǒng)實(shí)現(xiàn)
如圖8所示為系統(tǒng)的啟動(dòng)界面,此界面下可直接啟動(dòng)三個(gè)相關(guān)聯(lián)的子系統(tǒng),分別是系統(tǒng)監(jiān)控子系統(tǒng)、匹配推理子系統(tǒng)、以及捕獲分析子系統(tǒng)。
信息監(jiān)控子系統(tǒng)運(yùn)行如圖9所示。通過此界面可以設(shè)置查詢間隔,選擇采集Agent進(jìn)行狀態(tài)查看。信息顯示窗口可以顯示目前系統(tǒng)的運(yùn)行信息,以及手動(dòng)的查詢結(jié)果。左下角的“動(dòng)態(tài)變化指標(biāo)”欄,可直觀顯示當(dāng)前CPU、內(nèi)存以及網(wǎng)絡(luò)流量的使用情況。
捕獲分析子系統(tǒng)如圖10所示。通過此界面可以設(shè)置捕獲過程的參數(shù)。通過信息窗口動(dòng)態(tài)展示系統(tǒng)的運(yùn)行情況和狀態(tài)信息。
5 結(jié)束語
本文基于多Agent協(xié)同處理技術(shù)設(shè)計(jì)開發(fā)了惡意代碼行為捕獲原型系統(tǒng),通過多維惡意代碼庫對被捕獲的目標(biāo)行為進(jìn)行了詳細(xì)的描述和記錄。實(shí)驗(yàn)證明,該方案可以清楚地描述惡意代碼在CPU、內(nèi)存和流量等方面的多種行為特征,為進(jìn)一步分析和防范惡意行為提供數(shù)據(jù)支持,同時(shí)通過管理Agent動(dòng)態(tài)建立及維護(hù)的惡意代碼庫,可以支持新型、變種和隱藏類惡意代碼的進(jìn)一步檢測分析。該方案的設(shè)計(jì)與實(shí)現(xiàn)對于提高信息系統(tǒng)及網(wǎng)絡(luò)的惡意代碼防范能力具有較大的應(yīng)用價(jià)值。
參考文獻(xiàn)
[1] Rieck K, Trinius P, Willems C, et al. Automatic analysis of malware behavior using machine learning[J]. Journal of Computer Security, 2011, 19(4): 639-668.
[2] Baecher P, Koetter M, Holz T, et al. The nepenthes platform: An efficient approach to collect malware[C]//Recent Advances in Intrusion Detection. Springer Berlin Heidelberg, 2006: 165-184.
[3] 方志鶴.惡意代碼分類的研究與實(shí)現(xiàn)[D].國防科學(xué)技術(shù)大學(xué),2011.
[4] 曹瑩,劉家辰,苗啟廣等.AdaBoost 惡意程序行為檢測新算法[J].西安電子科技大學(xué)學(xué)報(bào),2013, 40(6): 116-124.
[5] 燕發(fā)文,黃敏,王中飛.基于BF算法的網(wǎng)絡(luò)異常流量行為檢測[J].計(jì)算機(jī)工程,2013, 39(7): 165-168,172.
[6] 王新志, 孫樂昌, 張旻,等.基于序列模式發(fā)現(xiàn)的惡意行為檢測方法[J].計(jì)算機(jī)工程,2011, 37(24): 1-3.
[7] Ligh M, Adair S, Hartstein B, et al. Malware Analyst's Cookbook and DVD: Tools and Techniques for Fighting Malicious Code[M]. Wiley Publishing, 2010.
[8] 朱映映,吳錦鋒,明仲.基于網(wǎng)絡(luò)事件和深度協(xié)議分析的入侵檢測研究[J].通信學(xué)報(bào),2011, 32(8): 171-178.
作者簡介:
孫志峰(1978-),男,河北冀州人,國防科大碩士在讀;主要研究方向和關(guān)注領(lǐng)域:網(wǎng)絡(luò)安全。
趙文濤(1973-),男,內(nèi)蒙古涼城人,國防科大計(jì)算機(jī)學(xué)院,博士,現(xiàn)任國防科大計(jì)算機(jī)學(xué)院教研室主任,教授,碩士生導(dǎo)師;主要研究方向和關(guān)注領(lǐng)域:網(wǎng)絡(luò)安全。
游超(1984-),男,湖南寧鄉(xiāng)人,國防科大碩士在讀;主要研究方向和關(guān)注領(lǐng)域:網(wǎng)絡(luò)安全。
董彬(1992-),男,山西臨汾人,國防科大碩士在讀;主要研究方向和關(guān)注領(lǐng)域:網(wǎng)絡(luò)安全。endprint