丁建立, 張琪琪, 王 靜, 霍緯綱
(1. 中國民航大學計算機科學與技術學院, 天津 300300; 2. 中國民航大學信息安全測評中心, 天津 300300; 3. 中國民航大學安全科學與工程學院, 天津 300300)
廣播式自動相關監視(automatic dependent surveillance-broadcast, ADS-B)技術基于全球衛星導航系統和地空、空空數據鏈通信等技術向空中交通管制(air traffic control, ATC)中心以及其他相鄰空域內飛機周期性廣播飛機的經緯度、高度、速度等信息。ADS-B報文[1]被視為航空信息系統的重要數據源,其安全性對航班間隔管理、空中交通流量管理、空中交通防撞等功能子系統有著至關重要的影響。一旦ADS-B報文遭到攻擊,整個航空信息系統的安全性將受到威脅,ADS-B報文的安全已成為航空安全的重要組成部分。然而,ADS-B報文以明文的形式廣播并且協議缺乏基本的安全機制,攻擊者可以利用無線射頻傳輸技術輕易實現對ADS-B的欺騙干擾[2]。因此,研究有效的ADS-B安全解決方案具有重要意義。
傳統的ADS-B安全解決方案主要包括3類,第1類為基于密碼學[3-4]的方法,但此類方法需要修改協議的內部機制與硬件系統,因此在實際中應用難度較大。第2類為基于多點時差定位[5]的方法,該類方法利用ADS-B報文到達不同站點的時間差校驗發送位置的正確性,但此類方法高度依賴大量地面站的參與,實施難度大、附加成本高,不易在大范圍內推廣。第3類為基于多陣列天線[6]的方法,該類方法利用多面陣列天線對ADS-B報文進行空間位置測量來驗證目標的位置特征,此類方法實施成本較低,但仍需要在ADS-B系統上附加額外的設備。
為了避免硬件和協議更改帶來的高昂成本,基于深度學習的異常檢測方法逐漸受到關注。在此類方法中,無監督學習方法因為不需要標記數據進行模型訓練且可以識別未知類型異常而得到了廣泛的研究。ADS-B報文是具有多維特征的時間序列數據,Habler等[7]采用基于自動編碼器(autoencoder, AE)結構的神經網絡模型對ADS-B報文進行重構,使用長短時記憶(long short term memory, LSTM)網絡作為編解碼器來學習正常ADS-B報文的特征,通過滑動窗口來計算ADS-B報文序列的依賴關系并利用重構誤差檢測異常,有效地解決了傳統機器學習方法無法捕捉時間依賴性的問題。丁建立等[8]在上述模型的基礎上通過計算每個滑動窗口的統計特征來增加ADS-B序列特征維度,使模型能夠更好地捕捉數據的時間依賴性,檢測性能也有了較大提升。羅鵬等[9]采用雙向門控循環單元神經網絡預測ADS-B報文,并將預測值與真實值的差值放入支持向量數據描述(support vector data description, SVDD)中對樣本進行二次訓練,通過創建出的超球體分類器檢測ADS-B異常報文,同時解決了ADS-B報文異常檢測閾值的自適應問題。
飛機在飛行過程中,ADS-B報文在各個維度上的特征值會在正常范圍內波動,表現出隨機性。然而上述基于確定性模型的方法忽略了數據中隨機性的影響,可能會發生誤判問題[10]。對此,Fraccaro等[11]指出了在模型中引入隨機變量來建模數據中的隨機性能夠改善并增強模型性能。Luo等[12]提出了基于變分AE(variational AE, VAE)的ADS-B異常檢測算法,假設每個ADS-B報文除可見的特征外還有額外的潛在隨機變量,并使用LSTM來計算該變量的分布,隨后從計算出的分布中采樣得到潛在隨機變量的樣本用于重構輸入數據,隨機性則可以通過采樣過程融入建模過程。
ADS-B報文序列是基于時間的一系列數據,ADS-B報文在過去的狀態會對未來較長時期之后的狀態產生影響,表現出長程依賴性。然而,現有異常檢測算法卻無法很好地捕捉ADS-B報文序列中的長程依賴關系。而Transformer[13]模型通過自注意力機制使得輸入序列中每個時間點的數據都融合了之前以及之后時間點的所有特征,有效地提升了模型捕捉時間序列中長程依賴關系的能力?;诖?Meng和Duan等[14-15]利用Transformer模型來構建時間序列異常檢測模型,顯著地提升了模型的檢測性能和魯棒性。
此外,在一定的時間段內,ADS-B報文序列通常表現出整體性特征,例如飛機的飛行過程可以分為起飛、爬升、巡航、下降和著陸幾個階段,相應地,飛機的高度呈現出不同的變化趨勢。ADS-B報文序列在不同階段有不同的整體性特征,因而異常報文的判定標準也會發生變化,識別此類特征并加以利用對于提升模型的檢測性能具有重要作用。然而,現有的ADS-B異常檢測算法無法獲得輸入序列的整體性特征。在自然語言處理領域,Bowman等[16]通過基于LSTM的VAE模型引入隨機變量,用于表示單個語句的整體性特征,證實了整體性特征在控制模型生成文本的語義連續性方面具有重要作用,因此本文參考該研究工作引入隨機變量來表示序列的整體性特征。
綜上所述,本文提出了基于Transformer-VAE的無監督異常檢測算法,通過Transformer編碼器的自注意力機制建模ADS-B報文序列中的長程依賴關系,基于VAE框架,在Transformer模型中引入隨機變量來反映ADS-B報文序列的隨機性和整體性特征。然后通過特殊的融合模塊將該變量與Transformer解碼器的輸出進行融合,實現ADS-B報文的重構,最后利用重構誤差來判定異常。在真實的數據集上的實驗表明,本文提出的算法與其他基線算法相比在所設定的不同攻擊場景下具有更高的準確率。
Transformer是深度學習中用于處理時間序列數據的神經網絡模型,該模型完全基于自注意力機制來建模序列中的時序特性,通過將序列中的任意兩個元素直接連接,有效地捕捉序列長程依賴關系。Transformer基于編碼器-解碼器結構,其中的編碼器與解碼器部分各自都是通過堆疊多層相同的模型構建而成,每一層模型主要包括多頭注意力(MultiHead)和前饋神經網絡(feedforword neural network, FFN)兩個主要子模型。
多頭注意力子模型主要基于縮放點積注意力機制,注意力權重矩陣運算過程如下:
(1)
式中:Q表示查詢向量矩陣;K表示鍵向量矩陣;V表示值向量矩陣;dmodel表示模型隱狀態的維度。
多頭注意力機制則是使用不同的線性映射參數矩陣將輸入數據矩陣映射為多個不同的查詢向量矩陣、鍵向量矩陣和值向量矩陣,作為縮放點積注意力機制的輸入,此過程可定義為
(2)

FFN由兩次線性映射以及一個ReLU[17]激活函數構成,該網絡的運算過程如下:
FFN(x)=W2max(0,W1x+b1)+b2
(3)
式中:W1,W2∈Rdmodel×dmodel是線性映射的參數矩陣;b1,b2∈Rdmodel是偏置項參數;x表示特征維度為dmodel的輸入數據。

logp(x)=DKL(qφ(z|x)‖p(z|x))+LVAE(φ,θ;x)
(4)
式中:DKL(·)表示變分后驗分布qφ(z|x)與真實后驗分布p(z|x)之間的KL(Kullback-Leibler)散度;φ和θ分別表示編碼器和解碼器中的參數;LVAE(·)表示邊緣對數似然函數的下界,也是變分自編碼器所使用的目標函數,VAE通過優化這一下界來優化模型中的參數,其定義如下:
LVAE=-DKL(qφ(z|x)‖pθ(z))+Eqφ(z|x)[logpθ(x|z)]
(5)
式中:第一項通過最小化變分后驗分布與先驗分布之間的KL散度來正則化潛在變量的分布;而第二項則是通過最大化對數似然函數logpθ(x|z)來實現對原始數據的重構。
定義X={x1,x2,…,xL}表示原始ADS-B報文序列,其中L為原始ADS-B報文序列的長度。定義xt=[t,lon,lat,alt,id,s1,s2,…,sn]表示ADS-B報文特征向量,代表在t時刻具有唯一識別碼(id)的飛機所在位置的經度(lon)、緯度(lat)以及氣壓高度(alt)等,s1,s2,…,sn代表飛機附加特征,本文分配一個字段代表飛機的航行方向,即航向(s1)。
由于原始ADS-B報文序列長度過長,故采用步長為1的滑動窗口機制處理原始報文序列,將其分割為若干段長度為k的子序列作為模型的輸入,其中任意一段ADS-B子序列表示為{xt-k+1,xt-k+2,…,xt-1,xt}。
本文提出了基于Transformer-VAE的ADS-B異常檢測模型,該模型是一個端到端的無監督深度學習模型,其結構如圖1所示。

圖1 模型結構圖
Transformer-VAE模型主要由編碼器、解碼器和估計網絡3個模塊組成。整體上采用VAE框架通過引入潛在隨機變量z捕捉ADS-B報文序列的隨機性。編碼器模塊用于建模ADS-B報文序列中的長程依賴關系,將ADS-B報文的特征向量編碼到低維潛在空間中,得到包含上下文特征的潛在表示。估計網絡用于計算潛在隨機變量z的概率密度的參數,建模子序列的整體性特征。在解碼器模塊中,將Transformer解碼器的輸出與代表整體性特征的潛在隨機變量的樣本融合以進行樣本特征的重構。
2.2.1 Transformer-VAE編碼器
Transformer-VAE的編碼器模塊具有與原始的Transformer模型類似的結構,由Ne個相同的編碼器層構成。編碼器使用滑動窗口生成的ADS-B報文子序列{xt-k+1,xt-k+2,…,xt-1,xt}作為輸入,完全基于自注意力機制將報文的特征向量映射到低維潛在空間中,從而得到報文子序列的上下文表示。
以第t個時間點處的ADS-B報文的特征向量xt為例,首先通過輸入數據向量與位置編碼向量相加,將位置特征引入計算過程:
(6)


(7)
式中:MultiHead(·)表示多頭注意力機制;LayerNorm(·)表示層歸一化機制[17]。隨后計算結果Bi被進一步輸入前饋神經網絡模塊:
(8)
式中:FFN(·)表示前饋神經網絡。經過Ne層的迭代后,最后一編碼器層的輸出HNe將被輸入到估計網絡和解碼器,以分別用于估計潛在隨機變量后驗分布的參數以及進行多頭注意力機制的計算。
2.2.2 基于神經網絡的后驗分布估計網絡
Transformer-VAE通過引入潛在隨機變量來顯式地建模輸入ADS-B序列的整體性表示。包含潛在隨機變量的模型所面臨的一大挑戰是建模相關的后驗分布,在Transformer-VAE模型中,假設其服從協方差矩陣為對角矩陣的多元高斯分布,并采用神經網絡來估計分布的相關參數。
首先使用平均池化操作來得到滑動窗口中ADS-B報文序列的確定性整體特征表示h:
(9)

(10)
式中:fμ(·)和fσ(·)分別為全連接神經網絡;diag(·)表示以輸入向量為對角元素的對角矩陣。在得到隨機隱變量的后驗分布的參數后,輸入ADS-B報文子序列的隨機性整體性特征可通過在該分布中采樣得到。
由于該采樣過程無法微分,為了使得整個模型可以通過梯度下降算法端到端地訓練出來,采用重參數化方法[13],通過在標準高斯分布中進行采樣來得到服從特定分布的隨機性整體性特征z,計算過程表示為
(11)
式中:ε表示從標準高斯分布中的采樣結果;z可以表示ADS-B報文子序列的整體性特征。
2.2.3 融入注意力機制的解碼器
解碼器的主要任務是根據已生成的當前時刻t以及之前的ADS-B報文序列和隨機隱變量z重構出下一時間點處的ADS-B報文的特征向量。與編碼器類似,解碼器使用融合了位置特征的ADS-B報文特征向量作為輸入,并且由Nd個相同的解碼器層堆疊而成。每一個解碼器層主要包括掩碼多頭注意力機制、交叉多頭注意力機制以及前饋神經網絡3個模塊。
其中,掩碼多頭注意力機制是指在多頭注意力機制中引入掩碼以確保在當前時刻t的注意力權重計算以及預測僅依賴于當前時刻之前的ADS-B報文數據,掩碼多頭注意力模塊用于建模已解碼出的部分ADS-B報文序列中的時序關系。第i個解碼器層中掩碼多頭注意力模塊的計算過程定義如下:
(12)

(13)
最后,前饋神經網絡模塊被用來進一步提升解碼器的表示能力:
(14)
(15)

(16)

作為基于VAE的模型,使用變分下界作為模型最終的優化目標,目標函數初步表示為
L=Eqφ(z|X)[logpθ(X|z)]-KL(qφ(z|X)‖p(z)
(17)
式中:第1項通過最大化對數似然函數來實現對原始數據的重構;第2項通過最小化變分后驗分布與先驗分布之間的KL散度來正則化來正則化潛在變量的分布。式(17)中的對數似然分布logpθ(X|z)[20]可以進一步分解為
(18)
假設每個ADS-B報文所服從的似然分布logpθ(xt|x (19) 式中:為了平衡目標函數中目的不同的兩項,引入超參數λ來控制兩者的作用;M為蒙特卡羅方法中的采樣次數,通常設定M=1。 異常檢測的總體流程圖如圖2所示。 圖2 異常檢測流程圖 圖2(a)表示在訓練階段,輸入原始的ADS-B報文序列并對其進行特征篩選及歸一化處理,將預處理后的時間序列輸入到基于Transformer-VAE的深度異常檢測模型當中進行重構訓練,通過調整Transformer-VAE模型參數以縮小重構序列與真實序列的重構誤差,當在驗證集上的重構誤差達到最小值時停止訓練。 圖2(b)表示在測試階段,輸入含有異常的ADS-B報文序列并進行數據預處理,利用模型重構出來的序列同原序列之間的重構誤差來檢測輸入序列中的異常,若輸入序列為正常的ADS-B報文序列,重構誤差將被控制在一定范圍內,若輸入序列包含異常,重構誤差將大于異常分數閾值,從而判定異常。 假設模型對正常數據的重構誤差服從高斯分布N(μe,σe),定義異常分數函數fs(xt)為模型重構誤差的負對數似然函數,具體表示如下: (20) 式中:et表示t時刻的重構誤差,參數μe和σe由驗證集中正常數據的重構誤差通過極大似然估計法計算得到。 若當前時刻數據的異常分數高于分數閾值η時,則判定此時間點的數據為異常數據,即 (21) 其中,異常分數的閾值選定方式如下:首先計算全部測試集數據的異常分數,隨后在異常分數分布的區間內等距離采樣100個點,選定其中使得判定結果的F1分數最大的異常分數點作為閾值。 Flightradar24網站可以訪問從數千個地面站收集的數據,為了驗證模型性能,以在Flightadar24網站采集到的40趟航班完整飛行過程中的ADS-B報文序列作為分析基礎,其中每趟航班的飛行過程中約包含6 000個采樣點,收集到共計約24萬條ADS-B報文序列,將ADS-B報文序列按8∶1∶1比例劃分為訓練集、驗證集和測試集。訓練集中全部都為正常序列,用于學習基于Transformer-VAE的重構模型;驗證集中也全部都為正常序列,參考提前停止策略,在訓練過程中模型在驗證集上重構誤差達到最低點時停止訓練;在正常序列中注入異常序列構成測試集,用于測試模型性能。 在訓練過程中,設定滑動窗口的大小為50,設定滑動步長為1。采用Adam[21]作為模型的優化算法,設定其中的參數Batch size為64,并設定初始學習率為0.001,采用Noam[13]學習率衰減算法更新訓練過程中的學習率,設定其中的參數Warm step為16 000。經過超參數搜索后,設定Transformer-VAE模型中多頭注意力機制中的頭數為4,Transformer編解碼器中的前饋神經網絡尺寸為100,編碼器與解碼器的層數分別為4和1,模型隱狀態及隨機隱變量z的維度為84。 為了提取ADS-B報文序列中有意義的特征,選擇經度、緯度、高度、速度和航向作為特征,而諸如循環冗余校驗碼、國際民航組織標識符等字段由于不隨時間發生變化,在任務中毫無意義,故而在特征篩選環節被剔除掉。對于一些時間點上的飛行狀態缺失,通過用相鄰狀態來填充缺失狀態。若是某條航班數據有多于一半的屬性值缺失,將此條數據直接從數據集中剔除。針對少于一半屬性值缺失的某條航班數據,采用線性插值法補齊。 為了避免某些ADS-B數據特征差異過大影響到數據分析的結果,同時為了提高模型的收斂速度和精度,采用離差標準化的方法對ADS-B數據進行處理,將每個特征的取值映射到[0,1]之間,轉換公式如下: (22) 通過計算精確率P(Precision)、召回率R(Recall)、F1分數(F1-score)來評估異常檢測算法,以上指標計算公式如下: (23) 式中:TP表示正常樣本被模型正確識別為正常樣本的樣本數量;TN表示異常樣本被模型正確識別為異常樣本的樣本數量;FP表示異常樣本被模型錯誤識別為正常樣本的樣本數量;FN表示正常樣本被模型錯誤識別為異常樣本的樣本數量;P是指被模型正確識別為異常樣本的數量占被檢測出來的所有異常樣本的比例;R是指被模型正確識別為異常樣本的數量占數據集中所有異常樣本的比例;F1分數為精確率和召回率的加權平均調和值。 考慮到真實飛行狀態,模擬了以下5種詳細的攻擊模式并將構建的ADS-B異常報文混合到正常飛行的數據集中建立測試集評估模型性能,選取包含2 000條ADS-B數據的示例航班,異常報文生成如下: (1) 隨機噪聲異常通過將第1 000~1 500條ADS-B報文序列任意一個特征的原始值乘以0到2之間隨機生成的浮點數而產生,其余報文不做修改。 (2) 幽靈飛機異常通過將來自不同但合法航線的ADS-B報文序列注入測試航班的報文序列而產生,替換報文范圍為0~800,長度為800,其余報文不做修改。 (3) 航向偏移異常通過修改第900~1 400條ADS-B報文序列中的航向字段而產生。以100條為一組,每組通過連續增加5度的航向字段(即,對于異常段中的第一條消息,航向將被增加5度,第二條消息被增加10度,依此類推)不斷增加,產生異常,每組均從初始位置開始構建異常,其余報文不做修改。 (4) 速度偏移異常通過修改第450~950條ADS-B報文序列中的速度字段而產生。以100條為一組,每組通過連續增加10節的速度字段(即,對于異常段中的第一條消息,速度將被加速10節,第二條消息被加速20節,依此類推)不斷增加速度,產生異常,每組均從初始位置開始構建異常,其余報文不做修改。 (5) 拒絕服務(denial of service, DOS)攻擊異常通過在第977~1 377條和第1 692~2 000條兩組連續ADS-B報文序列中,每組只保留第一條報文并刪除其余報文(將報文的特征值全部置零)而產生。即只有間隔足夠大的消息才能到達目的地,從而模擬拒絕服務攻擊或網絡延遲模式,其余報文不做修改。 3.5.1 實驗結果 圖3~圖7為Transformer-VAE模型異常檢測實驗結果圖,橫坐標為ADS-B報文序列號,縱坐標為異常分數值,紅色虛線為異常分數閾值,紅色長方形陰影區域為異常注入的范圍。從圖中異常點的異常分數明顯高于非異常點這一現象可以看出,該模型異常檢測效果十分顯著。 圖3 隨機噪聲檢測 圖3為隨機噪聲異常檢測結果圖,如圖所示,在注入攻擊范圍內報文的異常分數明顯高于閾值;圖4為幽靈飛機異常檢測結果圖,使用正常的ADS-B報文序列替換掉測試航班的0~799條報文序列,第800條報文為兩段報文序列的銜接處,故異常分數在此處達到峰值,這表明Transformer-VAE模型對報文序列中的數據變化十分敏感。 圖4 幽靈飛機檢測 圖5為航向偏移異常檢測結果圖,注入攻擊范圍為第900~1 400條報文,第900~1 000條報文由于航向與正常報文偏移程度的不斷增加導致異常分數逐漸增大并在第1 000條報文處達到此段異常分數峰值,由于每組異常報文的偏移程度均從0開始增加,故在第1 000條報文之后,異常分數呈急速下降的趨勢,其余各組異常報文的異常分數變化趨勢同理;圖6表示速度偏移檢測結果圖,其原理與圖5相似,故不詳細展開論述。 圖5 航向偏移檢測 圖6 速度偏移檢測 圖7表示DOS攻擊異常檢測結果圖,注入攻擊范圍為第977~1 377條和第1 692~2 000條報文序列,由于每組除第一條報文剩余序列被全部置零,因此異常分數均相同,同時異常分數在被置零的報文序列與原始報文的拼接處的報文數據點達到峰值。 圖7 DOS攻擊檢測 另外,為了客觀驗證模型性能,選取了具有代表性的5種異常檢測方法進行對比實驗,這5種方法分別為一類支持向量機(one class-support vector machine, OC-SVM)[22]、局部異常因子(local outlier factor, LOF)算法[23]、孤立森林(isolation forest, IF)[24]、基于深度學習的LSTM-AE[8]和LSTM-VAE[12]異常檢測算法。 (1) OC-SVM:基于核函數的異常檢測算法,通過學習正常樣本與異常樣本的決策邊界來識別異常,適用與小樣本,低維度的數據集。 (2) LOF:基于密度的異常檢測算法,通過比較每個數據點和其鄰域點的密度偏差識別異常,適用于小樣本的數據集。 (3) IF:基于集群的異常檢測算法,通過判斷數據空間內某些區域數據點分布的稀疏程度識別異常,適用于異常樣本占比很少的數據集。 (4) LSTM-AE: 基于AE的異常檢測算法,由LSTM神經網絡作為模型的編解碼器,通過重構誤差和預先設定的閾值進行異常檢測,適用于大規模數據集,但模型需要質量較高的訓練集進行訓練。 (5) LSTM-VAE:基于VAE的異常檢測算法,在LSTM-AE的基礎上引入了隨機變量來捕捉數據中的隨機性,適用于大規模數據集,對訓練集質量要求不高。 實驗結果如表1所示,表1顯示了各個異常方法的精確率、召回率和F1分數。由于基于機器學習的方法沒有考慮到數據的時序關系導致其檢測性能較差,無法檢測出DOS攻擊。其中,LOF模型的召回率較高但其精確率較低,說明此方法僅僅是將大量的點標記為異常來盡可能多地檢測出異常樣本。對比OC-SVW、IF、LOF這3種機器學習方法,Transformer-VAE的各項指標比OC-SVW均高于21.95%以上,Transformer-VAE的各項指標比LOF均高于21.35%以上,Transformer-VAE的各項指標比IF均高于22.57%以上。對比LSTM-AE、LSTM-VAE這兩種深度學習方法,LSTM-VAE的各項指標LSTM-AE均高于1.75%以上,Transformer-VAE的各項指標比LSTM-AE均高于6.92%以上,Transformer-VAE的各項指標比LSTM-VAE均高于3.02%以上。 表1 各個異常方法的精確率、召回率和F1分數 綜上所述,基于深度學習的模型由于考慮到了ADS-B報文序列的時序性,相較基于傳統的機器學習方法表現出了更高的F1分數,Transformer通過自注意力機制有效地提升了模型捕捉ADS-B報文序列中長程依賴關系的能力,相較LSTM具有優越性。 而VAE通過引入隨機變量來捕捉ADS-B報文序列中的隨機性,顯著地提升了模型性能,相較AE具有優越性。實驗結果表明,針對不同類型的異常,Transformer-VAE算法精確率、召回率及F1分數均優于相關基線算法,表現出良好的性能。 3.5.2 消融實驗 為了驗證模型各部分的有效性,本組實驗測試了不同模型框架對于算法性能的影響,實驗參數的設定同第3.2節。具體的模型框架如下: (1) Transformer-AE:未引入VAE結構,即消除圖1中的估計網絡模塊以及解碼器模塊中的融合機制,消除了潛在隨機變量 在模型中的作用,僅使用AE的重構誤差作為損失函數,其他同本文。 (2) Transformer-VAE(無融合):未引入融合機制,僅將從估計網絡和編碼器中計算并采樣到的潛在變量z作為解碼過程的開始標志向量,即圖1中的S0,通過解碼器中的自注意力機制將z融入解碼過程,其余同本文。 (3) Transformer-VAE:本文所提出的模型。 實驗結果如表2所示。Transformer-VAE的各項指標要優于Transformer-AE,其中F1分數比Transformer-AE高3.85%, Transformer-VAE的各項指標要優于Transformer-VAE(無融合),F1分數比Transformer-VAE(無融合)高1.79%,這表明Transformer-VAE模型中的估計網絡模塊和融合機制對模型檢測性能的提升均有正面作用。 表2 Transformer-VAE消融實驗 3.5.3 滑動窗口長度的影響 為了驗證Transformer的長程依賴性,本組實驗測試了改變滑動窗口的長度k對于算法性能的影響,選取循環神經網絡(recurrent neural networks, RNN)系列中效果最好的LSTM-VAE算法作為對照實驗。由表3可知,在不同的滑動窗口長度下,Transformer-VAE的各項指標要明顯優于LSTM-VAE,F1分數最高相差達到6.95%。其中,在滑動窗口長度為500的情況下,Trans-former-VAE的F1分數比LSTM-VAE高5.14%。另外,Transformer-VAE在滑動窗口長度為300的情況下達到下述長度區間內檢測性能的峰值,而LSTM-VAE則是在滑動窗口長度為200的情況下達到下述長度區間內檢測性能的峰值。實驗結果表明,Transformer-VAE能夠更好的捕捉ADS-B報文序列的長程依賴關系。 表3 滑動窗口長度對算法性能的影響 3.5.4 潛在空間可視化 為了驗證Transformer-VAE模型能夠捕捉ADS-B報文的整體性特征,首先從驗證集中隨機采樣2 000條正常的ADS-B報文數據,隨后使用已訓練完成的模型計算出這些報文數據隱含隨機變量的分布并從中采樣得到這些報文對應的向量表示z。使用K-Means算法對z進行聚類,并使用不同顏色標出聚類結果,隨后使用T-SNE算法對z進行可視化,聚類及可視化結果如圖8所示(其中,橫坐標與縱坐標代表降維后用于可視化的兩個維度)。從圖中可以看出,在潛在空間中,采樣到的報文數據可以明顯地被K-Means算法分成5類,表明本文提出的模型能夠捕捉到一定的整體性特征。 圖8 可視化結果 ADS-B異常檢測算法應考慮到報文序列中的隨機性、長程依賴關系以及整體性特征對此,本文從以上3個角度出發,構建了基于VAE和Transformer的ADS-B異常檢測算法。利用Transformer編碼器的自注意力機制建模ADS-B報文序列中的長程依賴關系并通過改變滑動窗口的長度驗證了Transformer的長程依賴性。同時,基于VAE框架,在Transformer模型中引入隨機變量來反映ADS-B報文序列的隨機性和整體性特征,并通過消融實驗與潛在空間可視化實驗驗證了估計網絡模塊和融合機制對模型檢測性能提升的正面作用以及報文序列的整體性特征。為評估模型性能,針對ADS-B潛在的攻擊行為模擬生成5類異常報文,異常檢測實驗結果表明,所提出的方法在設定的不同攻擊場景下,檢測性能優于OC-SVM、LOF、IF、LSTM-AE、LSTM-VAE算法。2.4 基于Transformer-VAE的異常檢測流程

2.5 閾值確定與異常判定
3 實 驗
3.1 實驗設定
3.2 數據缺失插值與映射轉換

3.3 評估指標
3.4 攻擊構建
3.5 實驗結果與分析









4 結 論