前言:尋找寫作靈感?中文期刊網用心挑選的神經網絡異常數據識別在信息安全中應用,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。
摘要:為了探究基于PCA的BP神經網絡異常數據識別在信息安全中的應用,以MATLAB軟件為仿真平臺,通過PCA和BP神經網絡對KDDCUP99數據集中3種11類攻擊進行了仿真實驗。研究成果表明主成分分析法的降維算法能大大提升異常數據識別效率;BP神經網絡又大大提高了信息安全系統的泛化能力和魯棒性;仿真結果進一步證明這種將PCA技術和BP神經網絡相結合的方法大大提升了信息安全異常數據檢測中的檢測性能和準確性。
關鍵詞:PCA;BP神經網絡;異常數據識別;信息安全
0引言
計算機技術的迅猛發展促生了大數據和信息化的誕生,這給人們的生活和工作帶來了極大便利,例如2020年年初,在肺炎疫情防控過程中,通過手機信號、出行記錄等大數據,就能比較容易地追蹤到密切接觸人群。人們在享受諸多便利的同時,信息化也將人們的(隱私)信息暴露在了互聯網中,如果不對其加以嚴格的保護,就意味著每個人都可能被他人一覽無余。同樣地,如果不對商業數據、政治機密等信息加以保護,造成的后果將會不堪設想[1-3]。近年來,不斷有團隊致力于信息安全方面的研究,尤其在BP神經網絡和主成分分析法(PCA)等方面的研究成果頗豐[4-5]?,F有研究發現,基于BP神經網絡的模型雖然能較好地完成系統安全漏洞檢測和病毒傳播等不利于信息安全的因素的識別,但它在異常數據檢測方面的能力明顯欠缺[6]。而PCA技術在保留源數據特征基礎上的降維處理方法,正好能夠彌補基于BP神經網絡模型的缺陷[7]。為此,本研究就基于主成分分析法的BP神經網絡的異常數據識別技術在信息安全中的應用展開研究,旨在為大數據時代信息安全的實現提供理論支持。
1基本原理
1.1主成分分析法
(PCA)基本原理大數據展現在人們面前的第一特征就是數據量巨大,如今更是需要以Z(10億個T)作為單位去衡量,保障信息安全,首先應該具備大數據的處理能力[8-9]。但面對如此龐大的數據群,如果所有數據均做處理,對計算機的性能要求極高、數據處理所需時間長。降維處理理念讓主成分分析法(以下稱PCA)脫穎而出。假設N為一個n維集合,A是N上的一個線性映射,xi是特征值λi對應的特征向量,其中i=1,2,…,n。經過主成分分析法把n個特征向量綜合成n個綜合變量,如式(1)。yi和yj在i≠j的條件下相互正交。記y1和yn分別為滿足式(1)的一切線性組合中方差最大和方差最小者。對于主成分分析法主分量,一般關注貢獻率在90%以上的集合,將第i個主分量的貢獻率定義為式(3)。設前m個(m<n)主分量的貢獻率(∑mi=1λi/∑nk=1λk)可得要求的90%,則在研究中,便可以用m個分量代替源數據的整體,這樣的降維處理能減少待處理的數據量,進而提高數據處理效率。
1.2BP神經網絡基本原理
與生物神經元各部分功能相類似,人工神經元中樹突用于接收傳輸過來的數據信號(用輸入數據x1,x2,…,xn表示);細胞體中的細胞核為BP神經網絡的核心,用于處理樹突接收的數據信號(用激勵函數f()e表示);軸突則用于輸出經過激勵函數處理過的數據信號單元(yi),如圖1所示。圖1(a)為人工神經元示意圖,圖1(a)中[x1,x2,…,xn]為輸入數據信號;[Wi1,Wi2,…,Win]為權值;Wi0為閾值;f()e為激勵函數;yi為數據信號輸出。人工神經網絡主要有分層型和互連型神經網絡,其中分層型神經網絡又可以分為一般前饋型網絡、反饋型前饋網絡和內層互聯前饋網絡,基于主成分分析法的數據處理過程可以看出,在本次研究范圍內,主要用到的是一般前饋型網絡,其網絡拓撲結構示意圖[10]如圖1(b)所示。一般前饋型BP神經網絡由輸入、中間層和輸出層組成。每一層之間互相連接,同層之間相互獨立,其數據訓練過程為:數據信號從輸入層進入,經中間層處理后從輸出層輸出。
2PCA結合BP神經網絡檢測方法模型
為了能夠及時保障信息安全性同時盡可能滿足經濟性原則,PCA結合BP神經網絡的檢測方法即先采用主成分分析法,從待處理的數據集A中獲得的特征數據集為N,并得到其n個特征值對應的特征向量x1,x1,…,xn,然后確定所需貢獻率,并根據貢獻率確定下一步需要研究的m維數據。確定實際需要處理的數據后,導入人工神經網絡模型中進行計算,檢測模型流程圖[11]如圖2所示。分步對圖2所示基于PCA的BP神經網絡異常數據識別的流程圖做如下詳細介紹。(1)從待處理的數據集A中獲得的特征數據集為N。(2)計算得到N的n個特征值對應的特征向量x1,x1,…,xn,然后確定所需貢獻率,并根據貢獻率確定下一步需要主要研究的m維數據。(3)隨機將數據集N中入侵樣本X=[x1,x2,…,xn]作為輸入數據,提供給人工神經網絡模型。(4)先計算得到式(4)。然后由激勵函數計算出人工神經網絡中的核心層,如式(5)。y1=f1(W(x1)1x1+W(x2)1x2+W(x3)1x3)(5)(5)計算并得到θ2=W(f2)1θ,并與預期誤差比較,如在接受范圍內則結束數據訓練,否則進入下一步。(6)修正θ=z-y,重復計算,直至所得θ2在預期誤差范圍影響之內。(7)重復步驟(3)—步驟(7),直至N中所有的子集均收斂,結束數據訓練。
3仿真實驗
3.1基本信息
本研究借助于被廣泛應用于數學、計算機和系統仿真等領域的軟件MatrixLaboratory(俗稱MATLAB)進行仿真實驗。如表1、表2所示。表1和表2中KDDCUP99數據集是信息安全領域比較權威的數據集[11],該數據集提供了數據總量(4898431條記錄)10%的樣本供實驗測試所用,本研究的仿真實驗就是借助于這部分數據完成的。
3.2仿真數據處理
實驗所用數據子集中共計包含494021條數據信息,對這些數據首先借助于SQL2016進行無效數據清除,共計清除384487條無效信息,保留145534條。為了節約數據處理時間,本研究選取NORMAL、DOS、R2L和PROBE攻擊,并去除攻擊數目小于30的數據作為研究對象,并預設貢獻率為90%。攻擊類型及相應的數目如表3所示。仿真實驗過程中,MATLAB無法處理非數值型信息,而樣本數據庫中二維、三維和四維均非數值型信息,本次研究中用數值“1”代替這些信息[12]。在對某類型攻擊識別前先按普通數據∶攻擊數據=9∶1的比例選取數據,并按NUMBER(Train.txt)∶NUMBER(Test.txt)=4∶1的比例分別儲存。
3.3仿真結果分析
上述3類11種攻擊類型進行仿真實驗,將測試所得的異常數據總量和總異常數據量之比定義為“識別率”,攻擊中被錯誤地判斷為正常數據的數據量與該測試樣本中攻擊數據的總量之比定義為“誤報率”,經過計算得到仿真結果如表4所示。由表4可見,本次實驗中,識別率均高于90%,其中識別率高于95%的共計5個,占比45.45%,這也說明了PCA和BP神經網絡在異常數據識別中能夠滿足預設90%識別率的目標。根據數據處理過程,隨著數據存量的增大,處理過程會變得更加復雜,但識別率會得以提升。
4總結
本研究從對主成分分析法和人工神經網絡基本原理介紹入手,首先對PCA結合BP神經網絡檢測方法模型進行了介紹,然后以MATLAB軟件為仿真平臺,對KDDCUP9數據集中3種11類攻擊進行了仿真實驗。研究成果表明:主成分分析法可以在計算的基礎上,刪減掉無效信息從而得到比數據總量小得多但保留原有數據集特征的新的數據集,同時在預設貢獻率的基礎上,還能進一步對新的數據集進行縮減后再參與計算,從而實現降維效果,大大縮減了數據處理所需耗費的人力物力;配合一般前饋型BP神經網絡算法,在快速計算的同時,保證攻擊數目識別率達到90%以上。綜上可見,在大數據時代,基于PCA的BP神經網絡異常數據識別技術終將在信息安全中得到更加廣泛的使用。
作者:李小華 單位:延安職業技術學院公共課教學部