彭寧 任薇 范會麗



摘要:互聯網環境的復雜性造成網絡連接數據的海量化和繁復性,使得入侵檢測時間長效率低。因此,提出一種基于核主成分分析(KPcA)和孿生支持向量機(TSVM)的入侵檢測方法(KPCA-TSVM)研究。KPCA可以將原始高維數據映射成低維數據,TSVM比支持向量機具有更高效的檢測精度和分類效果。使用Python語言對KPCA-TSVM模型在經過字符映射和歸一處理后的KDDCUP99數據上進行實驗模擬,結果表明該模型是一種有效的檢測方式。
關鍵詞:機器學習;核主成分分析;孿生支持向量機;入侵識別;數據特征提取
中圖分類號:TP393 文獻標識碼:A
文章編號:1009-3044(2019)32-0198-02
1概述
入侵檢測(Intrusion Detection)是指通過對網絡連接數據和計算機中關鍵點信息的監測,檢測出是否有威脅計算機安全的行為發生,并在此基礎上發出警報和進行預警處理。人們的日常生活也因為網絡的普及而簡化了許多煩瑣的方式,它在帶來巨大便利的同時也使得網絡安全問題日趨嚴峻,例如各大運營商用戶信息的泄露,震驚全球的勒索病毒等等。面對日新月異、種類多變的網絡攻擊手段,基于傳統異常檢測和誤用檢測方法在入侵檢測系統研究(Intrusion Detection Systems,IDS)上進入了瓶頸期。為解決這一難題,研究學者將當下熱點研究機器學習應用于入侵檢測領域中,如支持向量機(Support Vector Ma-chine,SVM)t21、樸素貝葉斯網絡、粒子群算法、決策樹等,經實驗證明這些方法在IDS中皆取得了令人滿意的效果。然而,由于網絡入侵原始數據特征維度多,數據量大的特點,會導致準確率低,耗費時間長,影響檢測的整體效果,因此提出一種基于KPCA和TSVM的入侵檢測模型。
KPCA將大量高維非線性數據在保持原有數據特征信息的基礎上使原始數據映射到低維空間,大幅度減少數據的維數,去除冗余,獲得更具有代表性特征的數據,從而更有利于分類和識別。TSVM是比SVM具有更高的分類精度,而且時間只是SVM的四分之一。以KDDCUP99為實驗數據,驗證KPCA-TSVM方法提高入侵檢測準確率的同時并降低誤報率,為IDS研究開拓了新的研究思路。
2相關知識
2.1KPCA
主成分分析(PCA)只能提取數據中的線性特征或篩選方差最大的特征數據,以致用PCA降維的數據用于分類獲得的結果并不理想。KPCA利用核函數將原始數據映射到高維度空間,再利用PCA算法進行降維,這樣不僅減小了計算量,同時又可以進行非線性映射KPCA有效地提取原始輸入數據集的非線性信息,從而使映射出的低維數據更利于分類和入侵識別檢測。
2.2TSVM
TSVM于2007年提出,它是對正負兩類樣本點分別構造一個分類超平面,同時遠離另一類樣本點。TSVM的兩個超平面是將SVM中的一個二次規劃問題(QPP)分成兩個規模較小的QPP得到嘲,這樣既簡化了計算復雜度,又使樣本訓練時間縮減為傳統SVM的1/4,還具有較高的分類精度。
其中A和B分別代表正和負兩類樣本,e1和e2分別為對應的單位變量,c,和c:是A和B的懲罰因子,ζ1ζ2是松弛變量。公式(2)表示求得的超平面使其盡量擬合正類樣本A的同時遠離負樣本B。同理公式(3)代表的超平面盡可能擬合負類樣本B而同時遠離樣本A。
3 KPCA-TSVM方法
本文提出的KPCA-TSVM方法總體架如圖1所示,包含三個步驟:
1)數據預處理
KDDCU99中的數據既有數值型又有字符型,然而字符型的數據不能直接用于模型的入侵識別,需要先把字符屬性的數據通過字符映射的方法全部轉換成數值類型的數據;再將所有數據歸一到0-1之間,去除屬性量綱影響。
2)KPCA降維
將歸一化后標準數據進行特征提取,降低原始數據的屬性特征,獲得非線性、最優的低維數據表示。
3)TSVM識別
對入侵數據進行識別,檢測數據的異常情況。
4實驗結果與分析
實驗采用Windows 7系統,運行內存8GB,處理器是i5,使用Anaconda和Pycharm的python語言環境。利用python第三方庫sklearn里自帶的函數將KDDCUP99數據集分割成訓練集和測試集。本文通過SVM、KPCA-SVM、TSVM、KPCA-TSVM四個方法對比入侵檢測準確率。由于RBF核函數參數設置少,且非線性分類性能好,所以采用RBF核函數。
表1是四種方法在數據集上進行多次實驗得到的平均檢測精度結果。
從實驗結果看,TSVM比SVM具有較高的分類作用,而經過KPCA降維后的數據再用分類器識別,具有更精準的檢測效果。
5結論
對于入侵檢測數據量大并具有高維特征的問題,需要把降維的必要性考慮到研究中去。本文提出的KPCA-TSVM方法,利用KPCA進行特征提取,然后用TSVM分類器進行入侵識別。實驗表明,此方法具有很好的檢測效果,是一種行之有效的入侵檢測手段。