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