国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

人工免疫算法在惡意代碼檢測中的應(yīng)用研究

2016-10-13 11:58:04張福勇
關(guān)鍵詞:檢測器自體生命周期

張福勇

(東莞理工學(xué)院 計(jì)算機(jī)學(xué)院, 廣東東莞 523808)

?

人工免疫算法在惡意代碼檢測中的應(yīng)用研究

張福勇

(東莞理工學(xué)院計(jì)算機(jī)學(xué)院, 廣東東莞523808)

隨著惡意代碼復(fù)雜度的提高,要求惡意代碼檢測方法不僅能實(shí)現(xiàn)高效的檢測,而且要具有很好的魯棒性來應(yīng)對可能出現(xiàn)的迷惑檢測策略。研究了“兩代”人工免疫算法——否定選擇算法(NSA)和樹突細(xì)胞算法(DCA),在運(yùn)行時(shí)惡意代碼檢測中的應(yīng)用。通過捕獲程序運(yùn)行時(shí)產(chǎn)生的IRP請求序列來實(shí)現(xiàn)惡意代碼的檢測。實(shí)驗(yàn)結(jié)果表明,NSA是一種有效的運(yùn)行時(shí)惡意代碼檢測方法,而DCA的檢測結(jié)果存在很大的不確定性。

人工免疫系統(tǒng),惡意代碼檢測,否定選擇算法,樹突細(xì)胞算法

惡意代碼的數(shù)量增加之快已使得傳統(tǒng)的檢測方法不能滿足需求[1]。因此,安全專家將注意力集中到了更高效和更具魯棒性的運(yùn)行時(shí)惡意代碼檢測技術(shù)上,通過分析程序運(yùn)行時(shí)的行為來區(qū)分正常程序和惡意代碼。

人工免疫系統(tǒng)(Artificial Immune System, AIS)是受生物免疫系統(tǒng)(Biological Immune System, BIS)啟發(fā)而產(chǎn)生的智能計(jì)算方法。AIS發(fā)展初期主要是模仿適應(yīng)性免疫系統(tǒng)而產(chǎn)生的自體/非自體(Self/Nonself)理論。Forrest等人[2]根據(jù)自體/非自體思想提出了否定選擇算法(Negative Selection Algorithm, NSA),用于異常進(jìn)程的檢測。近年來,出現(xiàn)了新一代AIS——受內(nèi)在免疫系統(tǒng)啟發(fā)而產(chǎn)生的樹突細(xì)胞算法(Dentritic Cell Algorithm, DCA)[3]。

對兩代AIS在惡意代碼檢測中的優(yōu)缺點(diǎn)進(jìn)行研究,分析了在不同檢測環(huán)境下兩代AIS的檢測率。文章第1部分介紹了兩代AIS在異常檢測中的應(yīng)用情況;第2部分對兩代AIS算法進(jìn)行了介紹;第3部分解釋了實(shí)驗(yàn)中采用的IRP序列的產(chǎn)生,并說明NSA中的檢測器和DCA中的信號產(chǎn)生策略;第4部分給出實(shí)驗(yàn)結(jié)果并進(jìn)行分析;最后,討論兩代AIS在惡意代碼檢測方面的優(yōu)缺。

1 相關(guān)工作

第一代AIS的核心算法是NSA,由Forrest等人[2]提出,并首先應(yīng)用于Unix系統(tǒng)的異常進(jìn)程檢測。后來,NSA發(fā)展了多個版本,包括real-valued NSA、隨機(jī)real-valued NSA、檢測器大小可變r(jià)eal-valued NSA等。

第一代AIS還包括另外一個重要算法——克隆選擇算法(Clonal Selection Algorithm, CSA)[4]。NSA與CSA的結(jié)合,使得第一代AIS廣泛應(yīng)用于信息安全、模式識別、故障診斷、機(jī)器學(xué)習(xí)等多個領(lǐng)域。

第二代AIS是基于危險(xiǎn)理論(Danger Theory)[5]的思想。Aickelin等人[6]分析了將危險(xiǎn)理論應(yīng)用于網(wǎng)絡(luò)入侵檢測的可行性。Greensmith等人[3]提出了基于危險(xiǎn)理論的cDCA(classic DCA),并成功應(yīng)用于乳腺癌數(shù)據(jù)集的分類。隨后,DCA被應(yīng)用于入侵檢測相關(guān)領(lǐng)域[7]。

DCA也出現(xiàn)了幾個更新版本,Gu等人[8]提出采用抗原倍乘(Antigen Multiplier)和時(shí)間窗口(Time-windows)來提高DCA的檢測率和魯棒性。Greensmith等人[9]提出了dDCA(deterministic DCA),dDCA精簡了cDCA中采用的多個復(fù)雜參數(shù),并采用了更加簡單的信號處理方式。Fang等人[10]對DCA的時(shí)間復(fù)雜度進(jìn)行了理論分析。

2 人工免疫算法

AIS經(jīng)過多年的發(fā)展已經(jīng)出現(xiàn)了很多的算法,本節(jié)僅對文中用到的NSA和DCA進(jìn)行詳細(xì)介紹。

2.1否定選擇算法

否定選擇算法是對機(jī)體免疫細(xì)胞成熟過程的模擬,算法包括兩個階段:自體耐受和識別階段。首先隨機(jī)生成大量候選檢測器,然后,候選檢測器經(jīng)過自體耐受過程去除匹配自體的檢測器,最終成為成熟檢測器;識別階段采用成熟檢測器檢測未知抗原。算法的描述如下:

隨機(jī)生成大量的候選檢測器;

While成熟檢測器的數(shù)量未達(dá)到設(shè)定值do

從候選檢測器中隨機(jī)選擇一個檢測器;

If 該檢測器不與任何一個自體抗原匹配

Then將此檢測器加入到成熟檢測器集合;

Else丟棄此檢測器;

End If

End While

For 每一個未知抗原 do

If 任一成熟檢測器匹配未知抗原

Then 認(rèn)為此抗原為非自體;

End If

End For

2.2樹突細(xì)胞算法

輸入:未知抗原和信號

輸出:抗原類型α和MCAVα

設(shè)定DC數(shù)量;

初始化DCs();

While 存在輸入數(shù)據(jù) do

Switch 輸入數(shù)據(jù)類型 do

Case 未知抗原

antigenCounter++;

cellIndex=antigenCounter%DCsize;

序號為cellIndex的DC提呈此抗原;

End Case

Case 信號

計(jì)算csm和k;

For 每一個DCdo

DC.lifespan-=csm;

DC.sumK+=k;

IfDC.lifespan<=0 Then

記錄DC提呈的抗原和sumK;

重置DC;

End If

End For

End Case

End Switch

End While

For 每一種抗原類型α do

計(jì)算MCAVα;

End For

3 數(shù)據(jù)集

收集了100個惡意代碼和100個正常Windows可執(zhí)行文件。惡意代碼包括病毒、木馬和蠕蟲,所有惡意代碼和正常文件均為Win32portable executable(PE)格式。

3.1IRP請求序列

在運(yùn)行時(shí)惡意代碼檢測方面,研究人員普遍采用API調(diào)用序列進(jìn)行檢測。但多數(shù)API調(diào)用的捕獲工具運(yùn)行在用戶態(tài),只能捕獲用戶態(tài)的API調(diào)用,對內(nèi)核態(tài)的API調(diào)用就無能為力,因此無法檢測采用驅(qū)動技術(shù)調(diào)用內(nèi)核API的惡意代碼。

鑒于此,我們開發(fā)了一個基于內(nèi)核驅(qū)動技術(shù)的IRP請求捕獲工具M(jìn)BMAS[11]。它可以捕獲程序運(yùn)行時(shí)創(chuàng)建的進(jìn)程信息,以及每個進(jìn)程對文件系統(tǒng)操作的IRP請求信息,并可以將捕獲的信息以XML格式進(jìn)行存儲。圖1是MBMAS的用戶態(tài)界面。

圖1 IRP請求捕獲工具

IRP請求的捕獲是在一臺新安裝的Windows XP虛擬機(jī)中進(jìn)行的,并且每運(yùn)行完一個樣本即將虛擬機(jī)恢復(fù)到新安裝時(shí)的狀態(tài)。在進(jìn)行IRP請求捕獲時(shí),將同一進(jìn)程的IRP請求連成一個序列。

我們對捕獲的所有IRP類型進(jìn)行了統(tǒng)計(jì),發(fā)現(xiàn)共存在30種不同類型的IRP請求。我們用唯一的字符代替每一種IRP類型,以降低復(fù)雜度,方便后續(xù)處理。

3.2檢測器與特征提取

對于NSA,我們選用n-gram作為檢測器。匹配規(guī)則為字符串匹配算法,只要未知序列中存在與檢測器相同的n-gram即認(rèn)為匹配。前期實(shí)驗(yàn)表明n=3時(shí)可以取得最佳的檢測效果,因此,本文取n=3。

自體耐受過程采用100個正常文件運(yùn)行得到的IRP請求序列作為抗原。由于總的檢測器數(shù)量并不大(303),因此直接生成3-gram的全排列作為候選檢測器,成熟檢測器最大值也設(shè)定為303,以達(dá)到最佳的檢測效果。

本文采用類似文獻(xiàn)[12]的n-gram信息增益法對IRP請求序列進(jìn)行預(yù)處理,得到DCA所需的信號。同樣選取n=3,信息增益的計(jì)算公式為:

(1)

同文獻(xiàn)[12],選取具有最大信息增益的500個3-gram來計(jì)算信號值。并將危險(xiǎn)信號值歸一化為0~100,安全信號值歸一化為0~66。

4 實(shí)驗(yàn)分析

為了檢驗(yàn)兩代AIS在惡意代碼檢測中的效果,首先進(jìn)行了下面兩個實(shí)驗(yàn):實(shí)驗(yàn)1將正常序列和惡意序列分開存放,即前100個序列為正常序列,后100個序列為惡意序列;實(shí)驗(yàn)2將正常序列和惡意序列交叉存放,即一個正常序列后跟一個惡意序列。分別采用NSA和DCA進(jìn)行檢測。

實(shí)驗(yàn)參數(shù)設(shè)置如下:對于NSA,采用3-gram的全排列作為候選檢測器,成熟檢測器最大值為303。對于DCA,設(shè)定DC數(shù)量為100,生命周期范圍為300~500,信號權(quán)重與2.2節(jié)中算法描述的相同(見表1),MCAV門限為0.5,大于0.5即為惡意,否則為正常。

表1 信號權(quán)重(實(shí)驗(yàn)1,2,3)

表2 實(shí)驗(yàn)1檢測結(jié)果 %

表3 實(shí)驗(yàn)2檢測結(jié)果 %

表2為實(shí)驗(yàn)1的運(yùn)行結(jié)果。從結(jié)果中可以看出,按實(shí)驗(yàn)1的數(shù)據(jù)存放方式,DCA可以得到高于NSA的檢測率。兩種方法都存在一個誤報(bào)。

由表3的結(jié)果可以看出,實(shí)驗(yàn)2中NSA得到與實(shí)驗(yàn)1同樣的結(jié)果,表明對于NSA數(shù)據(jù)的排列方式不會影響其檢測結(jié)果。但DCA卻僅得到了61 %的檢測率,而且誤檢率為37 %。原因很可能是由于DCA對環(huán)境非常敏感。實(shí)驗(yàn)1中正常和惡意序列放在一起,檢測時(shí)周圍環(huán)境的信號量要么以安全信號為主(正常序列),要么以危險(xiǎn)信號為主(惡意序列),所以很容易將兩者區(qū)分開。但實(shí)驗(yàn)2中的排列方式使得安全信號和危險(xiǎn)信號交叉出現(xiàn),兩者的值相互抵消,無法進(jìn)行區(qū)分。

為了驗(yàn)證DCA中的生命周期和信號權(quán)重對檢測結(jié)果的影響,采用實(shí)驗(yàn)2的數(shù)據(jù)進(jìn)行了如下兩個實(shí)驗(yàn):實(shí)驗(yàn)3設(shè)定表1所示信號權(quán)重,測試不同生命周期的檢測結(jié)果;實(shí)驗(yàn)4設(shè)定表4所示信號權(quán)重,測試不同生命周期的檢測結(jié)果。得到的結(jié)果如表5和表6所示:

表4 信號權(quán)重(實(shí)驗(yàn)4)

表5 實(shí)驗(yàn)3檢測結(jié)果 %

表6 實(shí)驗(yàn)4檢測結(jié)果 %

由實(shí)驗(yàn)3和實(shí)驗(yàn)4的結(jié)果可以看出DCA的生命周期和信號權(quán)重的值對檢測結(jié)果有很大的影響。特別要注意的是實(shí)驗(yàn)4中在生命周期為200~300時(shí)得到了與實(shí)驗(yàn)1一樣高的檢測率,但兩者的數(shù)據(jù)排列、信號權(quán)重、生命周期值均不同。由此可以說明,使用DCA時(shí)需要針對不同的數(shù)據(jù)給予不同的信號權(quán)重和生命周期才有可能達(dá)到較高的檢測率。但在實(shí)際應(yīng)用中我們很難事先知道待檢測數(shù)據(jù)的排列情況,所以DCA在惡意代碼檢測中存在很大的不確定性。

5 結(jié)語

采用程序運(yùn)行時(shí)產(chǎn)生的IRP請求序列作為抗原,對NSA和DCA在惡意代碼檢測中的效果進(jìn)行分析。實(shí)驗(yàn)結(jié)果表明,NSA在惡意代碼檢測中表現(xiàn)出了較高的檢測率和很強(qiáng)的魯棒性。而DCA對待檢測數(shù)據(jù)的排列、信號權(quán)重和生命周期值都非常敏感,檢測結(jié)果存在很大的不確定性。DCA的不確定性主要表現(xiàn)在以下方面:

1)DCA缺乏統(tǒng)一的信號產(chǎn)生機(jī)制,不同的信號產(chǎn)生方式會對檢測結(jié)果有很大影響。

2)DCA沒有標(biāo)準(zhǔn)的信號權(quán)重計(jì)算機(jī)制,信號的權(quán)重根據(jù)不同的數(shù)據(jù)集需要做很大調(diào)整才可以達(dá)到較高檢測率。

3)DCA中生命周期值也會對檢測結(jié)果有很大影響,但算法中也沒有可以確定生命周期的方法。

DCA方法的上述缺陷使得其無法應(yīng)用于真實(shí)環(huán)境。因此還需對樹突細(xì)胞的功能進(jìn)一步挖掘,抽象出更加完善的DCA。

[1]Symantec. 2014 Internet security threat report, 2014 [EB/OL]. http://www.symantec.com/security_response/publications/threatreport.jsp?om_ext_cid=biz_socmed_twitter_facebook_marketwire_linkedin_2013Apr_worldwide_ISTR18.

[2]Forrest S, Perelson A S, Allen L, et al. Self-Nonself discrimination in a computer [C]// The IEEE Symposium on Research in Security and Privacy. Oakland: IEEE, 1994: 202-212.

[3]Greensmith J, Aickelin U, Cayzer S. Introducing dendritic cells as a novel immune-inspired algorithm for anomaly detection [C]// LNCS, ICARIS. Heidelberg: Springer, 2005, 3627: 153-167.

[4]LN De Castro, FJ Von Zuben. The clonal selection algorithm with engineering application [C]// Proceedings of GECCO Workshop on Artificial Immune Systems and Their Applications. Las Vegas: CiteSeer, 2000: 36-37.

[5]Matzinger P. Tolerance, danger and the extended family [J]. Annual Review of lmmunology, 1994, 12: 991-1045.

[6]Aickelin U, Bentley P, Cayzer S, et al. Danger theory: the link between AIS and IDS? [C]// LNCS, ICARIS. Heidelberg: Springer, 2003, 2787: 147-155.

[7]王亞芹,梁意文,劉賽. 基于樹突狀細(xì)胞算法的應(yīng)用層DDoS攻擊檢測[J]. 計(jì)算機(jī)工程與設(shè)計(jì).2015,36(4):841-845.

[8]Gu F, Greensmith J, Aickelin U. Further exploration of the dendritic cell algorithm: antigen multiplier and time windows [C]// LNCS, ICARIS. Heidelberg: Springer, 2008, 5132: 142-153.

[9]Greensmith J, Aickelin U. The deterministic dendritic cell algorithm [C]// LNCS, ICARIS. Heidelberg: Springer, 2008, 5132: 291-303.

[10]FANG Xian-jin, WANG Li. Theoretical investigation on the dendritic cells algorithm [J]. Journal of Beijing Institute of Technology. 2014, 23(3): 401-406.

[11]Zhang FuYong, Qi DeYu, Hu JingLin. MBMAS: a system for malware behavior monitor and analysis [C]// 2009 International Symposium on Computer Network and Multimedia Technology (CNMT), Wuhan, China, 2009.

[12]Manzoor S, Shafiq M Z, Tabish S M, et al. A sense of ‘danger’ for windows processes [C]// LNCS, ICARIS. Heidelberg: Springer, 2009, 5666: 220-233.

The Application of Artificial Immune Algorithms in Malware Detection

ZHANG Fuyong

(Computer College, Dongguan University of Technology, Dongguan 523808, China)

With the improvement of malicious code complexity, requirements of malware detection method can not only achieve efficient detection, but also have good robustness to cope with the possible confusion test strategy. This paper investigates “both generations” artificial immune algorithms, that is, negative selection algorithm (NSA) and dentritic cell algorithm (DCA), applied in run-time malware detection, which is realized by capturing IRP sequence during the running program. Experimental results reveal that NSA is a practical algorithm for malware detection, while DCA has great uncertainty in detection accuracy.

artificial immune system; malware detection; negative selection algorithm; dentritic cell algorithm

2015-06-03

廣東省教育科學(xué)規(guī)劃課題(14JXN029)。

張福勇(1982—),男,山東龍口人,講師,博士,主要從事軟件測試、信息安全研究。

TP393

A

1009-0312(2016)03-0039-06

猜你喜歡
檢測器自體生命周期
動物的生命周期
全生命周期下呼吸機(jī)質(zhì)量控制
從生命周期視角看并購保險(xiǎn)
中國外匯(2019年13期)2019-10-10 03:37:46
民用飛機(jī)全生命周期KPI的研究與應(yīng)用
車道微波車輛檢測器的應(yīng)用
一種霧霾檢測器的研究與設(shè)計(jì)
低損傷自體脂肪移植技術(shù)與應(yīng)用
自體骨髓移植聯(lián)合外固定治療骨折不愈合
自體脂肪顆粒移植治療面部凹陷的臨床觀察
一體化火焰檢測器常見故障分析
河南科技(2014年22期)2014-02-27 14:18:12
沧源| 增城市| 新宾| 江安县| 南部县| 宿松县| 淳化县| 溧水县| 拉萨市| 莱州市| 灌阳县| 栾城县| 遵化市| 准格尔旗| 平阴县| 眉山市| 美姑县| 通渭县| 贡山| 黔东| 阿巴嘎旗| 樟树市| 邳州市| 曲周县| 拜城县| 嘉峪关市| 翁源县| 铜山县| 屯留县| 武隆县| 苏尼特右旗| 航空| 中牟县| 汉阴县| 乡宁县| 监利县| 类乌齐县| 沅陵县| 安岳县| 邵阳市| 县级市|