宋雪樺,汪 盼,鄧壯來,解 暉
(江蘇大學計算機科學與通信工程學院,江蘇鎮(zhèn)江212013)
糧食是關(guān)系到國計民生的重要戰(zhàn)略儲備物資,科學儲糧在維護糧食市場、保障社會穩(wěn)定和國家安全中具有一定的社會意義與經(jīng)濟價值[1]。隨著通信網(wǎng)絡技術(shù)的高速發(fā)展,以物聯(lián)網(wǎng)[2](Internet of Things,IoT)為代表的高新技術(shù)在糧食安全保障領(lǐng)域的應用得到了長足發(fā)展,物聯(lián)網(wǎng)技術(shù)在糧情測控、機械通風等領(lǐng)域中的應用越來越廣泛。物聯(lián)網(wǎng)是在計算機網(wǎng)絡、無線傳感網(wǎng)絡等基礎(chǔ)上建設而成的,這些網(wǎng)絡自身存在安全漏洞和脆弱性問題,這使得基于物聯(lián)網(wǎng)的糧情監(jiān)控系統(tǒng)在信息安全上面臨不少挑戰(zhàn)。因此,對糧情監(jiān)控系統(tǒng)的安全防范顯得極其重要。
入侵行為主要是破壞目標資源的安全性、完整性以及可訪問性,是物聯(lián)網(wǎng)信息安全防范的主要方面。入侵檢測是近年來出現(xiàn)的識別入侵行為的網(wǎng)絡安全防御技術(shù),但是面對基于物聯(lián)網(wǎng)的糧情監(jiān)控系統(tǒng)中的海量無標簽網(wǎng)絡數(shù)據(jù),傳統(tǒng)的入侵檢測方法已經(jīng)無法準確及時處理,要求建立穩(wěn)定、可靠且高效的入侵檢測模型以保障系統(tǒng)網(wǎng)絡安全。
張馨等[3]針對物聯(lián)網(wǎng)面臨的網(wǎng)絡安全問題,將幾種入侵檢測技術(shù)在物聯(lián)網(wǎng)架構(gòu)中的應用進行了對比分析,指出入侵檢測的必要性。文獻[4]利用反向傳播(Back Propagation,BP)神經(jīng)網(wǎng)絡和AGENT 技術(shù),將優(yōu)化的BP算法應用到入侵檢測系統(tǒng)(Intrusion Detection System,IDS)中,解決了IDS在復雜物聯(lián)網(wǎng)環(huán)境中存在的低性能問題。Pajouh等[5]提出了一種用于物聯(lián)網(wǎng)入侵檢測的雙層降維和雙層分類模型,該模型的計算復雜度較低,因而對系統(tǒng)的計算和內(nèi)存資源要求較少。
面對多樣化的網(wǎng)絡入侵行為,基于傳統(tǒng)機器學習的入侵檢測模型無法高效地對物聯(lián)網(wǎng)網(wǎng)絡層中的大量無標簽入侵數(shù)據(jù)進行分類識別。Hinton等[6]提出的深度信念網(wǎng)絡(Deep Belief Network,DBN)可以實現(xiàn)對大量無標簽數(shù)據(jù)進行特征提取,該方法已成功地運用在語音識別、計算機視覺等領(lǐng)域。DBN模型具有強大的表達能力,能夠提取海量網(wǎng)絡數(shù)據(jù)豐富的內(nèi)在信息,Salama團隊[7]首次將DBN應用到網(wǎng)絡入侵檢測領(lǐng)域。Alrawashdeh 等[8]提出了一種基于DBN 的在線異常入侵檢測系統(tǒng),該系統(tǒng)在KDDCUP'99數(shù)據(jù)集上具有較高的檢測率和較低的假陰性率。在基于物聯(lián)網(wǎng)的糧情監(jiān)控系統(tǒng)中,利用傳感器采集大量數(shù)據(jù)進行信息傳輸及交換,海量的通信數(shù)據(jù)會導致系統(tǒng)網(wǎng)絡安全防護的效率降低,日益智能化的網(wǎng)絡攻擊使得對異常入侵行為的檢測更加困難,因此本文提出了一種基于深度信念網(wǎng)絡的交替決策樹入侵檢測(Alternating Decision Trees-based Deep Belief Nets,DBN-ADT)方法,以實現(xiàn)數(shù)據(jù)特征降維,快速實現(xiàn)異常入侵行為分析和檢測。
物聯(lián)網(wǎng)按照一定的協(xié)議,利用信息傳感設備,把物品和互聯(lián)網(wǎng)連接,以進行信息交換與通信,實現(xiàn)對物品進行智能化識別、監(jiān)控、控制等功能?;谖锫?lián)網(wǎng)的糧情監(jiān)控系統(tǒng)可以分為用于捕獲數(shù)據(jù)的感知層、進行數(shù)據(jù)傳輸?shù)木W(wǎng)絡層以及內(nèi)容應用層等3個層次[9],如圖1所示。
圖1 基于物聯(lián)網(wǎng)的糧情監(jiān)控系統(tǒng)構(gòu)架
感知層是物聯(lián)網(wǎng)發(fā)展和應用的重要組成部分,主要利用不同類型的傳感器對糧倉內(nèi)外各種物理參數(shù)信息進行精準獲取,實現(xiàn)對糧食信息的采集、捕獲和識別。糧情監(jiān)控系統(tǒng)集成有測量糧食內(nèi)部溫度及采集糧倉內(nèi)外氣溫的溫度傳感器以及測量糧倉內(nèi)外濕度的濕度傳感器等,同時提供用于擴展的CO2、O2等濃度傳感器接口。糧情監(jiān)控系統(tǒng)一般以溫度和濕度為主要檢測信息參數(shù),氣體濃度為輔助參數(shù)。
感知層的主要安全問題是傳感網(wǎng)的節(jié)點容易受到操控,包括網(wǎng)關(guān)節(jié)點和普通節(jié)點。普通節(jié)點一旦被控制,攻擊者不僅可以竊取信息,還可以操控附在物品上的標簽,影響對合法標簽的正常讀寫。而對于網(wǎng)關(guān)節(jié)點,同樣存在被惡意攻擊的隱患,攻擊者可以進行信號干擾,造成網(wǎng)絡持續(xù)擁塞。此外感知層需要接入互聯(lián)網(wǎng),無可避免地會有來自互聯(lián)網(wǎng)的攻擊,主要有非法訪問和拒絕服務攻擊。傳感網(wǎng)的節(jié)點由于結(jié)構(gòu)單一、資源較小,在一定程度上限制了其數(shù)據(jù)存儲、數(shù)據(jù)處理和數(shù)據(jù)通信等方面的能力,在受到攻擊時,節(jié)點容易崩潰,甚至會導致傳感網(wǎng)絡癱瘓。
網(wǎng)絡層在互聯(lián)網(wǎng)基礎(chǔ)上,綜合各種有線和無線通信網(wǎng)、專用網(wǎng)絡。網(wǎng)絡層負責接收、傳遞和處理感知層捕獲的信息。糧情監(jiān)控系統(tǒng)采用互聯(lián)網(wǎng)、移動通信網(wǎng)等實現(xiàn)糧倉與監(jiān)控中心相互傳輸數(shù)據(jù),工作人員在監(jiān)控中心可以隨時查詢和了解各個糧倉的儲糧情況,減少入倉檢查次數(shù),同時當糧倉出現(xiàn)異常時監(jiān)控系統(tǒng)能夠及時報警。
網(wǎng)絡層主要安全隱患是路由攻擊,包括拒絕服務攻擊、竊取轉(zhuǎn)發(fā)數(shù)據(jù)信息以及對路徑拓撲的惡意行為。物聯(lián)網(wǎng)的承載網(wǎng)絡是互聯(lián)互通的開放性異構(gòu)網(wǎng)絡,黑客利用網(wǎng)絡漏洞可以隨意竊取、修改和刪除傳輸鏈路上的數(shù)據(jù),同時可以偽裝成合法用戶進行網(wǎng)絡服務,非法跟蹤合法用戶以獲取有效的用戶信息,從而進一步攻擊,導致整個網(wǎng)絡缺乏數(shù)據(jù)機密性和完整性保護。
糧情監(jiān)控系統(tǒng)的應用層主要包括糧情測控模塊、垂直管理模塊、糧食安保模塊和報警模塊。糧情測控模塊的功能是定時、實時采集溫度和濕度等信息,并分析和保存這些數(shù)據(jù)。垂直管理模塊采用互聯(lián)網(wǎng)或者通信網(wǎng)絡實現(xiàn)糧食管理部門對下屬糧倉的遠程管理和全面監(jiān)控。糧食安保模塊對視頻傳感器采集的信息進行分析、挖掘,及時發(fā)現(xiàn)糧倉出現(xiàn)的異常情況。報警模塊接收其他模塊傳遞的異常報警信息并及時通知相關(guān)人員,以便采取及時準確有效的措施,最大限度地減輕事故影響。
應用層的重要特征是智能性。為實現(xiàn)方便迅速地處理海量數(shù)據(jù),需要運用智能處理技術(shù),因此物聯(lián)網(wǎng)中的應用層面臨的安全挑戰(zhàn)首先是應對海量數(shù)據(jù)的智能識別和處理。通常黑客會利用已知的應用漏洞注入惡意代碼,對應用層數(shù)據(jù)進行竊聽、注入和篡改,破壞應用的機密性。此外,在數(shù)據(jù)智能自動處理過程中,應用層需要建立相應的可控機制以及時有效地中斷災難并從中恢復、減少攻擊帶來的損失。
基于物聯(lián)網(wǎng)的糧情監(jiān)控系統(tǒng)的核心雖然是傳統(tǒng)網(wǎng)絡,卻比之更加復雜,一旦發(fā)生病毒破壞、惡意代碼攻擊等安全問題,不僅導致信息資料的泄露,還會涉及系統(tǒng)中的實物,造成的損失往往比傳統(tǒng)網(wǎng)絡更加嚴重。入侵檢測系統(tǒng)對異常網(wǎng)絡數(shù)據(jù)進行檢測,及時發(fā)現(xiàn)攻擊行為,并在糧情監(jiān)控系統(tǒng)中預警。為應對復雜的網(wǎng)絡環(huán)境以保護糧情監(jiān)控系統(tǒng)的數(shù)據(jù)安全,論文結(jié)合深度信念網(wǎng)絡和交替決策樹分類器提出了一種新的入侵檢測模型。
物聯(lián)網(wǎng)的海量無標簽數(shù)據(jù)信息只有部分特征被入侵檢測過程真正利用,而檢測系統(tǒng)在排除大量無用信息時需要花費很大的計算量,浪費物聯(lián)網(wǎng)中的有限資源[10]。因此采用深度信念網(wǎng)絡挖掘和提取輸入數(shù)據(jù)特征,將大量高維的無標簽數(shù)據(jù)進行特征降維。同時在特征數(shù)據(jù)的基礎(chǔ)上結(jié)合分類器對入侵行為進行分類識別,論文選用ADT分類器。
由于在糧情監(jiān)控系統(tǒng)的通信過程中,待檢測的數(shù)據(jù)包不是固定長度的,在確定深度信念網(wǎng)絡的輸入節(jié)點個數(shù)時有兩種方法可以選擇。一種方法是和待檢測網(wǎng)絡數(shù)據(jù)包的最大傳輸單元(Maximum Transmission Unit,MTU)保持一致,對不足MTU的數(shù)據(jù)包采用包尾添0的方式補齊。另一種方法是在數(shù)據(jù)包中選取固定的屬性特征作為輸入,比如NSL-KDD數(shù)據(jù)庫將待檢測網(wǎng)絡數(shù)據(jù)包設置為包含41個屬性特征的固定長度。論文采用第二種方法確定DBN的輸入節(jié)點數(shù)量。
本文提出的基于DBN-ADT的入侵檢測方法的總體框架如圖2所示,主要包含5個模塊。
(1)數(shù)據(jù)預處理。數(shù)據(jù)集采用NSL-KDD數(shù)據(jù)集,首先數(shù)值化數(shù)據(jù)集中符號型屬性特征,將41維的原始屬性特征映射為122維的特征數(shù)據(jù),再進行數(shù)據(jù)歸一化處理,獲得標準化數(shù)據(jù)集[11]。
(2)DBN 預訓練過程。通過非監(jiān)督、貪婪地訓練每一層受限玻爾茲曼機(Restricted Boltzmann Machine,RBM)網(wǎng)絡,將大量高維、無標簽、非線性的原始數(shù)據(jù)映射至不同特征空間,從而保留數(shù)據(jù)的關(guān)鍵特征信息,獲得較優(yōu)的低維表示[12]。
(3)權(quán)值微調(diào)過程。反向傳播網(wǎng)絡設置在DBN的最后一層,利用被附加到網(wǎng)絡頂層的帶標簽數(shù)據(jù),接收預訓練輸出的低維表示作為權(quán)值微調(diào)的輸入特征向量,有監(jiān)督地自頂向下訓練DBN模型。BP算法自頂向下將誤差信息傳播至每一層RBM,對整個網(wǎng)絡的權(quán)值進行調(diào)整,從而獲得最優(yōu)低維表示數(shù)據(jù)。
(4)入侵識別分類。利用監(jiān)督迭代算法構(gòu)造ADT分類器,對最優(yōu)低維數(shù)據(jù)集進行訓練分類,最終識別5種網(wǎng)絡攻擊狀態(tài)。
(5)網(wǎng)絡攻擊報警。根據(jù)分類結(jié)果進行報警響應,通知用戶及時處理惡意入侵問題,保證系統(tǒng)網(wǎng)絡安全穩(wěn)定運行。
圖2 DBN-ADT的總體框架
DBN是一個具有若干潛變量層的概率生成模型,由多層無監(jiān)督的RBM網(wǎng)絡和一層采用BP算法的BP網(wǎng)絡依次疊加構(gòu)成,是一種深層神經(jīng)網(wǎng)絡。RBM是DBN的核心組件之一,包含可視層單元(v)和隱藏層單元(h)。圖3展示了一個多層的DBN模型結(jié)構(gòu)。每層RBM網(wǎng)絡的隱藏單元被訓練捕捉在可視層表現(xiàn)出來的高維數(shù)據(jù)的相關(guān)性,抽取數(shù)據(jù)維數(shù)較低的關(guān)鍵特征,將大量原始數(shù)據(jù)低維表示映射,從而獲得較優(yōu)的初始模型參數(shù),然后利用BP算法對整個網(wǎng)絡的權(quán)值進行有監(jiān)督地調(diào)整,從而獲得最優(yōu)的低維表示數(shù)據(jù)。
(1)預訓練過程
算法1 DBN預訓練
輸入:可見層輸入特征變量v(υ1,υ2,…,υm),隱藏層單元個數(shù)n,學習速度ε,樣本訓練的迭代次數(shù)k;
輸出:模型參數(shù)θ={W,a,b},其中W為鏈接權(quán)重矩陣,a,b分別為隱藏層和可視層的偏置向量;
初始化:設置Wij=ai=bj=0(i=1,2,…,m;j=1,2,…,n);
圖3 DBN模型結(jié)構(gòu)
For t=1,2,…,k
對于每個可視層輸入特征變量(υ1,υ2,…,υm),將υi賦值給v(t);
For j=1,2,…,n(對于所有的隱藏層單元)
EndFor
For i=1,2,…,m(對于所有的可視層單元)
EndFor
根據(jù)(4)式和(5)式獲得更新狀態(tài)下的聯(lián)合概率分布的梯度,更新參數(shù)θ,即:
EndFor
(2)權(quán)值微調(diào)過程
算法2 DBN微調(diào)權(quán)值
輸入:從算法1中獲得模型參數(shù)θ={W,a,b},學習速度η,訓練樣本<xi,ti>(i=1,2,…,m);
輸出:微調(diào)后的模型參數(shù)θ={W,a,b};
初始化:模型參數(shù)θ和迭代次數(shù)n;
For t=1,2,…,n
For i=1,2,…,m(對于所有的訓練樣本)
計算xi的實際輸出表示xi′;
計算輸出層單元k實際輸出表示與理想輸出表示xi的誤差梯度δk:
計算隱藏層單元h的誤差梯度δh:
其中,θhk為隱藏層單元h 后續(xù)輸出層單元k的鏈接權(quán)值;
更新每個網(wǎng)絡模型參數(shù)θij:
ADT是對經(jīng)典決策樹的一種擴展,將傳統(tǒng)決策樹和監(jiān)督迭代算法相結(jié)合[13],由決策節(jié)點和預測節(jié)點的交替層組成。ADT分類器的設計如圖4所示,ADT的獨特表示允許在同一個預測節(jié)點下添加多個決策樹樁,其中可以添加在圓圈中突出顯示的附加決策樹樁,以提高其預測準確性。每個預測節(jié)點都分配有一個權(quán)重,該權(quán)重表示該節(jié)點對最終預測結(jié)果的貢獻,所有貢獻權(quán)重的總和給出了最終的預測概率。
圖4 ADT分類器
假設a=0.5,b=0.5,則得到sign( +0.4-0.6+0.2-0.2-0.1=-0.3 )=-1,又假設a=0.5,b=-0.5,則得到sign( +0.4-0.6-0.3-0.2-0.1=-0.8 )=-1,在這兩種情況下,輸出的分類結(jié)果都是-1,但是第二種情況比第一種更置信。
KDDCUP'99 和NSL-KDD[14]是入侵檢測研究中最常用的數(shù)據(jù)集,論文選取NSL-KDD 數(shù)據(jù)集對DBN-ADT方法進行評估。NSL-KDD數(shù)據(jù)集解決了KDDCUP'99數(shù)據(jù)集存在的冗余記錄等固有問題,包含125 973個訓練數(shù)據(jù)和22 543個測試數(shù)據(jù)。NSL-KDD數(shù)據(jù)集中的每個記錄由41個屬性特征組成,包含38個連續(xù)型屬性和3個符號型屬性,其中訓練數(shù)據(jù)還包含1個類標簽,包括5種攻擊行為類型:拒絕服務攻擊(Denial of Service,DoS),遠程用戶攻擊(Remote to Local,R2L),用戶到根攻擊(User to Root,U2R),端口掃描攻擊(Probe)和正常(Normal)。
首先采用屬性映射方法將符號型離散數(shù)據(jù)轉(zhuǎn)變成數(shù)值型數(shù)據(jù),例如字段名為“protocol_type”的屬性特征有3種取值:tcp、udp、icmp,將其分別變換為特征向量[1,0,0]、[0,1,0]和[0,0,1]。通過此法可以將41個原始屬性特征映射成122維特征數(shù)據(jù)。然后最小-最大規(guī)范化處理獲得的數(shù)據(jù),以消除各屬性間的量綱影響,根據(jù)
將各屬性特征歸一化到同一數(shù)量級,即[0,1]范圍,式中,y為屬性值,ymax,ymin分別為該屬性的最大值和最小值。
實驗平臺采用Eclipse+PyDev插件,DBN-ADT方法參數(shù)設置如表1所示。NSL-KDD數(shù)據(jù)集經(jīng)過數(shù)據(jù)預處理后得到122維特征,即輸入層有122個節(jié)點。而文獻[15]已經(jīng)詳細闡述了DBN的網(wǎng)絡深度、輸出層節(jié)點數(shù)等關(guān)鍵因素對入侵檢測性能的影響。本文選取5層RBM網(wǎng)絡結(jié)構(gòu),通過折半查找法逐步遞歸選擇合適的隱藏層節(jié)點個數(shù),其隱藏層節(jié)點數(shù)依次為110、80、55、35、10,即DBN-ADT 網(wǎng)絡結(jié)構(gòu)為122-110-80-55-35-10。在DBN 預訓練過程中迭代次數(shù)選取30,而DBN-ADT 方法對網(wǎng)絡入侵數(shù)據(jù)檢測的準確率(Accuracy,AC)和誤報率(False Alarm Rate,FAR)與基于BP算法的權(quán)重微調(diào)過程的迭代次數(shù)關(guān)系如圖5所示。預訓練和微調(diào)權(quán)重過程學習速度為0.06。
表1 DBN-ADT方法參數(shù)列表
圖5 迭代次數(shù)和檢測準確率與誤報率的關(guān)系
當?shù)螖?shù)增加時,DBN-ADT 方法檢測準確率隨之上升,誤報率隨之下降,并在迭代次數(shù)分別為160和150左右,檢測準確率開始減小,誤報率開始增大。因此在對比實驗中權(quán)值微調(diào)過程的迭代次數(shù)選取160次。
在對比實驗中,將DBN-ADT方法與支持向量機(Support Vector Machine,SVM)和邏輯回歸(Logistic Regression,LR)方法對不同攻擊類型的識別準確率和誤報率作為檢測性能的評價指標進行分析。SVM和LR作為傳統(tǒng)的分類方法,使用默認的參數(shù)設置。
3種方法對各類攻擊實驗結(jié)果如表2所示。從表中可以看出,DBN-ADT方法對于不同攻擊行為的分類檢測準確率高于SVM和LR方法,而且DBN-ADT具有較低的誤報率。實驗表明DBN-ADT方法能有效地提高網(wǎng)絡入侵行為的識別能力。
為了進一步驗證DBN-ADT 方法的實時性,在NSL-KDD 數(shù)據(jù)集中分別隨機抽取30%、50%、80%、100%的數(shù)據(jù),并采用3種方法進行識別準確率和檢測時間(Ti)對比測試,實驗結(jié)果如表3所示。
表2 3種分類方法針對各個攻擊類型的性能比較
表3 DBN-ADT方法與SVM和LR的準確率和時間對比
從表3可以看出,在不同數(shù)據(jù)集上,與SVM和LR方法相比,DBN-ADT方法對攻擊行為的識別準確率分別提高了至少7.24%、8.25%;在運行時間方面,DBN-ADT方法約縮短至SVM的1/2、LR方法的3/5。從總體的檢測準確率和實時性來說,DBN-SC方法具有較突出的優(yōu)勢。
為了檢驗DBN的特征學習能力,論文采用DBN與主成分分析(Principal Component Analysis,PCA)和自編碼網(wǎng)絡(AutoEncoder Network,AEN)等方法進行對比,PCA、AEN選取默認的參數(shù)設置。首先利用特征學習方法進行特征提取,然后采用ADT分類器對降維的網(wǎng)絡數(shù)據(jù)進行分類識別。在訓練過程中分別抽取NSL-KDD數(shù)據(jù)集的30%、50%、80%、100%進行實驗分析。
實驗對比結(jié)果如表4所示,可以發(fā)現(xiàn),在不同的數(shù)據(jù)集中,DBN的特征學習能力比傳統(tǒng)的特征降維方法存在較大的優(yōu)勢,更適應對高維無標簽網(wǎng)絡數(shù)據(jù)的特征提取任務。在100%的數(shù)據(jù)訓練階段,DBN方法的準確率較PCA、AEN方法分別提高了3.46%和2.67%。
進一步測試DBN的特征學習能力,利用數(shù)據(jù)集中100%的數(shù)據(jù)訓練,將ADT與DBN-ADT方法進行對比,實驗結(jié)果如表5所示。DBN能夠提取數(shù)據(jù)的關(guān)鍵特征,測試表明DBN-ADT方法不僅可以提高識別準確率,而且能降低ADT分類器的檢測時間。
表4 DBN與其他特征學習方法的準確率對比
表5 ADT與DBN-ADT的實驗對比
針對傳統(tǒng)的入侵檢測系統(tǒng)無法有效處理基于物聯(lián)網(wǎng)的糧情監(jiān)控系統(tǒng)中海量無標簽網(wǎng)絡數(shù)據(jù)的問題,本文充分利用深度學習在數(shù)據(jù)特征降維的優(yōu)勢,提出了一種面向糧情監(jiān)控系統(tǒng)的基于深度信念網(wǎng)絡的交替決策樹入侵檢測方法。該方法利用DBN對大量高維無標簽數(shù)據(jù)進行特征提取,去除冗余特征,再利用ADT分類器對DBN降維的數(shù)據(jù)集進行入侵識別。對比實驗表明,本文提出的DBN-ADT方法不僅提高了網(wǎng)絡攻擊分類準確率,而且顯著地縮短了入侵檢測的處理時間,為入侵檢測在物聯(lián)網(wǎng)中的應用提供了一種高效、可行的新的研究方法。