1 引 言
網絡入侵的早期特征是影響網絡入侵早期檢測效果的關鍵. 面向網絡入侵檢測的特征選擇是對高維的入侵特征數據集進行選擇,得到較低維度的、能夠反映入侵行為本質的特征組合,以降低構建入侵檢測模型的復雜度,提高入侵檢測率.基于神經網絡的入侵檢測是智能化入侵檢測的重要技術,它采用入侵特征數據集訓練神經網絡模型,利用神經網絡模型進行入侵檢測. 與傳統的入侵檢測技術相比,基于神經網絡的入侵檢測具有良好的可拓展性及自適應能力. 然而,由于入侵行為的多樣化與復雜性,入侵特征提取一直是基于神經網絡的入侵檢測技術發展的瓶頸. 現有的基于神經網絡的入侵檢測研究絕大多數基于 KDD99 入侵特征數據集進行實驗.但基于 KDD99 的入侵檢測因受限于其復雜的預處理過程而無法實現在線檢測,為此我們開展了網絡入侵早期檢測方法研究[1],提出一組可支持在線實時提取的入侵早期行為特征,這組特征共計 39 維. 基于這組早期特征,構建基于 SOM神經網絡的入侵檢測模型,不僅實現了基于神經網絡的在線入侵檢測,而且能夠在入侵發生的早期\\( 異常流的前 N 個包\\)實施檢測. 但是這組早期特征集的維數較多,建立入侵檢測模型消耗的時間較大. 同時,冗余特征也會縮小入侵特征向量間的差別,從而影響入侵早期檢測的準確率.本文以降低入侵檢測建模代價、提高入侵早期檢測率為目標,在基于 SOM 神經網絡的入侵早期檢測研究的基礎上,進一步開展入侵早期特征選擇研究.
2 相關工作
面向入侵檢測的特征選擇方法有兩種模式: filter 模式和wrapper 模式[2]. filter 模式利用特征向量本身的特質作為衡量準則,選出特征相關性最小的組合. wrapper 模式以機器學習算法作為評價模型,直接通過檢測率選出最優特征組合. 朱永宣采用 Relief 算法去除原始特征中與分類無關的特征,然后再利用主成分分析法\\( PCA\\) 變換提取適當個數的特征[3].Sutton 等人采用獨立主成分分析法\\( ICA\\) 進行的特征選擇研究,獨立主成分分析法是對主成分分析法和因子分析的一種拓展[4]. 陳友 等人進行了基于信息增益及基于關聯特征\\( CFS\\) 的特征選擇操作,通過衡量特征子集的信息量及特征間關聯程度進行取舍[5]. 以上研究都是基于 filter 模式的特征選擇方法,其操作速度較快,但其評價結果與真實的機器學習檢測率的誤差較大,效果不佳. 遺傳算法作為啟發式搜索算法,在面向入侵檢測的 wrapper 特征選擇中應用較廣泛. GStein 等人使用遺傳算法作為搜索策略,使用決策樹作為分類器進行了基于 KDD99 的入侵檢測實驗[6]. K Gim 等人將遺傳算法與 SVM 結合,同時將遺傳算法運用在特征選擇和 SVM參數優化中[7]. 基于遺傳算法與機器學習的 wrapper 模式特征選擇方法計算量較大,同時其優化的特征子集的檢測率也較高. 但是遺傳算法作為重要的優化方法本身也具有一定缺陷.遺傳算法是一種通過模擬達爾文進化論及遺傳基因理論,搜索最優解的計算模型[8]. 遺傳算法的迭代過程可以被描述為一個馬爾科夫鏈,通過對馬爾科夫鏈的分析[9],得到結論: 1\\) 遺傳算法不能以概率 1 收斂到全局最優解. 2\\) 在逐代的進化過程中,保留最優解,以交叉和變異作為隨機化算子,則當進化代數趨向于無窮時,遺傳算法將以概率 1 收斂至全局最優解.以上結論說明遺傳算法在追求種群向目標函數整體進化的過程中,種群模式趨于單一化,基因多樣性具有局限性,容易陷入局部最優解. 另外,作為一種隨機搜索算法,遺傳算法具有不確定性. 即使是采用相同的初始種群及其他參數,優化結果也不一定相同. 為了獲得更具穩定性的優化結果,克服遺傳算法的局部收斂問題,本文提出一種結合頻率篩選的遺傳算法\\( Genetic Algorithm with Frequency-based Selection,以下簡稱 GAFS\\) ,該算法以 SOM 神經網絡作為評價模型,通過多次運行遺傳算法,改善種群基因多樣性,增強了搜索的全局收斂效果,從而大幅度提高了搜索結果的穩定性. 基于該方法,本文對網絡入侵的早期特征集進行了特征選擇實驗,得到一組較小維度的網絡入侵早期特征優化組合,適用于基于神經網絡的入侵早期檢測.
3 基于 GAFS 的特征選擇方法
面向入侵檢測的特征選擇由搜索與評價組成. N 維特征集合具有 2N1優子集. 評價是指根據統一標準對搜索到的特征子集進行評分,依據評分確定下一步的搜索方向或當特征子集達到停止準則終止搜索. 面向入侵檢測的特征選擇方法,常使用入侵檢測準確率作為正確性評價標準[10].單次的遺傳算法是從某個隨機的初始種群出發,由選擇、交叉、變異產生子代,利用神經網絡的入侵檢測準確率作為評價的依據,經過逐代的進化,得到最優解,即單次遺傳算法優化的特征子集. 基于 GAFS 的特征選擇流程如圖 1 所示,它通過多次運行遺傳算法,統計多個最優解中特征出現的頻率,利用頻率篩選過程淘汰被選頻率低于某一頻率閾值的特征,重新組合得到原始特征集的最優子集. 圖 1 中特征選擇停止準則可以是遺傳算法的迭代次數或特征選擇算法的執行時間.3. 1 適應度函數遺傳算法依據適應度函數評價個體的優劣. 為將優秀基因遺傳至下一代,會選擇適應度高的個體作為父代參與下一代的遺傳操作,所以適應度函數是決定下一步搜索方向的重要依據. 本文采用基于 SOM 神經網絡的入侵檢測準確率及漏1基于神經網絡的入侵檢測通過自學習建立數學模型,實現數據分類及數據預測等功能. 通過對預測結果的統計,可以得到入侵檢測率\\( DR\\) 和系統漏報率\\( FAR\\) 兩個性能指標,這兩個指標的定義如下:【1】
其中,TPi表示正確檢測到的異常 i 的樣本數; FPi表示被誤報為該異常而非該異常的樣本數; TTP 表示正確檢測到的所有異常樣本數; FN 表示被檢測為正常的異常樣本數.由于不同種類的網絡入侵對同樣定義的特征敏感度不同. 所以適應度函數的定義需要綜合特征子集對多種入侵的檢測效果,是一個多目標遺傳優化問題. 同時,訓練樣本數量直接影響神經網絡的學習效果,所以本文根據訓練數據集中各異常樣本的比例,計算各異常檢測率及系統漏報率的加權平均值,將多目標轉化為單目標來進行遺傳算法優化. 適應度函數的定義如下:【2】
其中,j 表示訓練數據集中異常的種類; ti表示訓練數據集中異常 i 的樣本數; tnormal表示訓練數據集中正常數據樣本數; t 表示訓練數據集樣本總數.3. 2 選擇、交叉與變異本文采用二進制編碼[11]方法將問題的解映射為串,0 代表不選擇該特征,1 代表選擇該特征. 每個串為一個個體,若干個體構成一個種群. 隨機產生 N 個二進制串構成一個初始種群.選擇是從當前種群里依據概率挑選出優秀個體作為父代將基因遺傳子代. 為了保證優質個體不因概率選擇而流失,最優個體不會因為選擇、交叉、變異操作而被破壞,本文采用帶有精英保留策略的輪盤賭選擇操作[12]. 將種群中最優個體直接選入下一代,再進行賭輪盤操作,選出 n 個父代個體.另外,采用單點交叉算子及單點變異算子進行遺傳算法的交叉和變異操作.3. 3 頻率篩選頻率篩選是依據單次遺傳算法優化的最優解中特征出現的頻率,重新組合得到最優特征組合的過程. 假設 Y\\( y1,y2,…,ym\\) 表示多次運行遺傳算法得到的最優解集,yi表示第 i個最優解,m 表示遺傳算法的運行次數,n 表示原始特征集維度,按照遺傳算法的二進制編碼規則:【3】
最后,選出 Zj中所有為 1 的特征,得到最優特征組合. 對于公式\\( 6\\) 中頻率閾值 Th 的選擇需注意: 頻率閾值過低,不能完全去除冗余特征; 而頻率閾值過高,則會導致有用信息的丟失. 頻率閾值可通過實驗分析的方式獲?。?br>
4 基于 GAFS 的特征選擇算法描述
輸入: 原始入侵早期特征數據集 Data輸出: 最優特征組合\\( SF\\)參數: group,重復運行遺傳算法的次數; N,初始種群大小; generation,最大計算代數; q,交叉概率; p,變異概率; Th,頻率閾值;1: FOR k = 1: group2: SF←φ;3: 生成初始種群 SSNP\\( 0\\) ;4: OptSF←GA\\( SSNP,generation,p,q\\) {5: FOR i = 1: generation6: FOR j = 1: N7: 生成訓練數據集\\( Data,SSNP\\( i\\)j\\) ;8: 生成測試數據集\\( Data,SSNP\\( i\\)j\\) ;9: DR,FDR←SOM\\( 訓練數據集,測試數據集\\) ;10: fitnessj111: END FOR12: Best\\( SSNP\\( i\\) ,fitness\\) ;13: Select\\( SSNP\\( i\\) ,fitness,N\\) ;14: Crossover \\( SSNP\\( i\\) ,q\\) ;15: Mutation\\( SSNP\\( i\\) ,p\\) ;16: 添加第 i 代最優個體至 SSNP\\( i + 1\\) ;17: END FOR18: OptSF←最后一代種群 SSNP\\( generation\\) 的最優個體;120: SF←SF∪OptSF;21: END FOR22: SF←Sort\\( SF,Desc\\) ;23: SF←SF-頻率篩選\\( SF,頻率 < Th\\) ;5 實驗及結果分析本文在基于神經網絡模型的網絡入侵早期檢測研究[1,13-14]的基礎上,對入侵早期特征集進行了特征選擇實驗,從已有研究確定的高維入侵早期特征集中提煉出更有效的優化特征組合.原始入侵早期特征集共計 39 維: { Abytes,Bbytes,Apack-ets,Bpackets,meanApktl,meanBpktl,pclt _ svr,bclt _ svr,Apack-ets1,Bpackets1,meanApktl1,meanBpktl1,Apackets2,Bpackets2,meanApktl2,meanBpktl2,Apackets3,Bpackets3,meanApktl3,meanBpktl3,protocol,service,src_port,dst_port,flow_state,syn_count,syn_rate,ack_rate,rst_count,rst_rate,same_srv_rate,same_src_count,same_src_rate,same_dst_count,same_dst_rate,same_srv_same_dstip_rate,same_srv_diff_dstip_rate,diff_port_same_dstip_rate,diff_srcip_same_srv_rate} ,按順序包含 5 類: 1\\) 基于應用層交互行為的早期特征,共計 20 個. 這類特征通過捕獲一個流的前 N 個流數據回合\\( FDR\\) ,統計基于 FDR 的特征,它是由前 N 個 FDR 的特征和第 1 ~ N 個單個 FDR 的特征組成,其中前 N 個 FDR 的特征為 8 個,包括前 N 個 FDR 中雙向通信的數據分組數、字節數、平均分組大小、雙方通信的分組數之比、及雙方發送的字節數之比; 單個 FDR 特征為 4 個,包括每個 FDR 中雙向通信的數據分組數和平均數據分組大小,N 取值為 3,共計可提取 12 個. 2\\) 傳輸層基本特征. 共計 4 個,包括協議類型、服務類型、源端口號、目的端口號; 3\\) 流狀態特征. 共計 1 個,是指早期統計周期結束時流的狀態; 4\\) 傳輸層控制信息統計特征. 共計 5 個,包括 TCP 流的多種控制信息占整個流的比例; 5\\) 流量關聯統計特征. 共計 9 個,包括與當前流有著相同服務的流占所有流的比值等特征,用于描述應用流之間的關聯.【4】
我們在局域網中搭建了入侵檢測實驗環境,圖 2 是實驗網絡環境部署圖. 兩個集線器級聯,其中一個集線器上連接基于神經網絡的入侵檢測服務器、應用服務器、多個用戶終端;另一個集線器上連接模擬攻擊終端.我們利用軟件 Blade IDS Informer 模擬了600 多種攻擊. 在改變參數反復模擬后,總共采集了 2 萬 8 千多條網絡攻擊流.對每一條網絡流分別提取包含 39 維的早期入侵向量數據,形成優化前的原始實驗數據集\\( 包括訓練及測試數據集\\) . 通過對優化前的實驗數據集按照優化的特征子集進行壓縮,同時保留了實驗數據的數目,形成優化后的實驗數據集.入侵檢測實驗中所選用的攻擊類型、訓練數據數目、測試數據數目如表 1 所示.【5】
本文使用優化前和優化后的實驗數據集,基于 SOM 神經網絡入侵檢測方法進行了入侵檢測實驗,實驗結果如表 2 所示. 使用39 維的原始實驗數據集進行入侵檢測實驗,入侵的檢測率如表中第二列所示; 我們用遺傳算法進行多次特征選擇,得到多個特征子集,并分別構造多個優化后的實驗數據集進行入侵檢測實驗,表中第三列為多次遺傳算法優化后所獲得的檢測率均值; 進一步使用 GAFS 算法進行特征選擇,得到 GAFS 算法優化后的特征子集,并形成 GAFS 算法優化后的實驗數據集進行入侵檢測實驗,實驗中我們令頻率閾值 Th 分別取 30%—50% 進行多次實驗,實驗結果表明頻率閾值設為 40% 入侵檢測效果最佳,表中第四列為 GAFS 算法優化后所獲得的最佳檢測率.【6】
GAFS 算法優化后的特征子集包括 29 個特征: { protocol,service,src_port,flow_state,syn_count,syn_rate,rst_count,same_srv_rate,same_src_count,same_src_rate ,same_dst_count,same_dst_rate,same_srv_same_dstip_rate,same_srv_diff_dstip_rate,diff_ srcip _ same _ srv _ rate,Abytes,Bbytes,Apackets,Bpackets,meanBpktl,pclt_svr,bclt_svr,Apackets1,meanApktl1,meanBpk-tl1,Apackets2,Bpackets2,meanBpktl2.原始特征集實驗結果中,nmap 的檢測率偏低,通過對檢測過程跟蹤發現大部分的 nmap 攻擊被誤報成 flood 攻擊. 這是由于 nmap 攻擊和 flood 攻擊在某些基于 FDR 的行為上發生了雷同. 經遺傳算法優化過后,去除某些冗余特征,nmap 的檢測率明顯提高,其他入侵的檢測率也有 1% ~ 5% 的提高.從表 2 中不難發現,經過 GAFS 算法優化的特征子集,比遺傳算法優化的特征子集更精確,更有效的區分了不同入侵的早期行為,取得了更好的入侵檢測效果.同時,神經網絡學習算法的效率與數據向量維數直接相關. 使用相同數量的原始訓練數據集,特征向量集為優化前的39 維時,模型訓練時間為 80. 23s; 特征向量集為優化后的 29維時,模型訓練建模時間為 37. 68s. 由此可見,經過 GAFS 算法進行特征選擇后,大幅度縮小了神經網絡建模的復雜度,提高了神經網絡學習算法效率.
6 結 語
本文結合基于神經網絡的入侵早期檢測的實際問題,為進一步改進早期檢測效果,基于遺傳算法對網絡入侵早期特征選擇方法進行了研究. 提出一種 wrapper 模式的、以 SOM 神經網絡作為評價模型的基于 GAFS 的網絡入侵早期特征選擇方法.在局域網環境下模擬網絡入侵,收集正常及各種入侵流量的特征數據集,進行了基于 SOM 神經網絡的入侵早期檢測實驗. 通過基于 GAFS 的特征選擇方法,將原始 39 維網絡入侵早期特征優化至 29 維. 實驗結果對比分析表明,優化的特征組合對各類入侵的入侵檢測率提高了 5% ~15%. 同時,大幅度減少了神經網絡模型的建模時間,提高了學習效率,達到預期效果.通過加權平均值將多目標問題轉換為單目標,雖然簡化了遺傳算法處理過程,但并不是最佳的對多目標問題的處理方法. 未來的研究中,可以采用多目標遺傳算法進行優化,再結合頻率選擇開展網絡入侵早期特征選擇方法的進一步研究.
References:
[1]Liu Bai-lu,Yang Ya-hui,Chen Qing-ni,et al. Study and implementa-tion of early network intrusion detection method[J]. Computer Engi-neering,2013,39\\( 7\\) : 1-6.
[2]Kohavi R,John G H. Wrappers for feature subset selection[J]. In Ar-tificial Intelligence Journal Special Issue on Relevance,1997,97 \\( 1-2\\) : 273-324.
[3]Zhu Yong-xuan. Research on intrusion detection based on pattern rec-ognition[D]. Beijing: Beijing University of Post and Telecommunica-tion,2006.
[4]Sutton C,Rohanimanesh K,McCallum A. Dynamic conditional ran-dom fields: factorized probabilistic models for labeling and segmentingsequence data[C]. Proceedings of the Twenty-first International Con-ference on Machine Learning. ACM,2004: 99.
[5]Chen You,Cheng Xue-qi,Li Yang. Lightweight intrusion detectionsystem based on feature selection[J]. Journal of Software,2007,18\\( 7\\) : 1639-1651.