趙晨潔 吳戀 左羽 王永金
摘 要:隨著數(shù)據(jù)的增多,病毒的類型也隨之增加。病毒的不確定性及其攻擊的復(fù)雜性,使傳統(tǒng)的機(jī)器學(xué)習(xí)已經(jīng)不能滿足大量高維信息的處理,數(shù)據(jù)安全問題就越來越引人注意。人工神經(jīng)網(wǎng)絡(luò)的進(jìn)一步發(fā)展,使深度學(xué)習(xí)在語音、視覺等領(lǐng)域飛速發(fā)展。深度學(xué)習(xí)的技術(shù)越來越成熟,對病毒檢測領(lǐng)域有著重要的意義,將在病毒檢測領(lǐng)域也有很大的提升。該文著重于深度學(xué)習(xí)的每一個(gè)過程的不同方法,探究是否適用于病毒檢測,介紹常用的深度學(xué)習(xí)模型,剖析深度學(xué)習(xí)對電腦病毒檢測的現(xiàn)狀,分析病毒檢測中常用的數(shù)據(jù)集及其每個(gè)數(shù)據(jù)集的優(yōu)缺點(diǎn),以及需要經(jīng)過數(shù)據(jù)預(yù)處理、特征學(xué)習(xí)和分類識別的整體流程及其每個(gè)過程中的常用技術(shù)。最后用經(jīng)典案例分析深度學(xué)習(xí)在病毒檢測中的準(zhǔn)確率,結(jié)果表明準(zhǔn)確率得到明顯提升。
關(guān)鍵詞:深度學(xué)習(xí);病毒檢測;識別分類;特征降維;高維信息;人工神經(jīng)網(wǎng)絡(luò)
中圖分類號:TP391.4文獻(xiàn)標(biāo)識碼:A文章編號:2095-1302(2020)02-00-03
0 引 言
隨著網(wǎng)絡(luò)迅速發(fā)展,數(shù)據(jù)指數(shù)般的增長,數(shù)據(jù)安全問題成為人們關(guān)注的重點(diǎn)。病毒檢測系統(tǒng)是維持互聯(lián)網(wǎng)安全的一種防護(hù)措施,也是抵抗病毒入侵的一道重要保障,病毒檢測系統(tǒng)能準(zhǔn)確識別出病毒,對網(wǎng)絡(luò)安全起著至關(guān)重要的作用。病毒主要分為黑客入侵和惡意軟件等。傳統(tǒng)的病毒檢測方法是針對帶有標(biāo)簽及樣本數(shù)據(jù)量少的情況下有理想的分類效果,可是在信息數(shù)據(jù)指數(shù)增長的時(shí)期,病毒入侵將要面對新的搦戰(zhàn)—大量非線性高維數(shù)據(jù)[1]。隨著深度學(xué)習(xí)的不斷發(fā)展,其能應(yīng)用于多種領(lǐng)域,在病毒檢測方面,主要采用深度信念網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)等分類算法[2]。特征學(xué)習(xí)是深度學(xué)習(xí)的實(shí)質(zhì),用低維特征表示重要特征,能更好地解決維數(shù)災(zāi)難問題,同時(shí)在高維龐雜的網(wǎng)絡(luò)數(shù)據(jù)中有著較好的檢測結(jié)果。
1 深度學(xué)習(xí)技術(shù)
深度學(xué)習(xí)中有很多模型,實(shí)質(zhì)是經(jīng)過訓(xùn)練神經(jīng)網(wǎng)絡(luò)的參數(shù),從而得到權(quán)重,調(diào)整權(quán)重值最后學(xué)到特征。深度學(xué)習(xí)從不同角度可以分為多種:在有無監(jiān)督層面分為Supervised Learning (有監(jiān)督學(xué)習(xí))和Unsupervised Learning(無監(jiān)督學(xué)習(xí));在使用場景[3]層面分為Generation Model(生成模型)、Recognition Model(識別模型)和Hybrid Mode(混合模型)。其中Hybrid Mode是指Generation Model和Recognition Model的混合,代表模型深度神經(jīng)網(wǎng)絡(luò)。常見的深度信念網(wǎng)絡(luò)(DBN)屬于Unsupervised Learning,Generation Model;卷積神經(jīng)網(wǎng)絡(luò)(CNN)屬于Supervised Learning,Recognition Model。
深度信念網(wǎng)絡(luò)由Hinton等人提出,在結(jié)構(gòu)上是由多層無監(jiān)督的RBM(受限玻爾茲曼機(jī))網(wǎng)絡(luò)和有監(jiān)督的BP(反向傳播)網(wǎng)絡(luò)組成的一種深層神經(jīng)網(wǎng)絡(luò)[4]。卷積神經(jīng)網(wǎng)絡(luò)采用感受野,及用局部信息得到全部信息從而減少連接數(shù)目。權(quán)值共享需要減少求解參數(shù),降低網(wǎng)絡(luò)復(fù)雜性。pooling對原圖像進(jìn)行下采樣降低維度,減少計(jì)算量,防止過擬合。
2 病毒檢測
2.1 基于深度學(xué)習(xí)的病毒檢測現(xiàn)狀
20世紀(jì)90年代初期,Debar等人初次在網(wǎng)絡(luò)入侵檢測病毒中加入神經(jīng)網(wǎng)絡(luò)[5];21世紀(jì)初,Creech等人嘗試在主機(jī)的入侵檢測中加入神經(jīng)網(wǎng)絡(luò)[6]。在前人實(shí)驗(yàn)的基礎(chǔ)上,病毒檢測開始用深度學(xué)習(xí)技術(shù)[7]。但深度學(xué)習(xí)在病毒檢測中并沒有發(fā)展完善,還需要更深層的探究。在測試病毒監(jiān)測模型時(shí),通常用到KDD Cup1999(KDD99)數(shù)據(jù)集[8]。該數(shù)據(jù)集數(shù)量多,類型豐富,每條數(shù)據(jù)有41種特征,其中包含9種TCP(傳輸控制協(xié)議)連接基本特征、13種內(nèi)容特征、9種基于時(shí)間的網(wǎng)絡(luò)流量統(tǒng)計(jì)特征、10種主機(jī)的網(wǎng)絡(luò)流量統(tǒng)計(jì)特征。KDD99數(shù)據(jù)集為大量研究入侵檢測的專家們提供了便利,但同時(shí)該數(shù)據(jù)集也出現(xiàn)了一系列冗余問題。NSL-KDD數(shù)據(jù)集[9]刪除了KDD99數(shù)據(jù)集中冗余數(shù)據(jù),為病毒檢測的實(shí)驗(yàn)準(zhǔn)確性做出重要貢獻(xiàn)。
2.2 基于深度學(xué)習(xí)的病毒檢測原理
構(gòu)建病毒檢測模型的總體框架,分為3個(gè)步驟。
(1)數(shù)據(jù)預(yù)處理。將數(shù)據(jù)集(KDD99或NSL-KDD)[8]的符號型轉(zhuǎn)化為數(shù)值型,再對數(shù)值型數(shù)據(jù)做歸一化。
(2)數(shù)據(jù)特征提取。將歸一化后的數(shù)據(jù),作為模型訓(xùn)練的輸入,對高維數(shù)據(jù)進(jìn)行降維,在對其關(guān)鍵特征提取。在此步驟主要是針對模型的選擇及優(yōu)化,對過擬合等問題進(jìn)行解決。
(3)分類識別。將學(xué)習(xí)到的病毒特征值對其分類,輸入到分類器中與訓(xùn)練好的數(shù)據(jù)集(KDD99或 NSL-KDD)進(jìn)行對比,識別出病毒類型。將識別出的病毒類型對用戶做出相應(yīng)的提示,如禁止訪問等措施,保障了用戶使用互聯(lián)網(wǎng)的安全。
2.2.1 數(shù)據(jù)預(yù)處理
將“圖像數(shù)據(jù)”(是指將異常代碼以圖像的形式來處理)轉(zhuǎn)換成矩陣像素?cái)?shù)據(jù)輸入到神經(jīng)網(wǎng)絡(luò)。不同的“圖像數(shù)據(jù)”有不同的規(guī)范,為了使模型精度提高,將對“圖像數(shù)據(jù)”進(jìn)行歸一化處理,以及將“圖像數(shù)據(jù)”壓縮至[0,1]。采用以下方法為數(shù)據(jù)進(jìn)行歸一化處理[10]:
式中:a代表處理數(shù)據(jù)的特征屬性值;MIN是該數(shù)據(jù)屬性的最小值;MAX是該數(shù)據(jù)屬性的最大值。
2.2.2 特征學(xué)習(xí)
對預(yù)處理后的病毒“圖像數(shù)據(jù)”進(jìn)行高維向低維的映
射[11],學(xué)習(xí)數(shù)據(jù)的特征。將選取好的網(wǎng)絡(luò)模型進(jìn)行優(yōu)化操作,如加入正則化、優(yōu)化算法;再對模型進(jìn)行訓(xùn)練、調(diào)參等使模型提取特征更為精確;最后對其數(shù)據(jù)進(jìn)行降噪處理,獲取優(yōu)質(zhì)特征值。經(jīng)過這一步特征提取和選擇,并采用更加穩(wěn)定的網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,學(xué)習(xí)更深層的病毒特征,病毒檢測系統(tǒng)將會具有更高的病毒識別率。
2.2.3 病毒識別分類器
分類器的任務(wù)是將上層有效特征進(jìn)行自學(xué)習(xí),學(xué)習(xí)到特征,然后給出最后的檢測結(jié)果。分類器有貝葉斯、Logistic回歸、支持向量機(jī)(SVM)、Softmax等,常用于病毒分類的有Softmax,支持向量機(jī)等。
2.3 基于深度學(xué)習(xí)的病毒檢測典型案例
2.3.1 案例一:基于深度信念網(wǎng)絡(luò)的入侵檢測模型[15]
本文闡述了一種基于深度信念網(wǎng)絡(luò)的病毒檢測模型,網(wǎng)絡(luò)模型如圖2所示。該模型主要用深度信念網(wǎng)絡(luò)為特征降維,將學(xué)到的數(shù)據(jù)用支持SVM(支持向量機(jī))的方法進(jìn)行分類,并用NSL-KDD數(shù)據(jù)集評估。在實(shí)驗(yàn)中,保持SVM參數(shù)為默認(rèn)值,用兩層的受限玻爾茲曼機(jī)(RBM)作為深度信念網(wǎng)絡(luò)的結(jié)構(gòu),將迭代次數(shù)設(shè)置為150;特征數(shù)量由高層到低層分別是4,13,41。實(shí)驗(yàn)結(jié)果見表1所列。通過實(shí)驗(yàn)發(fā)現(xiàn),DBN-SVM的準(zhǔn)確率比單個(gè)的SVM(支持向量機(jī))和DBN(深度信念網(wǎng)絡(luò))高。在速度上,本文提出的深度學(xué)習(xí)模型DBN-SVM比傳統(tǒng)單獨(dú)的SVM識別速度要快,很大程度上提高了處理時(shí)間??偟膩碚f,在準(zhǔn)確率和高效性上,DBN-SVM都有突出的優(yōu)勢,能大幅提升對病毒檢測的能力。
2.3.2 案例二:基于卷積神經(jīng)網(wǎng)絡(luò)的入侵檢測算法[16]
賈凡等研究者對于病毒檢測提出一個(gè)新的算法,將典型的卷積神經(jīng)網(wǎng)絡(luò)引入到病毒檢測中,卷積神經(jīng)網(wǎng)絡(luò)模型如圖3所示。利用卷積神經(jīng)網(wǎng)絡(luò)在處理圖片時(shí)采用3維數(shù)據(jù)接收輸入的數(shù)據(jù),對高維數(shù)據(jù)的特征提取更為有效。根據(jù)特征的局部相關(guān)性提取特征,確保提取特征的準(zhǔn)確率。該研究者提出的CNN網(wǎng)絡(luò)模型囊括了3個(gè)卷積層、3個(gè)池化層、1個(gè)全連接層、1個(gè)分類層,經(jīng)過CNN(卷積神經(jīng)網(wǎng)絡(luò))提取特征后用Softmax分類器進(jìn)行分類識別病毒類型,設(shè)置模型迭代次數(shù)為10。利用本文模型與傳統(tǒng)模型對準(zhǔn)確率(AC)、檢測率(DR)和誤報(bào)率(FA)三方面指標(biāo)進(jìn)行評估,比較結(jié)果如表2所示。結(jié)果顯示,CNN模型在準(zhǔn)確率和檢測率中都高于傳統(tǒng)方法,誤報(bào)率相對下降很多??傊?,CNN模型比其他傳統(tǒng)方法對于病毒檢測有較大的性能提升。
3 結(jié) 語
本文討論了病毒檢測的必要性、深度學(xué)習(xí)的基本方法及深度學(xué)習(xí)用于病毒檢測的模型,研究分析各網(wǎng)絡(luò)模型對于病毒檢測的效果。在互聯(lián)網(wǎng)和物聯(lián)網(wǎng)的結(jié)合下,越來越多的數(shù)據(jù)被存儲,個(gè)人信息需要被保護(hù),但是病毒檢測還未能發(fā)展成熟,如在線攻擊意圖識別算法、網(wǎng)絡(luò)多步攻擊識別算法等都有待研究。
參 考 文 獻(xiàn)
[1]高妮,高嶺,賀毅岳.面向入侵檢測系統(tǒng)的Deep Belief Nets模型[J].系統(tǒng)工程與電子技術(shù),2016,38(9):2201-2207.
[2]張玉清,董穎,柳彩云,等.深度學(xué)習(xí)應(yīng)用于網(wǎng)絡(luò)空間安全的現(xiàn)狀、趨勢與展望[J].計(jì)算機(jī)研究與發(fā)展,2018,55(6):1117-1142.
[3] BIERMANN E,CLOETE E,VENTER L M. A comparison of Intrusion Detection systems [J]. Computers & security,2001,20(8): 676-683.
[4] HINTON G E,OSINDERO S,THE Y W. A fast learning algorithm for deep belief nets [J]. Neural computation,2006,18(7):1527-1554.
[5] DEBAR H,BECKER M,SIBONI D. A neural network component for an intrusion detection system [C]// IEEE Symposium on Security & Privacy. Oakland: IEEE,1992:240-250.
[6] CREECH G,HU J K. A semantic approach to host-based intrusion detection systems using contiguous and discontiguous system call patterns [J]. IEEE transactions on computers,2014,63(4):807-819.
[7] FIORE U,PALMIERI F,CASTIGLIONE A,et al. Network anomaly detection with the restricted boltzmann machine [J]. Neurocomputing,2013,122:13-23.
[8] TAVALLAEE M,BAGHERI E,LU W,et al. A detailed analysis of the KDD CUP 99 data set [C]// IEEE International Conference on Computational Intelligence for Security & Defense Applications. Ottawa,Canada:IEEE,2009:1-6.
[9] Canadian Institute for Cybersecurity. NSL-KDD dataset [EB/OL]. [2017-08-18]. http://www.unb.ca/cic/research/datasets/nsl.html.
[10]于洋.入侵檢測系統(tǒng)中特征選擇算法與模型構(gòu)建方法的研究[D].蘭州:蘭州大學(xué),2017.
[11]高妮.網(wǎng)絡(luò)安全多維動態(tài)風(fēng)險(xiǎn)評估關(guān)鍵技術(shù)研究[D].西安:西北大學(xué),2016.
[12]張思聰,謝曉堯,徐洋.基于dCNN的入侵檢測方法[J].清華大學(xué)學(xué)報(bào)(自然科學(xué)版),2019,59(1):44-52.
[13]王佳林,童恩棟,牛溫佳,等.基于CNN-NSVM的入侵檢測模型[J].信息通信技術(shù),2018,12(6):48-55.
[14]席海龍,劉海燕,張鈺.應(yīng)用于入侵檢測的機(jī)器學(xué)習(xí)現(xiàn)狀與發(fā)展分析[J].價(jià)值工程,2018(34):269-272.
[15]楊昆朋.基于深度信念網(wǎng)絡(luò)的入侵檢測模型[J].現(xiàn)代計(jì)算機(jī)(專業(yè)版),2015(2):10-14.
[16]賈凡,孔令智.基于卷積神經(jīng)網(wǎng)絡(luò)的入侵檢測算法[J].北京理工大學(xué)學(xué)報(bào),2017,37(12):1271-1275.