基于并行計算的木馬免疫算法研究
摘要:傳統(tǒng)的木馬檢測技術(shù)在檢測正確率、誤報率和漏報率上都有不足,針時傳統(tǒng)陰性選擇算法在檢測效率上的不足,提出一種基于并行計算的多特征區(qū)域匹配算法。這個算法首先把隨機字符串分為多個特征區(qū)域,每個特征區(qū)域內(nèi)對應一個檢測器集合進行匹配,而且特征區(qū)域之間采用r連續(xù)位匹配方式再次匹配,同時采用并行計算,設置匹配閾值進行匹配確認。實驗證明改進的陰性選擇算法在匹配位數(shù)和隨機字符串位數(shù)增加時,候選檢測器增加速度較平緩,系統(tǒng)負擔增加較緩慢,因此具有較好的檢測效率。
關(guān)鍵詞:并行計算;木馬檢測;免疫;算法
免疫算法是借鑒生物免疫系統(tǒng)中抗體識別抗原的原理發(fā)展起來的,是人工智能的一個新的研究領(lǐng)域,也是目前國內(nèi)外研究的一大熱點,許多研究學者都針對這一領(lǐng)域開展了深入、富有成效的研究工作。免疫算法主要模擬生物免疫系統(tǒng)中抗原處理的核心原理,運用免疫算法求解問題,本質(zhì)上是抗體識別抗原的過程,而抗體(檢測器)的產(chǎn)生是非常關(guān)鍵的一個步驟,關(guān)系到整個免疫檢測系統(tǒng)的運行效率。
常見免疫算法主要有陰性選擇算法和克隆選擇算法等。陰性選擇算法由Forrest等人在1994年提出,該算法步驟簡單,但卻實用有效,陰性選擇算法以r連續(xù)位匹配規(guī)則為基礎,實現(xiàn)局部匹配,算法效率較高。但其也存在著致命缺陷,因為當檢測字符長度增加或者匹配位數(shù)r增加時,檢測效率大大降低,系統(tǒng)開銷大大增加。
文中提出一種改進的陰性選擇算法,把總長度為L的字符串分成n個特征區(qū)域時,每一段特征區(qū)域產(chǎn)生一系列相應的檢測器子集合,然后采用并行計算的匹配方式,對于整體則采用r連續(xù)位匹配規(guī)則進行匹配。設定匹配閾值,如果匹配度高于該閾值則兩個字符串匹配,否則不匹配。
1 陰性選擇算法
在免疫系統(tǒng)中,按照機體內(nèi)外可以把整個機體分為“自我”和“非我”。將所要維護的正常模式行為或者系統(tǒng)的靜態(tài)行為定義成“自我”,將異常行為模式定義為“非我”。陰性選擇算法是個否定選擇過程,目的在于區(qū)分“自我”和“非我”。設免疫系統(tǒng)整個空間為U,“自我”為S,“非我”為N,它們滿足關(guān)系式:U=S∪N,S∩N=φ。陰性選擇算法以r連續(xù)位匹配規(guī)則為基礎,r代表一個閾值,是衡量單個檢測器能匹配字符串子集大小的指標。
圖1給出了采用陰性選擇算法產(chǎn)生檢測器的流程。
Forrest陰性選擇免疫算法簡述如下:1)分析問題,根據(jù)實際問題確定參數(shù)PM、NS、Pf、r,其中PM為匹配概率,NS為自體個數(shù),Pf為期望的檢測失敗率,r為閾值;2)隨機產(chǎn)生NS個長度為L的二進制字符串作為自體;3)計算所需檢測器個數(shù)NR與候選檢測器個數(shù)NH;4)產(chǎn)生檢測器,即隨機產(chǎn)生一個長度為L的字符串,并與自體進行比較,如果隨機產(chǎn)生的字符串與自體中任何一個字符串匹配,則丟棄該字符串;如果隨機產(chǎn)生的字符串與自體中所有字符串都不匹配,則保留該字符串作為檢測器。重復該過程直到得到NR個檢測器。其重復次數(shù)即為候選檢測器個數(shù)NH;5)驗證檢測效果,即改變自體中的某個字符串,并用所有檢測器與自體進行逐個比較,若出現(xiàn)匹配則表明檢測成功否則檢測失敗。
由表1可知,匹配概率PM、檢測失敗率Pf對系統(tǒng)整體性能有很大影響。設定檢測失敗率只和自體規(guī)模NS在一定范圍內(nèi)的時候,決定候選檢測器規(guī)模NH和檢測器規(guī)模NR的只有匹配概率PM。當PM增大,NH和NR呈指數(shù)形式增加,這將導致檢測時間大幅增加。而NH決定著系統(tǒng)的整體運行時間,NR決定著系統(tǒng)所占用的空間,因此PM的選擇范圍對整個系統(tǒng)性能起著決定性作用。傳統(tǒng)陰性選擇算法采用隨機生成字符串的形式,匹配概率PM的值就由兩個字符串間的匹配規(guī)則、匹配位數(shù)來決定。
評論