模塊化免疫神經網絡模型在計算機病毒分類檢測中的應用
0 引言
本文引用地址:http://m.ptau.cn/article/201610/309307.htm隨著信息技術的發(fā)展和互聯網應用的普及,計算機系統(tǒng)受到計算機病毒的威脅。計算機病毒分類檢測,指將可疑文件作為輸入,執(zhí)行某病毒檢測算法后輸出結果(無毒、帶毒/帶何種毒)的過程,實質上是對文件的分類。病毒分類檢測應屬于模式識別范疇。由于單一的技術無法有效地對抗計算機病毒,技術的融合并用及智能化,將是未來計算機病毒檢測的趨勢。故采用免疫算法和神經網絡的新型網絡模型,對計算機病毒分類檢測進行研究。
人工神經網絡和人工免疫系統(tǒng)都是受生物學的啟發(fā)發(fā)展而來的理論和技術,兩者在生物學原理和人工原理上各有異同。研究表明,免疫原理可以應用到神經網絡中,以提高神經網絡的性能;反之,神經網絡理論也可以應用到人工免疫系統(tǒng)中,從而產生一個相互之間可以受益的研究領域。
圖1中,抗原(Ag)表示神經網絡中輸入神經元到輸出神經元的權向量Wk(由抗體Ab和自體庫集S共同作用后,基本調節(jié)好的權向量),基于計算機病毒的入侵檢測中,代表一類網絡數據包,以二進制串表示??贵w(Ab)表示神經網絡中的輸入樣本。S代表自體庫集合。權值及輸入樣本和輸出單元都使用二進制,即只使用0和1表示,如圖2。

首先抗體庫中的向量都會和白體庫的向量進行識別。如果抗體庫中的向量一旦和自體庫中的向量匹配,則會進行剪枝操作。
沿用傳統(tǒng)的抗體網絡特征,規(guī)定ξj表示網絡中抗體j的抗原濃度,即抗體j所能識別的抗原個數。1個抗體細胞k與某種抗原細胞的親和力,由權向量與該抗體的漢明距離(Hamming)決定,可由式(1)得到與Ag可能性的最大狀態(tài)序列δ:

親和力δ越大,說明這種抗體能夠對此抗原進行較好的應答,保留。相反,通過剪枝的方式,從網絡中刪掉。把不與自身反應的抗體保留,進行對抗原的識別,進行后續(xù)的工作。
否定選擇后的抗體與抗原進行神經網絡的作用,規(guī)則如上,如果抗體不匹配,按照已有的神經網絡的權值算法的改進步驟進行權值的調整,以達到在給定抗體空間中擁有最大的解空間度,即2個抗體之間有最大的不相同度。
更新抗體種群,經過若干次的疊代運算,把抗體種群訓練收斂于一個較穩(wěn)定的集合,即學習過程完畢。學習完成后,可以用于計算機病毒檢測中。
2 模型設計思路
整個網絡的競爭學習步驟分為2部分:
第1部分:首先從抗體庫里根據概率密度P(Ab)選擇出1個抗體進行輸入。并和自體庫S進行運算,并設定閾值ε,當滿足式(2)時:

抗體經過了自體耐受,變?yōu)槌墒斓臋z測器,且不與自體發(fā)生免疫應答,是合格的檢測器。如果超過閾值ε,則從網絡中刪除此抗體節(jié)點??贵wAb1和自體集S中的S1產生了免疫應答。
第2部分:經過自體耐受的抗體分別和某個抗原Agk進行作用,在抗體內部設定1個ξi,一旦抗原的權向量和抗體的漢明距離超過閾值ε,ξj增加1,如果ξj長時間等于0,將此抗體從網絡中刪去。當ξj增加到1個常值M時,不再繼續(xù)增加,啟動1個計時器,按一定的間隔時間t遞減ξj,避免了長時間未產生應答的抗體繼續(xù)殘留在抗體庫中。新模型中的神經網絡處理單元如圖3。

在該模型中,每個神經元的基本性質相同,但具體形式不同。因此,每個神經元的激活函數被設計成可變形式,也就是說,激活函數的基本性質保持不變,但具體的形式應該可以通過調整函數的參數來改變,任一神經元i的激活函數可設計成:

3 抗體自體庫的建立
隨機獲取一組輸入向量抗原X,按照式(1)產生與X最匹配的中心序列k,把k添加到抗體群中。由于計算機病毒入侵檢測中在某段時間出現相同的入侵行為的概率較高,可根據網絡使用情況,進行最快速度的匹配運算,而不需要進行學習功能。
抗體自體庫主要由選擇抗體集、交叉抗體集和變異抗體集組成。
1)選擇抗體集的設計:是保證免疫算法種群優(yōu)勝劣汰的重要抗體集,且有較多的實現。
2)交叉抗體集的設計:交叉就是把2個父個體的部分結構加替換重組而生成新個體的操作,其目的是能在下一代產生新的優(yōu)化抗體集。
3)變異抗體集的設計:因免疫算法中變異抗體集以輔助手段出現,故采用本位變異的方法即可。
4 仿真實驗
其訓練方法如圖4。

4.1 仿真訓練初始數據的收集
目前世界上很多研究機構和研究人員致力于計算機病毒入侵檢測方面的研究和系統(tǒng)開發(fā),提供了一些測試資料集合,包括網絡資料、基于主機的審計資料和系統(tǒng)調用序列。
網絡傳輸協(xié)議/網絡協(xié)議(TCP/IP)對需要組織傳輸的資料包進行打包。TCP層在包中加入了頭信息如:源埠、目的埠、序列號、ACK確認號、偏移量、SYN、FIN、窗口和緊急指針等。含有TCP頭信息的包被送到IP層,加IP資料包頭如:包頭長度、服務類型、資料包長度、分段偏移量、生存期、協(xié)議類型、源地址和目標地址等。而正常和異常的數據包都在網上傳輸,其特征是有差別的。
為測試改進后的網絡在病毒入侵檢測應用中的效果,采用了具有30萬條數據記錄的測試數據集,每條數據包括了網絡數據包的包頭信息、網絡連接信息和數據信息等,每條數據包含96位的二進制代碼。其中前32位二進制為源IP地址,32-64位二進制為目標IP地址,64-96位二進制表示了一些數據信息,每個數據被標記為異?;蛘哒?。該數據源由MATLAB利用random()函數產生一組隨機的小數,因為考慮到是二進制運算,規(guī)定:

這樣隨機產生的二進制串96個為一組,模擬的IP數據包,一共產生96萬個二進制串組合。
4.2 抗體自體庫仿真訓練(自體庫的建立)
使用這1萬條數據進行自體庫的建立和神經網絡的學習。在不斷調整抗體自體庫的同時,使自體庫的解空間在最大程度上得到提高,最后趨近與一個穩(wěn)定的自體庫接集合。利用建立好的抗體檢測庫檢測未知的29萬條數據紀錄。仿真試驗算法如下:
4.3 病毒入侵檢測算法的仿真訓練
建立起自體庫后,進行病毒入侵檢測算法的仿真試驗,步驟如下:

首先,引入新的一組數據向量,與自體庫也就是所謂的記憶細胞匹配,如果在一定的閾值范圍內匹配度很高,則認為該向量為入侵行為,并把匹配度提升1;相反,如果匹配度不高,則找出記憶細胞里與之親和力較大的進行權值的調整,達到兩者之間的最優(yōu)匹配度,然后把新的向量作為抗體集合加入到記憶細胞,重復操作,完成后統(tǒng)計結果。
檢測算法仿真程序如下:


4.4 實驗結果統(tǒng)計
在模式識別領域中,Receiver OperatingCharacteristics(ROC)曲線用于比較不同分類檢測算法的性能。曲線下的面積越大,則算法分類檢測性能越好越穩(wěn)定。圖5為該模型與遺傳算法模型以及傳統(tǒng)抗體模型的基于MATLAB環(huán)境下的仿真測試ROC圖??梢?,集成新型抗體模型網絡ROC曲線下方的面積要大于其它2個網絡模型的面積。說明基于模塊化的免疫神經網絡模型的計算機病毒檢測模型性能要優(yōu)于其它2個,正好支持了文獻[2]的結論。文獻[2]對基于n-gram的惡意代碼檢測取得了很好的效果,一共測試了8種分類器,結果如圖5、圖6,其中Boosted J48性能最優(yōu)。

分析以上實驗數據,可得到以下結果:
1)由表1可知,自體庫選得過小,會造成單抗體的高擾動率,頻繁更新抗體群,缺乏抗體的多樣性,覆蓋范圍減小。
2)自體庫過大,會造成訓練網絡的時間增多。擬采用200條為自體庫大小,對這30萬條數據記錄通過新模型進行檢測,并與單免疫算法模型和傳統(tǒng)的抗體網絡模型進行對比,如表2。雖然此網絡模型在時間上略遜于其他兩種已知算法模型,但在準確率上卻有明顯的提高。

5 小結
由實驗可知,基于免疫算法和神經網絡的新型網絡模型降低了傳統(tǒng)的病毒入侵檢測模型的誤報率和漏報率,提高了免疫系統(tǒng)的學習效率和系統(tǒng)的智能化程度,在系統(tǒng)的容錯性上也有較大的改善,對提高系統(tǒng)的檢測能力具有重要意義。
評論