陳卓,呂娜,陳坤,張彥暉,高維廷
(空軍工程大學(xué) 信息與導(dǎo)航學(xué)院,西安710077)
近年來,無人機(jī)在軍事和民用領(lǐng)域的網(wǎng)絡(luò)化應(yīng)用日益廣泛。無人機(jī)網(wǎng)絡(luò)多部署和應(yīng)用于惡劣、無人值守的環(huán)境中,更易遭受各種網(wǎng)絡(luò)攻擊,如蟲洞攻擊、拒絕服務(wù)攻擊和泛洪攻擊等[1]。網(wǎng)絡(luò)入侵檢測技術(shù)作為一種主動網(wǎng)絡(luò)防御技術(shù),通過監(jiān)視網(wǎng)絡(luò)運(yùn)行狀態(tài),能夠識別并有效應(yīng)對各種網(wǎng)絡(luò)攻擊行為,確保網(wǎng)絡(luò)可靠運(yùn)行[2]。
傳統(tǒng)的網(wǎng)絡(luò)入侵檢測方法包括基于簽名的檢測和基于異常的檢測?;诤灻臋z測方法對已知入侵行為建立知識庫,通過與知識庫的記錄對比來確認(rèn)攻擊,是檢測常見網(wǎng)絡(luò)攻擊的有效方法,但不適用于檢測未知的新型攻擊?;诋惓5臋z測方法通過網(wǎng)絡(luò)流量的正常行為特征建立入侵檢測模型[3],將與正常行為有較大偏差的異?;顒优卸榫W(wǎng)絡(luò)攻擊,因而無需具體定義每種入侵行為,能夠有效檢測未知攻擊且適應(yīng)網(wǎng)絡(luò)的變化。入侵檢測 模 型 的 構(gòu) 建 有 統(tǒng) 計[4-5]、聚 類[6-7]、分 類等不同方法[8-9]。統(tǒng)計方法需要根據(jù)流量特征的歷史數(shù)據(jù)建立統(tǒng)計模型,因此檢測的時效性差。聚類方法通常使用K均值等聚類算法建模,但流量特征復(fù)雜時存在難以確認(rèn)聚類中心的問題[10]。分類方法通常使用支持向量機(jī)(SVM)等算法構(gòu)建入侵檢測分類模型[9],不僅能快速檢測出異常流量,還能識別具體攻擊類別,但分類準(zhǔn)確率通常取決于從網(wǎng)絡(luò)流量中挖掘的特征(能否準(zhǔn)確描述網(wǎng)絡(luò))。
由于深度學(xué)習(xí)具有從復(fù)雜多維數(shù)據(jù)中挖掘隱含數(shù)據(jù)特征的特點(diǎn),近年來深度神經(jīng)網(wǎng)絡(luò)被大量應(yīng)用于入侵檢測分類模型的構(gòu)建,效果遠(yuǎn)優(yōu)于依靠人工主觀設(shè)計特征參數(shù)[11-12]。文獻(xiàn)[13]論述了深度學(xué)習(xí)在入侵檢測特征提取方面的優(yōu)勢,文獻(xiàn)[14]指出采用深度學(xué)習(xí)方法的無人機(jī)網(wǎng)絡(luò)入侵檢測準(zhǔn)確率較傳統(tǒng)方法明顯提高。
傳統(tǒng)的入侵檢測方法多數(shù)針對拓?fù)涔潭ǖ牡孛婢W(wǎng)絡(luò),研究人員更多關(guān)注網(wǎng)絡(luò)流量的時序特征。例如,Kim等[15]將網(wǎng)絡(luò)流量數(shù)據(jù)建模為時間序列來提高入侵檢測模型性能,Wang等[16]使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)和遞歸神經(jīng)網(wǎng)絡(luò)(RNN)來學(xué)習(xí)網(wǎng)絡(luò)流量的時間特征用于入侵檢測。基于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的入侵檢測研究相對較少,少有針對網(wǎng)絡(luò)拓?fù)涞臅r空特征進(jìn)行整體建模。Kwon等[9]指出從網(wǎng)絡(luò)拓?fù)渲型诰蚩臻g特征能進(jìn)一步獲得更高的檢測精度。
節(jié)點(diǎn)的移動性及鏈路質(zhì)量的不穩(wěn)定性使無人機(jī)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)動態(tài)變化,采用傳統(tǒng)的入侵檢測方法存在無法捕獲網(wǎng)絡(luò)空間動態(tài)特征的問題。針對該問題,本文使用深度學(xué)習(xí)方法提出了一種入侵檢測方法——基于注意力機(jī)制的時空圖卷積網(wǎng)絡(luò)(Attention-based Spatio-Temporal Graph Convolutional Network,ATGCN),引入圖數(shù)據(jù)結(jié)構(gòu)來描述網(wǎng)絡(luò)的空間特征,通過構(gòu)造時空圖卷積網(wǎng)絡(luò)捕獲無人機(jī)網(wǎng)絡(luò)的時空演變特征,引入注意力機(jī)制提升模型分類效果。在多個數(shù)據(jù)集上的實驗表明,ATGCN相比于其他方法具有更高的檢測準(zhǔn)確率和更低的誤報率,并且在通信質(zhì)量較差或噪聲干擾的網(wǎng)絡(luò)環(huán)境下,仍然具有較好的適應(yīng)性。
圖是對實際應(yīng)用中復(fù)雜多變的通信網(wǎng)絡(luò)的抽象描述,由網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)特征和網(wǎng)絡(luò)節(jié)點(diǎn)特征的數(shù)據(jù)信息組成,實現(xiàn)網(wǎng)絡(luò)特征的直觀數(shù)學(xué)表達(dá)。
圖卷積網(wǎng)絡(luò)(Graph Convolutional Network,GCN)是一種能夠?qū)D數(shù)據(jù)進(jìn)行深度學(xué)習(xí)的方法,其將卷積運(yùn)算從傳統(tǒng)數(shù)據(jù)推廣到了圖數(shù)據(jù),并被證明可以用于網(wǎng)絡(luò)節(jié)點(diǎn)分類和入侵檢測[17]。圖卷積網(wǎng)絡(luò)將拓?fù)浣Y(jié)構(gòu)和節(jié)點(diǎn)特征信息作為輸入,通過堆疊多層線性單元和非線性激活函數(shù)來學(xué)習(xí)節(jié)點(diǎn)深層特征,其核心思想是:將節(jié)點(diǎn)之間的關(guān)系轉(zhuǎn)換為圖的鄰接矩陣,通過聚合鄰居結(jié)點(diǎn)的信息來提取空間特征。Zheng和Li[18]使用圖神經(jīng)網(wǎng)絡(luò)來提取網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和節(jié)點(diǎn)屬性特征,在得到的圖表示向量上運(yùn)行異常檢測算法,判斷網(wǎng)絡(luò)是否異常,證明了提取圖的演變特征在圖網(wǎng)絡(luò)的節(jié)點(diǎn)分類任務(wù)上具有明顯的提升效果。Hsu[19]通過圖卷積網(wǎng)絡(luò)獲取空間特征,結(jié)合變分遞歸神經(jīng)網(wǎng)絡(luò)研究圖時間序列上的異常檢測問題,在傳感器數(shù)據(jù)和交通流量數(shù)據(jù)的實驗上證明了模型的檢測能力。
受文獻(xiàn)[20]的影響,本文使用圖卷積網(wǎng)絡(luò)建模獲取無人機(jī)網(wǎng)絡(luò)的空間特征,結(jié)合門控遞歸單元(Gated Recurrent Unit,GRU)組成時空圖卷積網(wǎng)絡(luò)來挖掘深層的時空演變特征,從而更準(zhǔn)確地描述無人機(jī)網(wǎng)絡(luò)。
在實際場景中,無人機(jī)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)會隨著時間的推移而變化。例如,由于通信質(zhì)量或者網(wǎng)絡(luò)攻擊而導(dǎo)致的鏈路故障,因事故或人為因素而導(dǎo)致的無人機(jī)故障。因此,將無人機(jī)網(wǎng)絡(luò)建模為一個隨時間變化的動態(tài)圖,該圖由一段時間內(nèi)的一系列圖快照(Snapshot)組成,如圖1所示。
圖1 無人機(jī)網(wǎng)絡(luò)時空結(jié)構(gòu)Fig.1 Spatio-temporal structure of UAV network
圖的節(jié)點(diǎn)對應(yīng)無人機(jī)網(wǎng)絡(luò)的通信節(jié)點(diǎn)(無人機(jī)、傳感器),一個邊緣代表一條通信鏈路。
定義1用G描述網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),動態(tài)網(wǎng)絡(luò)可以定義為一系列圖快照G={G1,G2,…,Gs},Gt={V,Et,At},V={V1,V2,…,VN}表示網(wǎng)絡(luò)中的節(jié)點(diǎn),N為節(jié)點(diǎn)的數(shù)量,Et為邊集,鄰接矩陣At用于表示節(jié)點(diǎn)之間的連接,At中的元素0和1分別表示節(jié)點(diǎn)之間是否連接。
定義2用X∈Rn×d描述特征矩陣,n表示節(jié)點(diǎn)數(shù),d為每個節(jié)點(diǎn)的特征維度。將網(wǎng)絡(luò)上的時間序列觀測值視為網(wǎng)絡(luò)中節(jié)點(diǎn)的屬性特征,節(jié)點(diǎn)屬性特征可以是任何流量的相關(guān)信息,如傳輸速率、接收速率、發(fā)送消息數(shù)目、接收消息數(shù)目等。
復(fù)雜的時間依賴性和動態(tài)拓?fù)錁?gòu)成了巨大的挑戰(zhàn)。一方面,對節(jié)點(diǎn)的觀測顯示出非線性的時間動態(tài)性,如不同的時間段內(nèi)網(wǎng)絡(luò)流量的峰值變化或者黑客攻擊發(fā)起的時間范圍。另一方面,節(jié)點(diǎn)之間復(fù)雜的空間依賴性,每個節(jié)點(diǎn)都受到相鄰節(jié)點(diǎn)的強(qiáng)烈影響。拓?fù)浣Y(jié)構(gòu)的演變可能導(dǎo)致節(jié)點(diǎn)上觀測值的突然且劇烈的變化,如節(jié)點(diǎn)鏈路突然中斷的情況下,節(jié)點(diǎn)接收的數(shù)據(jù)包突然下降。
本文的入侵檢測目標(biāo)是:充分利用一段時間內(nèi)的拓?fù)浣Y(jié)構(gòu)信息和節(jié)點(diǎn)屬性特征信息,挖掘節(jié)點(diǎn)之間隱含的時空特征信息和時空依賴性,最終用來對節(jié)點(diǎn)進(jìn)行分類。
本文的網(wǎng)絡(luò)入侵檢測模型框架如圖2所示。為了建模拓?fù)潢P(guān)系和時空依賴性,將圖快照中的節(jié)點(diǎn)相關(guān)性和節(jié)點(diǎn)屬性特征的變化視為時間內(nèi)關(guān)系。首先,通過圖卷積網(wǎng)絡(luò)對網(wǎng)絡(luò)中節(jié)點(diǎn)的空間依賴性進(jìn)行建模,獲得空間特征;然后,將含有空間特征的歷史時間序列信息輸入GRU中,通過單元間的信息傳遞捕獲時間特征,從而獲得無人機(jī)網(wǎng)絡(luò)的時空演變特征,基于注意力機(jī)制對獲得的特征賦予不同的權(quán)重,提取與入侵檢測最相關(guān)的特征信息;最后,輸入SVM分類器得到檢測結(jié)果。
圖2 無人機(jī)網(wǎng)絡(luò)入侵檢測框架Fig.2 UAV network intrusion detection framework
考慮某個時間上的空間圖,圖的拓?fù)浣Y(jié)構(gòu)和節(jié)點(diǎn)特征分別用鄰接矩陣A∈Rn×n和特征矩陣X∈Rn×d表示。在數(shù)學(xué)上,圖卷積網(wǎng)絡(luò)將卷積的運(yùn)算擴(kuò)展到譜域中的網(wǎng)絡(luò)數(shù)據(jù)[17],并通過譜卷積函數(shù)學(xué)習(xí)分層地潛在表示。圖卷積網(wǎng)絡(luò)的圖卷積運(yùn)算可以簡單地定義為
式中:H(l)為卷積層l層的輸入;H(l+1)為卷積層之后的輸出;W(l)為在神經(jīng)網(wǎng)絡(luò)中第l層需要訓(xùn)練的權(quán)重矩陣。
圖卷積網(wǎng)絡(luò)的每一層都可以用函數(shù)f表示:
本文使用Relu函數(shù)作為激活函數(shù)來提取圖結(jié)構(gòu)數(shù)據(jù)的非線性特征,可以避免梯度消失問題。圖卷積網(wǎng)絡(luò)的每一個卷積層僅處理一階鄰域信息,因此通過疊加若干卷積層可以有效地捕獲多階鄰域(多跳)的信息傳遞[17],從而捕獲節(jié)點(diǎn)間的空間關(guān)聯(lián)特征??紤]到通信節(jié)點(diǎn)的計算能力有限,卷積層設(shè)置不宜過多,本文設(shè)置2個卷積層來構(gòu)建圖卷積網(wǎng)絡(luò),其時間復(fù)雜度為O(EdHF),E為邊數(shù),d為特征維度,H為中間層維度,F(xiàn)為輸出層維度。兩層圖卷積網(wǎng)絡(luò)堆疊起來獲得兩跳范圍內(nèi)鄰居特征的匯合,從而捕獲空間依賴性,節(jié)點(diǎn)屬性特征X作為第一層的輸入,相當(dāng)于H(0),輸出Z不僅編碼每個節(jié)點(diǎn)的特征信息,還涉及順序節(jié)點(diǎn)鄰近信息。
對于動態(tài)圖任務(wù)考慮時間t,圖卷積網(wǎng)絡(luò)單元輸入隨時間變化的鄰接矩陣At和特征矩陣Xt,輸出Gt:
通常用于處理時間序列數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)模型是遞歸神經(jīng)網(wǎng)絡(luò),但是由于梯度消失和梯度爆炸等缺陷,傳統(tǒng)的遞歸神經(jīng)網(wǎng)絡(luò)對長期預(yù)測具有局限性[15],LSTM模 型 和GRU模 型[21]是 遞 歸 神 經(jīng)網(wǎng)絡(luò)的變體,并且已被證明可以解決上述問題。LSTM和GRU的基本原理大致相同,都使用門控機(jī)制來記憶盡可能多的長期信息,然而LSTM結(jié)構(gòu)復(fù)雜,所需訓(xùn)練時間較長,而GRU模型具有相對簡單的結(jié)構(gòu)、較少的參數(shù)和較快的訓(xùn)練速度。因此,本文選擇GRU模型從圖卷積網(wǎng)絡(luò)輸出中獲得時間依賴性。
GRU的結(jié)構(gòu)去除了單元狀態(tài),而使用隱藏狀態(tài)來傳輸信息,如圖3所示。
圖3 GRU模型Fig.3 GRU model
GRU模型只有2個門結(jié)構(gòu),分別為更新門zt和重置門rt。更新門的作用類似于LSTM中的遺忘門和輸入門,有助于捕捉時間序列里的長期依賴關(guān)系,使模型可以快速學(xué)習(xí)數(shù)據(jù)的新特征,實時更新調(diào)整網(wǎng)絡(luò),避免因流數(shù)據(jù)概念漂移問題導(dǎo)致的模型預(yù)測不準(zhǔn)確。重置門用來丟棄與預(yù)測無關(guān)的歷史信息,重置門越小,前一狀態(tài)的信息被寫入的越少,有助于捕捉短期依賴關(guān)系。
式中:Gt表示圖卷積網(wǎng)絡(luò)的輸出,也是GRU網(wǎng)絡(luò)的輸入;σ表示sigmoid函數(shù);ht-1表示GRU模型中時刻t-1的輸出;ht表示時刻t的輸出;W為訓(xùn)練過程中的權(quán)重參數(shù);GRU通過將隱藏狀態(tài)ht-1和當(dāng)前時刻t的節(jié)點(diǎn)及空間特征信息Gt作為輸入,得到時刻t的節(jié)點(diǎn)狀態(tài)ht。
因此,在捕獲當(dāng)前時刻節(jié)點(diǎn)及空間特征信息的同時,模型仍保留著歷史信息,通過模型的學(xué)習(xí)從而捕獲拓?fù)浣Y(jié)構(gòu)與節(jié)點(diǎn)屬性特征在時間維度的特征信息及演變規(guī)律。至此,由圖卷積網(wǎng)絡(luò)和GRU組成的時空圖卷積網(wǎng)絡(luò)獲得了網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和節(jié)點(diǎn)屬性的時空演變特征,當(dāng)無人機(jī)網(wǎng)絡(luò)遭受網(wǎng)絡(luò)攻擊時,其通信流量行為也會發(fā)生較大變化,從而根據(jù)空間演變特性和節(jié)點(diǎn)屬性特征來判斷無人機(jī)網(wǎng)絡(luò)是否遭受入侵。
注意力機(jī)制類似于人類的視覺機(jī)制,從眾多信息中選擇與目標(biāo)最相關(guān)的信息,最初應(yīng)用于圖像識別和機(jī)器翻譯。利用注意力機(jī)制可以更加精確地捕獲與網(wǎng)絡(luò)入侵檢測最相關(guān)的時空特征,以減輕錯誤或者冗余特征信息帶來的負(fù)面影響,并提高入侵檢測模型分類性能[22]。本文使用注意力機(jī)制對時空圖卷積網(wǎng)絡(luò)的輸出向量賦予不同的權(quán)重,將GRU層輸出的向量集合表示為H=[h1,h2,…,ht],注意力機(jī)制將產(chǎn)生加權(quán)的輸出表示x:
式中:M為經(jīng)過激活函數(shù)tanh后的輸出;Wm為要學(xué)習(xí)的參數(shù)矩陣。權(quán)重矩陣U=[U1,U2,…,Ut]代表了不同時間的時空特征的重要程度,所有權(quán)重之和為1,而權(quán)重越大,注意力越強(qiáng),對于入侵檢測越重要。
大多數(shù)深度學(xué)習(xí)分類模型使用softmax激活函數(shù)作為神經(jīng)網(wǎng)絡(luò)的最后一層進(jìn)行預(yù)測,并最小化交叉熵?fù)p失函數(shù),輸出所屬類別的概率。
式中:si為分類器輸出;xk為分類器輸入;Wki為連接倒數(shù)第二層與softmax層的權(quán)重。而本文的輸出層使用分類性能更優(yōu)、收斂速度更快的L2-SVM分類函數(shù)來代替常用的softmax函數(shù),SVM的核函數(shù)選擇通常有線性核、多項式核、高斯核、sigmoid核幾種情況,在數(shù)據(jù)集上進(jìn)行實驗對比,發(fā)現(xiàn)線性核、多項式核和高斯核的選擇對最終的分類準(zhǔn)確率幾乎沒有影響,而其中線性核由于參數(shù)少速度更快,核函數(shù)最終選擇線性核。使用Hinge Loss作為目標(biāo)函數(shù):
式中:wTxi+bi表示整個分類模型最終的輸出,xi為輸入向量,bi為神經(jīng)元的偏置參數(shù);ci為i的真實類別;w為訓(xùn)練權(quán)重系數(shù);C為懲罰系數(shù),表示對誤差的寬容度,懲罰系數(shù)過大會導(dǎo)致過擬合,模型泛化能力差,懲罰系數(shù)過小會導(dǎo)致欠擬合,模型錯誤分類數(shù)目增多,本文通過交叉驗證的方法確定合適的懲罰系數(shù)值。
決策函數(shù)為每個類生成一個得分向量,取得分最大值作為最終的預(yù)測類別class:
式中:決策函數(shù)sign為符號函數(shù),其形式為
本文使用交叉驗證法調(diào)整超參數(shù),對圖卷積網(wǎng)絡(luò)卷積層數(shù)目K嘗試了{1,2,3}3種值,發(fā)現(xiàn)K=2時模型的速度與準(zhǔn)確率取得了最優(yōu)平衡。圖卷積層中的卷積核個數(shù)為32,GRU中的隱藏單元數(shù)為32,使用小批量梯度下降(Mini-Batch Gradient Descent)誤差反向傳播算法更新網(wǎng)絡(luò)中的權(quán)值,為了在時空圖卷積網(wǎng)絡(luò)的反向傳播過程中加快算法的收斂速度,使用對內(nèi)存需求較小的自適應(yīng)矩估計(Adam)為優(yōu)化算法。每次迭代的batch size為256,學(xué)習(xí)率設(shè)置為0.001,訓(xùn)練輪次為300輪,設(shè)置dropout為0.3來防止模型過擬合。
使用多種基準(zhǔn)數(shù)據(jù)集進(jìn)行實驗,由于每個數(shù)據(jù)集都會有不同的模式和特征,如網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、流量變化、攻擊方式等,使用多種數(shù)據(jù)集可以綜合驗證模型的適應(yīng)性。本文結(jié)合經(jīng)典的NSL-KDD數(shù)據(jù)集[23]、加拿大網(wǎng)絡(luò)安全研究所提供的CICIDS2017數(shù)據(jù)集[24]及無線網(wǎng)絡(luò)的WSN-DS數(shù)據(jù)集[25]進(jìn)行模型的訓(xùn)練和測試。表1為數(shù)據(jù)集的相關(guān)信息。
表1 數(shù)據(jù)集相關(guān)信息Table 1 Relevant information of datasets
為了更好地模擬無人機(jī)網(wǎng)絡(luò),參照文獻(xiàn)[26]的方法進(jìn)行無人機(jī)網(wǎng)絡(luò)的仿真實驗,本文使用EXata軟件模擬一個1 000 m×1 000 m的動態(tài)無人機(jī)網(wǎng)絡(luò)環(huán)境,50個移動節(jié)點(diǎn)分布其中。詳細(xì)仿真參數(shù)設(shè)置如表2所示。
表2 仿真參數(shù)Table 2 Simulation parameters
考慮到一般無人機(jī)的續(xù)航時間,本文設(shè)置仿真時間為900 s,其中網(wǎng)絡(luò)攻擊時間設(shè)置為30 s。實驗共進(jìn)行40次模擬,獲得總時長36 000 s的原始流量數(shù)據(jù)。對多個無人機(jī)網(wǎng)絡(luò)節(jié)點(diǎn)連續(xù)采樣,采樣間隔5 s,每次采樣后標(biāo)記統(tǒng)計數(shù)據(jù)類型為:正常、竊聽攻擊、分布式拒絕服務(wù)(DDoS)攻擊、黑洞攻擊。最終經(jīng)過數(shù)據(jù)預(yù)處理后得到無人機(jī)網(wǎng)絡(luò)的統(tǒng)計數(shù)據(jù)集UAV_set,數(shù)據(jù)集具體情況如表3所示。
表3 UAV_set數(shù)據(jù)集相關(guān)信息Table 3 Relevant information of UAV_set dataset
為了提高算法的精度、加快模型的收斂速度,對數(shù)據(jù)集進(jìn)行預(yù)處理。
1)檢測數(shù)據(jù)集中的缺失值(Nan),由于對比的傳統(tǒng)機(jī)器學(xué)習(xí)算法對缺失值比較敏感,將空值替換為所屬特征列的均值。
2)將處理后的數(shù)據(jù)集劃分為70%的訓(xùn)練集、20%的測試集和10%的驗證集。
3)對數(shù)據(jù)集的類別標(biāo)簽進(jìn)行編碼。
4)對數(shù)據(jù)集特征進(jìn)行標(biāo)準(zhǔn)化處理,避免特征的尺度不同對模型訓(xùn)練速度和準(zhǔn)確率造成的不利影響。
本文的實驗平臺操作系統(tǒng)為Windows10,處理器為Nvidia 1060 GPU,使用機(jī)器學(xué)習(xí)框架TensorFlow實現(xiàn)所有算法。本文采用準(zhǔn)確率Accuracy和誤報率FAR作為評估指標(biāo)。
式中:TP表示被正確分類的正樣本數(shù)目;FN表示被錯誤分類的正樣本數(shù)目;FP表示被錯誤分類為正樣本的負(fù)樣本數(shù)目;TN表示正確分類的負(fù)樣本數(shù)目。
將ATGCN方法與已有的7種基準(zhǔn)方法進(jìn)行比較:
1)孤立森林(IF)[27]:任意選擇一個特征,并通過隨機(jī)選擇該特征的最大值和最小值之間的區(qū)間值來檢測異常。
2)局部離群因子(LOF)[3]:通過測量給定樣本附近的局部密度偏差來計算異常分?jǐn)?shù),局部密度偏差遠(yuǎn)小于其鄰居的樣本被歸類為異常。
3)隨機(jī)森林(RF)[28]:通過組合決策樹有助于解決數(shù)據(jù)不平衡時的檢測問題。
4)MCD[29]:通過計算經(jīng)驗協(xié)方差來檢測異常點(diǎn),一種魯棒性很強(qiáng)的位置和分布估計方法。
5)OCSVM[30]:通過創(chuàng)建一個復(fù)雜的邊界來描述特征空間中的正常數(shù)據(jù)。如果新樣本超出決策邊界,則將其分類為異常。
6)VAE[31]:基于變分自動編碼器構(gòu)建正常數(shù)據(jù)的生成模型,將重構(gòu)誤差大于閾值的數(shù)據(jù)視為異常。
7)DAGMM[10]:利用深層自動編碼器為每個輸入數(shù)據(jù)點(diǎn)生成低維表示和重構(gòu)誤差,并將其進(jìn)一步輸入高斯混合模型(GMM),通過聯(lián)合優(yōu)化的方法減少模型的重建誤差。
對于基準(zhǔn)方法,分別按照文獻(xiàn)中描述的參數(shù)設(shè)置。所有方法分別使用4個數(shù)據(jù)集重復(fù)獨(dú)立運(yùn)行20次,并計算檢測結(jié)果的準(zhǔn)確率和誤報率的平均值,結(jié)果如表4所示。可以明顯看出,ATGCN方法和DAGMM方法的準(zhǔn)確率均優(yōu)于其他方法,平均穩(wěn)定在0.96以上,ATGCN方法和VAE方法的誤報率明顯小于其他方法,平均穩(wěn)定在0.027以下。證明了本文方法具有較高的檢測準(zhǔn)確率和較低的誤報率,以及ATGCN、VAE和DAGMM這些深度學(xué)習(xí)方法在網(wǎng)絡(luò)入侵檢測中的有效性。
表4 不同方法的實驗結(jié)果比較Table 4 Comparison of experimental results among different methods
為了模擬無人機(jī)網(wǎng)絡(luò)環(huán)境傳輸穩(wěn)定性較差、丟包率較高的特點(diǎn),對UAV_set數(shù)據(jù)集的測試集進(jìn)行處理,按照0.01~0.03的丟包率,對測試集中全體樣本的數(shù)據(jù)包進(jìn)行隨機(jī)剔除。圖4為ATGCN方法與檢測效果較好的VAE方法和DAGMM方法在不同丟包率環(huán)境下的檢測準(zhǔn)確率??梢钥闯?,本文ATGCN方法準(zhǔn)確率穩(wěn)定在0.75以上,優(yōu)于VAE方法和DAGMM方法,證明了ATGCN方法在傳輸鏈路不可靠的網(wǎng)絡(luò)環(huán)境中具有良好的適應(yīng)性。
圖4 不同方法在不同丟包率環(huán)境下的性能對比Fig.4 Performance changes of different methods with different packet loss rates
無人機(jī)的傳感器數(shù)據(jù)通常包含3種噪聲[32],在無線網(wǎng)絡(luò)WSN-DS數(shù)據(jù)集的測試集中添加這3種類型噪聲,并改變噪聲比例來驗證方法的魯棒性。通過圖5可以看出,在噪聲影響下ATGCN方法檢測準(zhǔn)確率相較于其他方法最為穩(wěn)定,保持在0.7以上,而VAE方法受噪聲影響最為明顯,準(zhǔn)確率最差低于0.3,DAGMM方法在噪聲比例達(dá)到0.4時,準(zhǔn)確率也只有0.4。證明了本文方法相比其他方法具有良好的抗噪聲能力和魯棒性。
圖5 不同方法在不同噪聲比例下的性能對比Fig.5 Performance changes of different methods with different noise ratios
為進(jìn)一步研究時空特征的提取和注意力機(jī)制對檢測模型分類效果的影響,將ATGCN與以下變體進(jìn)行比較:
1)AGRU:去除圖卷積網(wǎng)絡(luò),輸入時間序列下的節(jié)點(diǎn)屬性特征。模型的預(yù)測只能從節(jié)點(diǎn)的歷史數(shù)據(jù)中推斷出來,不能獲取拓?fù)浣Y(jié)構(gòu)的空間演變特征。
2)TGCN:僅去除注意力機(jī)制,輸入時間序列下的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和節(jié)點(diǎn)屬性特征,模型不能精確捕獲與網(wǎng)絡(luò)入侵檢測最相關(guān)的時空特征。
在NSL-KDD、CICIDS2017和WSN-DS這3個數(shù)據(jù)集的測試集中隨機(jī)選取10 000個樣本進(jìn)行模型的對比實驗,將模型最后一層輸出的異常值得分作為縱坐標(biāo),樣本數(shù)目為橫坐標(biāo),使用閾值來劃分正常類和異常類,類別的標(biāo)簽為實際標(biāo)簽,模型檢測效果對比如圖6所示??梢悦黠@看出,AGRU和TGCN中的一些異常值得分更接近于正常值,錯誤分類樣本數(shù)較多;而ATGCN更能將異常值與正常值區(qū)分開來,相比AGRU和TGCN的錯誤分類樣本數(shù)較少,只有14例,表明了時空圖卷積網(wǎng)絡(luò)所提取到的時空演變特征及注意力機(jī)制的設(shè)計對模型檢測效果均有明顯的提升。
圖6 方法設(shè)計對檢測效果的影響Fig.6 Effect of method design on detection result
1)針對無人機(jī)網(wǎng)絡(luò)具有拓?fù)涓叨葎討B(tài)、網(wǎng)絡(luò)連接不穩(wěn)定的特點(diǎn),設(shè)計時空圖卷積網(wǎng)絡(luò)來捕獲網(wǎng)絡(luò)的時空演變特征,解決了現(xiàn)有方法在入侵檢測問題上時空特征提取不足的問題。
2)將無人機(jī)網(wǎng)絡(luò)的入侵檢測問題建模為圖網(wǎng)絡(luò)的節(jié)點(diǎn)分類問題,將時間序列觀測值和動態(tài)拓?fù)鋱D都納入入侵檢測模型中,證明了提取時空演變特征和引入注意力機(jī)制對模型分類效果的提升。
3)在多個數(shù)據(jù)集上的實驗表明,本文方法的檢測準(zhǔn)確率平均為0.99,而誤報率平均為0.01,檢測效果優(yōu)于傳統(tǒng)的入侵檢測方法,并且驗證了時空演變特征的提取和注意力機(jī)制的設(shè)計對模型檢測效果有明顯的提升。模擬丟包率高和噪聲干擾的無人機(jī)網(wǎng)絡(luò)環(huán)境,ATGCN依然具有良好的適應(yīng)性。