程艷艷
(鄭州工業(yè)應(yīng)用技術(shù)學(xué)院 信息工程學(xué)院,鄭州 451100)
隨著信息化時(shí)代的來(lái)臨,網(wǎng)絡(luò)已成為人們?nèi)粘I畈豢苫蛉钡囊徊糠?,給我們的工作、學(xué)習(xí)提供了諸多方便,但另一方面互聯(lián)網(wǎng)規(guī)模的擴(kuò)大帶來(lái)了海量數(shù)據(jù)的傳輸以及資源開(kāi)放共享,使得網(wǎng)絡(luò)攻擊行為越來(lái)越多,網(wǎng)絡(luò)安全防護(hù)已成為未來(lái)網(wǎng)絡(luò)發(fā)展的重點(diǎn)[1].計(jì)算機(jī)網(wǎng)絡(luò)防御系統(tǒng)主要由4個(gè)模塊組成,包括防御模塊、檢測(cè)模塊、應(yīng)對(duì)模塊以及恢復(fù)模塊.防御模塊是被動(dòng)形式的防線(xiàn),不能靈活地應(yīng)對(duì)復(fù)雜多變的網(wǎng)絡(luò)攻擊,只能對(duì)已有的攻擊行為進(jìn)行防御;相對(duì)于被動(dòng)的防御,入侵檢測(cè)模塊則是通過(guò)主動(dòng)掃描外部行為數(shù)據(jù),判讀數(shù)據(jù)的合法性,同時(shí)檢查系統(tǒng)的完整性和機(jī)密性,進(jìn)而做出應(yīng)對(duì)決策.但是由于網(wǎng)絡(luò)規(guī)模的龐大,以及攻擊行為的多變,給傳統(tǒng)的入侵檢測(cè)系統(tǒng)帶來(lái)了極大挑戰(zhàn).深度卷積神經(jīng)網(wǎng)絡(luò)具有強(qiáng)大的特征提取以及數(shù)據(jù)分析能力,能夠通過(guò)學(xué)習(xí)復(fù)雜行為特征得到原始數(shù)據(jù)間的關(guān)聯(lián)規(guī)則,進(jìn)而區(qū)分正常行為和攻擊行為,提高網(wǎng)絡(luò)入侵檢測(cè)的準(zhǔn)確性和時(shí)效性,構(gòu)建網(wǎng)絡(luò)安全防護(hù)系統(tǒng)[2].
入侵檢測(cè)是對(duì)網(wǎng)絡(luò)系統(tǒng)中未授權(quán)或不符合已知行為過(guò)程的識(shí)別和響應(yīng),主要由3部分構(gòu)成,分別為數(shù)據(jù)收集、數(shù)據(jù)分析和系統(tǒng)響應(yīng)[3].根據(jù)收集到的攻擊數(shù)據(jù)來(lái)源不同,可以將入侵檢測(cè)系統(tǒng)劃分為兩類(lèi),分別為針對(duì)傳輸網(wǎng)絡(luò)以及針對(duì)系統(tǒng)主機(jī)的攻擊行為;數(shù)據(jù)分析,則是通過(guò)對(duì)收集的數(shù)據(jù)與模式數(shù)據(jù)庫(kù)進(jìn)行匹配得出關(guān)聯(lián)特征,來(lái)區(qū)分正常行為和入侵行為,并及時(shí)將入侵行為以告警的形式傳輸給響應(yīng)單元,最終系統(tǒng)做出響應(yīng),并根據(jù)響應(yīng)等級(jí)做出保護(hù)措施[4].入侵檢測(cè)系統(tǒng)過(guò)程如圖1所示.
圖1 入侵檢測(cè)過(guò)程
網(wǎng)絡(luò)異常主要由兩方面引起:一類(lèi)是系統(tǒng)軟硬件本身的損壞帶來(lái)的網(wǎng)絡(luò)阻塞等異常行為,這種情況比較簡(jiǎn)單可以通過(guò)對(duì)交換機(jī)、路由器等硬件進(jìn)行排查處理;另一類(lèi)則是指遭受網(wǎng)絡(luò)攻擊入侵帶來(lái)的網(wǎng)絡(luò)安全異常,需要對(duì)數(shù)據(jù)源進(jìn)行統(tǒng)計(jì)分析,進(jìn)行深度學(xué)習(xí)并建立分類(lèi)模型,進(jìn)而識(shí)別攻擊行為,具有更高的主動(dòng)性和智能性,因此是我們研究的重點(diǎn)[5].入侵檢測(cè)系統(tǒng)模型根據(jù)網(wǎng)絡(luò)異常階段不同,可以分為通用模型(Denning)、層次化模型(IDM)以及管理式模型(IDSM)[6].通用型(Denning)入侵檢測(cè)沒(méi)有考慮系統(tǒng)漏洞的存在,只通過(guò)判斷主體行為與系統(tǒng)規(guī)則的符合性來(lái)定義入侵行為,準(zhǔn)確性不高;層次化模型(IDM)通過(guò)分析訪(fǎng)問(wèn)數(shù)據(jù),得到數(shù)據(jù)的抽象過(guò)程進(jìn)而判斷入侵行為,但是這種模型只適合數(shù)據(jù)量小的局部網(wǎng)絡(luò),在面對(duì)海量數(shù)據(jù)的大型網(wǎng)絡(luò)時(shí),檢測(cè)效率以及系統(tǒng)的泛化性有待考證;管理式入侵檢測(cè)模型(IDSM)將多個(gè)檢測(cè)系統(tǒng)協(xié)同起來(lái),一起合作對(duì)入侵行為進(jìn)行檢測(cè)提高了檢測(cè)效率,但是這種模型需要將不同的檢測(cè)系統(tǒng)融合,對(duì)系統(tǒng)的協(xié)調(diào)能力提出了更高要求,同時(shí)不同檢測(cè)系統(tǒng)之間的互補(bǔ)性無(wú)法驗(yàn)證,因此檢測(cè)模型具有很大的不確定性[7].
隨著互聯(lián)網(wǎng)規(guī)模的擴(kuò)大,以及應(yīng)用范圍的多樣化,網(wǎng)絡(luò)攻擊和入侵也在不斷升級(jí).入侵檢測(cè)系統(tǒng)算法大致可以分為以下幾種類(lèi)型:(1)基于自動(dòng)提取網(wǎng)絡(luò)入侵特征的特征工程檢測(cè)算法是其中的一個(gè)發(fā)展方向;(2)針對(duì)海量入侵?jǐn)?shù)據(jù)的多變性以及抽象性,通過(guò)對(duì)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘,進(jìn)而得到特征數(shù)據(jù)的關(guān)聯(lián)性,分析入侵行為;(3)通過(guò)遺傳算法或者神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等模型對(duì)輸入數(shù)據(jù)進(jìn)行機(jī)器學(xué)習(xí),進(jìn)行智能化入侵檢測(cè);(4)對(duì)已知數(shù)據(jù)進(jìn)行數(shù)學(xué)計(jì)算,通過(guò)均值方差和馬爾可夫過(guò)程,分析正常行為數(shù)據(jù)和入侵?jǐn)?shù)據(jù)之間的差異性,進(jìn)而判斷入侵行為的統(tǒng)計(jì)分析方法[8].入侵檢測(cè)系統(tǒng)算法分類(lèi)如圖2所示.
圖2 入侵檢測(cè)系統(tǒng)算法分類(lèi)
深度學(xué)習(xí)模擬人腦機(jī)制含有多層感知器和多個(gè)隱層,通過(guò)對(duì)低層特征進(jìn)行組合得到抽象的高層語(yǔ)義信息,進(jìn)而發(fā)現(xiàn)數(shù)據(jù)的內(nèi)在聯(lián)系以及固有屬性,是貪婪算法的一種表現(xiàn)[9].其數(shù)學(xué)形式表示為,如果有復(fù)雜函數(shù)log(cos(exp(sin3(x)))),為了得到不同函數(shù)間的固有屬性,通過(guò)深度學(xué)習(xí)可以將其拆解為多個(gè)簡(jiǎn)單函數(shù)sin(x),x3,ex,cos(x),log(x).卷積神經(jīng)網(wǎng)絡(luò)(CNN)、深度神經(jīng)網(wǎng)絡(luò)(DNN)以及深度置信網(wǎng)絡(luò)(DBN)是深度學(xué)習(xí)的典型模型.
卷積神經(jīng)網(wǎng)絡(luò)作為深度學(xué)習(xí)的一個(gè)重要模型,主要有3個(gè)思想來(lái)實(shí)現(xiàn)特征提取以及數(shù)據(jù)分析.首先,通過(guò)對(duì)整體數(shù)據(jù)進(jìn)行局部感知減少訓(xùn)練數(shù)據(jù)的權(quán)重參數(shù);繼而通過(guò)權(quán)值共享在整體數(shù)據(jù)中使用相同的卷積核參數(shù),進(jìn)一步壓縮參數(shù)數(shù)量;最后通過(guò)池化操作降低特征維數(shù),避免維數(shù)災(zāi)難以及過(guò)擬合現(xiàn)象的出現(xiàn)[10].卷積操作數(shù)學(xué)表示為:
(1)
(2)
式(2)中:采樣函數(shù)為pool.卷積神經(jīng)網(wǎng)絡(luò)通過(guò)全連接層實(shí)現(xiàn)數(shù)據(jù)降維,即對(duì)池化層和卷積層進(jìn)行全連接,對(duì)學(xué)習(xí)到的特征做加權(quán)和處理,數(shù)學(xué)表示為:
xl=f(ul)
(3)
ul=Wlxl-1+bl
(4)
式(4)中:ul表示全連接層的凈激活函數(shù),l-1層到l層的權(quán)重函數(shù)為Wl.
基于深度卷積神經(jīng)網(wǎng)絡(luò)(CNN)的入侵檢測(cè)系統(tǒng)模型由數(shù)據(jù)預(yù)處理、轉(zhuǎn)換和預(yù)測(cè)三個(gè)模塊組成.對(duì)輸入的不規(guī)則或不可識(shí)別數(shù)據(jù)進(jìn)行預(yù)處理,將其轉(zhuǎn)化為計(jì)算機(jī)能夠識(shí)別的數(shù)值型數(shù)據(jù),同時(shí)降低冗余數(shù)據(jù)對(duì)模型的影響是預(yù)處理模塊的作用,其主要分為三部分:特征提取、屬性映射和歸一化數(shù)據(jù)處理;對(duì)預(yù)處理后的一維數(shù)據(jù)進(jìn)行二維化使其符合卷積神經(jīng)網(wǎng)絡(luò)的格式需求是轉(zhuǎn)換模塊的功能;最后,對(duì)卷積神經(jīng)網(wǎng)絡(luò)(CNN)數(shù)據(jù)進(jìn)行訓(xùn)練,得到預(yù)測(cè)模塊.基于深度卷積神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng)組成模塊及功能如表1所示.
實(shí)驗(yàn)數(shù)據(jù)選?。簽榱蓑?yàn)證系統(tǒng)的普遍適用性和穩(wěn)定性,首先需要選取合適的實(shí)驗(yàn)數(shù)據(jù)集,實(shí)驗(yàn)數(shù)據(jù)集應(yīng)具有數(shù)據(jù)量大、種類(lèi)多以及能夠體現(xiàn)網(wǎng)絡(luò)攻擊等特點(diǎn).本設(shè)計(jì)采用來(lái)自林肯實(shí)驗(yàn)室的KDD CUP99數(shù)據(jù)集作為標(biāo)準(zhǔn)數(shù)據(jù)集,該數(shù)據(jù)集模擬真實(shí)的網(wǎng)絡(luò)環(huán)境,對(duì)不同類(lèi)型的攻擊行為和數(shù)據(jù)進(jìn)行仿真,具有典型代表性;同時(shí)該數(shù)據(jù)集數(shù)據(jù)量大,模擬了500萬(wàn)條數(shù)據(jù),每個(gè)數(shù)據(jù)又由3個(gè)符號(hào)特征和38個(gè)數(shù)值特征組成,可以將外來(lái)數(shù)據(jù)訪(fǎng)問(wèn)定義為異常攻擊和正常訪(fǎng)問(wèn),異常攻擊又分為外部掃描入侵、拒絕服務(wù)入侵、未授權(quán)本地用戶(hù)來(lái)訪(fǎng)以及未授權(quán)遠(yuǎn)程主機(jī)來(lái)訪(fǎng).
數(shù)據(jù)預(yù)處理:選取合適的實(shí)驗(yàn)數(shù)據(jù)后,對(duì)其進(jìn)行預(yù)處理.首先,將符號(hào)特征轉(zhuǎn)換為計(jì)算機(jī)識(shí)別的數(shù)值形式,通過(guò)熱編碼實(shí)現(xiàn),其Python代碼為:
X=data.ix[:,0:41]
X=pd.get_dummies(X)
new_columns=[]
fori in range(1,441):
new_columns.append(i)
X.columns=new_columns
另一方面,由于預(yù)處理后數(shù)據(jù)特征間差異性非常大,因此在不破壞初始數(shù)據(jù)映射關(guān)系的前提下,需要對(duì)數(shù)據(jù)進(jìn)行歸一化處理,本文采用Max-Min方法,數(shù)學(xué)表示為:
(5)
式(5)中:x為數(shù)據(jù)特征,Max表示每維特征的最大值,Min為最小值,經(jīng)過(guò)歸一化處理后數(shù)據(jù)特征間差異范圍在0到1之間.其Python代碼為:
X=data.ix[:0:41]
X=(X-X.min())/(X.max()-X.min())
X.fillna(0,inplace=True)
KDD CUP99數(shù)據(jù)集經(jīng)過(guò)預(yù)處理以后,將一維數(shù)據(jù)進(jìn)行二維化使其符合卷積神經(jīng)網(wǎng)絡(luò)的格式需求,即卷積神經(jīng)網(wǎng)絡(luò)模型輸入的數(shù)據(jù)是將1*41一維特征轉(zhuǎn)換為21*21的二維特征的結(jié)果.如果計(jì)算機(jī)網(wǎng)絡(luò)含有L級(jí)隱層n1,n2,n3,…,nl,每層有m個(gè)單元,xi表示數(shù)據(jù)集的訓(xùn)練樣本,則具體算法流程為:
1)對(duì)輸入數(shù)據(jù)1*41維進(jìn)行預(yù)處理為21*21維使其符合卷積神經(jīng)網(wǎng)絡(luò)的格式需求;
2)對(duì)訓(xùn)練樣本xi進(jìn)行多次訓(xùn)練,同時(shí)根據(jù)訓(xùn)練結(jié)果自適應(yīng)調(diào)整模型參數(shù),不斷優(yōu)化系統(tǒng)性能;
3)xi為第一層的輸入值,以此類(lèi)推n1層的輸出作為n2層的輸入,得到網(wǎng)絡(luò)隱層間的輸出值、權(quán)值和偏置函數(shù),并通過(guò)隱層輸出數(shù)據(jù)間的關(guān)聯(lián)特征,得出網(wǎng)絡(luò)的深度即隱含層的數(shù)量;
4)利用得到的測(cè)試數(shù)據(jù)對(duì)模型進(jìn)行性能驗(yàn)證,不斷重復(fù)訓(xùn)練步驟調(diào)整系統(tǒng)參數(shù),直到滿(mǎn)足系統(tǒng)性能需求,則停止訓(xùn)練;
5)通過(guò)檢測(cè)模型的泛化能力以及準(zhǔn)確率,對(duì)系統(tǒng)性能進(jìn)行評(píng)估.
首先構(gòu)建仿真所需的實(shí)驗(yàn)平臺(tái)及軟硬件環(huán)境,Matlab仿真平臺(tái)內(nèi)置大量函數(shù)便于處理復(fù)雜數(shù)據(jù),同時(shí)能夠?qū)?fù)雜的數(shù)據(jù)進(jìn)行可視化處理.系統(tǒng)硬件參數(shù)為內(nèi)存64G、主頻為3.7GHz的英特I7處理器;軟件參數(shù)為64位Windows操作系統(tǒng)、Matlab R2020a仿真平臺(tái)、python語(yǔ)言,數(shù)據(jù)集采用KDD CUP99其包含500萬(wàn)條完整的數(shù)據(jù)集.為了加快實(shí)驗(yàn)速度,本文選取125 933條數(shù)據(jù)集作為訓(xùn)練集使用,22 534條數(shù)據(jù)集作為測(cè)試集使用,數(shù)據(jù)集包含所有樣本類(lèi)別,選取的樣本類(lèi)別符合KDD CUP99數(shù)據(jù)集的分布規(guī)律且具有典型代表性,網(wǎng)絡(luò)類(lèi)型樣本分布如表2所示.
表2 網(wǎng)絡(luò)類(lèi)型樣本分布
為了驗(yàn)證本設(shè)計(jì)與傳統(tǒng)檢測(cè)模型在網(wǎng)絡(luò)入侵檢測(cè)上的性能優(yōu)劣,需要通過(guò)模型評(píng)價(jià)指標(biāo)進(jìn)行對(duì)比,具體指標(biāo)采用準(zhǔn)確率(ACC)、檢出率(DR)和虛警率(FAR),其數(shù)學(xué)表示為:
ACC=(TP+TN)/(TP+TN+FP+FN)
(6)
DR= TP/(TP+ FN)
(7)
FAR= FP/(TN+FP)
(8)
其中,TP為異常數(shù)據(jù)預(yù)測(cè)異常,TN為正常數(shù)據(jù)預(yù)測(cè)正常,F(xiàn)P為正常數(shù)據(jù)預(yù)測(cè)異常,F(xiàn)N為異常數(shù)據(jù)預(yù)測(cè)正常.將本文算法與傳統(tǒng)機(jī)器學(xué)習(xí)算法在所有樣本類(lèi)別上進(jìn)行準(zhǔn)確率、檢出率和虛警率比較,具體結(jié)果如圖3所示.
圖3 不同模型性能測(cè)試
通過(guò)圖3可知,本文基于深度卷積神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng)模型在準(zhǔn)確率、檢出率和虛警率上都明顯優(yōu)于傳統(tǒng)模型,深度卷積神經(jīng)網(wǎng)絡(luò)可以更好地挖掘數(shù)據(jù)特征間的關(guān)聯(lián)特性,為分類(lèi)器的入侵檢測(cè)提供判斷依據(jù).同時(shí),樣本類(lèi)別基本涵蓋了所有情況,說(shuō)明該模型針對(duì)不同樣本類(lèi)別都能夠很好地做出甄別,具有一定的普遍適用性.
隨著網(wǎng)絡(luò)信息化時(shí)代的來(lái)臨,海量高維數(shù)據(jù)在給人們帶來(lái)便利的同時(shí),也對(duì)計(jì)算機(jī)網(wǎng)絡(luò)提出了更高要求,特別是網(wǎng)絡(luò)入侵的多樣化和災(zāi)難化,對(duì)入侵檢測(cè)系統(tǒng)提出了更高要求.本文首先分析了入侵檢測(cè)系統(tǒng)模型及常用算法,在此基礎(chǔ)上將深度卷積神經(jīng)網(wǎng)絡(luò)與入侵檢測(cè)結(jié)合起來(lái),利用深度卷積神經(jīng)網(wǎng)絡(luò)強(qiáng)大的特征提取以及數(shù)據(jù)分析能力,對(duì)網(wǎng)絡(luò)特征進(jìn)行提取構(gòu)建檢測(cè)模型,并與傳統(tǒng)模型在準(zhǔn)確率、檢出率和虛警率上進(jìn)行比較,得出本文算法具有一定的優(yōu)勢(shì)和普遍適用性.