《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > DCA算法在僵尸網絡檢測中的應用
DCA算法在僵尸網絡檢測中的應用
來源:微型機與應用2014年第6期
楊智興,,方賢進
(安徽理工大學 計算機科學與工程學院,,安徽 淮南232000)
摘要: Greensmith 根據樹突狀細胞機理設計實現了樹突狀細胞算法DCA(Dendritic Cell Algorithm),并將其用于入侵檢測系統中,。實驗結果表明,,該算法具有較高的效率,,并得到了廣泛的應用,。本文對DCA算法進行了描述并簡要介紹了其在僵尸網絡檢測中的應用,具有實際意義,。
Abstract:
Key words :

摘  要: Greensmith 根據樹突狀細胞機理設計實現了樹突狀細胞算法DCA(Dendritic Cell Algorithm),,并將其用于入侵檢測系統中。實驗結果表明,,該算法具有較高的效率,,并得到了廣泛的應用。本文對DCA算法進行了描述并簡要介紹了其在僵尸網絡檢測中的應用,,具有實際意義,。
關鍵詞: 僵尸網絡;DCA,;入侵檢測

    僵尸網絡是在網絡蠕蟲,、特洛伊木馬、后門工具等傳統惡意代碼形態(tài)的基礎上發(fā)展,、融合而產生的一種新型攻擊方式,。目前一個具有通用性的定義是:僵尸網絡(botnet)是攻擊者出于惡意目的,傳播僵尸程序控制大量主機,,并通過一對多的命令與控制信道所組成的網絡,。
    根據國家互聯網應急中心2013年10月[1]公布,CN-CERT監(jiān)測發(fā)現境內近740 000個IP地址對應的主機被木馬或僵尸程序控制,,木馬或僵尸網絡控制服務器IP總數為12 275個,。其中,境內木馬或僵尸網絡控制服務器IP數量為6 763個,,按地區(qū)分布數量排名前三位的分別為廣東省,、江蘇省、云南省,。境外木馬或僵尸網絡控制服務器IP數量為5 512個,,主要分布于美國、韓國,、中國臺灣,。其中,位于美國的控制服務器控制了境內303 588個主機IP,,控制境內主機IP數量居首位,,其次是位于葡萄牙和荷蘭的IP地址,分別控制了境內135 178個和109 893個主機IP,。
    僵尸網絡的肆虐給網絡安全帶來了巨大的威脅,,現階段針對僵尸網絡的檢測研究[2]也層出不窮,本文簡要介紹DCA算法在僵尸網絡檢測中的應用。
1 DCA算法
    人類免疫系統HIS(Human Immune System)中免疫應答是從DC開始的復雜過程,。DC是一種抗原提呈細胞(APC),,它從淋巴系統遷移到機體組織(Tissue),攝取抗原和蛋白質碎片,,同時采集抗原所處環(huán)境中的分子作為危險信號,,攝取抗原并采集信號之后從機體組織返回淋巴結(Lymph Node),并將抗原提呈給T細胞以識別抗原,。另外,,DC能夠處理環(huán)境分子,并釋放特定的細胞因子(cytokines)以影響T細胞分化過程,。DC 進行決策并驅動T細胞進行免疫應答,。
    Greensmith通過對DC生理功能和角色的研究,對DC行為進行建模,,設計實現了DCA算法,。
    DCA是基于DC群體(population)的算法[3-4],對抗原信號形式的數據流進行處理,。DC群體不斷更新,,更新頻率和種類控制與算法實現細節(jié)有關。群體中每個DC執(zhí)行抗原和信號的采集,。DC存儲采集的抗原,,并將輸入信號轉換為輸出信號。
    DCA輸入信號包括PAMP,、DS(Danger Signal),、SS(Safe Signal)和IS(Inflammation Signal),。DC對輸入信號進行處理,,產生3種輸出信號——CSM、半成熟信號(semi)和成熟信號(mat),。為了避免對復雜的實際生物信號轉換機制建模,,iDC信號處理使用加權求和公式來模擬,以減少計算開銷,,使DCA適用于實時異常檢測,。DC每次更新累積輸出信號之后,比較CSM和遷移閾值(Migration Threshold),,若CSM超過遷移閾值,,則從組織刪除此DC,采樣周期結束,,DC遷移到淋巴結進行結果分析,。
    DC遷移之后進行累積輸出信號評估,semi和mat濃度較大者成為細胞環(huán)境,。用于對DC采集的所有抗原進行標記,,標記成環(huán)境0或者1,,最終用于產生MCAV,代表抗原異常程度,。用戶可以將其與閾值進行比較,,判斷抗原是否異常。
    DCA算法流程如圖1所示[5],。

2 DCA算法在僵尸網絡檢測中的應用
    基于群體的DCA算法的輸入為時間序列數據,,是由信號與抗原組成的數據流。要將DCA算法應用到僵尸網絡的檢測中[6],,最重要的是要解決算法中的時間序列輸入數據的獲取以及信號與抗原的映射,,下面給出解決方案。
2.1 算法輸入數據的獲取方法
    檢測算法的輸入數據應能反映受害主機(即受僵尸程序或其他惡意程序感染的主機)狀態(tài),。通過對僵尸程序的分析得出,,僵尸網絡要完成一些列的功能必須通過調用相關的系統函數才能夠實現,如通信函數C,、文件存取函數F和鍵盤狀態(tài)函數K,。其中通信函數包括send、sendto,、recv,、recvfrom、socket,、connect和IcmpSendEcho,;文件存取函數包括CreateFile、OpenFile,、ReadFile和WriteFile,;鍵盤狀態(tài)函數包括GetAsyncKeyState、GetKeyboardState,、GetKeyNameText和keybd_event,。通過API調用追蹤工具能很簡單地得到這些函數的調用數據,作為算法的時間序列輸入數據,。
2.2 算法輸入信號的選擇,、映射及歸一化方法
    現階段,僵尸網絡的命令與控制信道的構建方式趨于多樣化,,基于不同協議構建的僵尸網絡信號的選擇,、映射及歸一化方法不盡相同,這里以基于IRC協議的僵尸網絡為例,,給出輸入信號的選擇,、映射及歸一化方法。
    PAMP信號的映射:把bot執(zhí)行的鍵盤攔截活動映射為PAMP信號,該信號值來自于鍵盤攔截活動需調用的相關API函數的調用變化率,,這些API函數包括GetAsyncKeyState,、GetKeyboardState、GetKeyNameText和key-
bd_event,。通過初級試驗定義“Maxps=1 s內擊鍵所產生的API函數調用的最大次數”,,然后通過線性變換將Maxps映射到100作為PAMP信號的最大值。那么設PAMPt為在時間窗t內所產生的鍵盤狀態(tài)API函數調用的數量,。則在t時刻,,PAMP信號的變化率可定義為:

 


2.3 算法輸入數據中抗原的映射方法
    抗原有可能就是潛在的惡意進程,是系統狀態(tài)的反映,,它有可能就是造成系統狀態(tài)改變的因素,,因此將產生API函數調用的進程PID映射成抗原。
    本文簡單闡述了DCA算法的機理,,描述了將DCA算法應用到僵尸網絡檢測中各個信號量的定義,。
    針對DCA算法在僵尸網絡檢測中應用的下一步研究,包括基于P2P協議的僵尸網絡,、基于HTTP協議的僵尸網絡及無協議特征的僵尸網絡的信號量的定義,,并對實驗結果進行分析。
參考文獻
[1] 國家互聯網應急中心.CNCERT/CC.CNCERT互聯網安全威脅報告[R].[2013-10-17].http://www.cert.org.cn.
[2] 王海龍,,龔正虎,,侯婕.僵尸網絡檢測技術研究進展[J].計算機研究與發(fā)展,2010,,47(12):2037-2048.
[3] 陳岳兵,,馮超,張權,,等.基于DCA的數據融合方法研究[J].信號處理,,2011,27(1):102-105.
[4] 陳岳兵,,馮超,,張權,,等.樹突狀細胞算法原理及其應用[J].計算機工程,,2010,36(8):173-176.
[5] 鄧小武,,李森林,,胡萍.樹突狀細胞算法形式化及其在入侵檢測中的應用[J].青島科技大學學報,2013,,34(4):88-92,,96.
[6] AI H Y,AICKELIN U,GREENSMITH J.DCA for bot  detection[C].Proc.of CEC′08,,2008.

此內容為AET網站原創(chuàng),,未經授權禁止轉載。