方一帆,曾培峰
(東華大學 計算機科學與技術學院,上海 201620)
目前,地鐵及高鐵等軌道交通系統正逐漸摒棄過去的MVB、TCN 等總線技術,轉而使用通信效率更高、成本更低的以太網技術[1]。在提高乘客乘坐體驗的同時,以太網技術的開放性也使得軌道交通網絡系統更易受到信號干擾和惡意攻擊的侵害[2]。為了保護乘客的生命及財產安全,列車通信網絡系統需要建立起一套完整而嚴格的網絡安全系統。在成熟的網絡安全系統中,入侵檢測系統(Intrusion Detection System,IDS)往往扮演著重要角色。不同于網絡防火墻,IDS 對來自系統內部和外部的流量都進行監控。當檢測到異常流量時,IDS 通常會對上級系統和管理員發出警告[3],通過一定配置,IDS也可以直接禁止異常流量的通過,甚至對不同的異常種類采取不同的保護措施,這種IDS 被稱為入侵防護系統(Intrusion Prevention System,IPS)。
入侵檢測系統主要分為基于標志的IDS 和基于異常的IDS[3],前者的檢測方式為識別數據包中的惡意模式,需要建立起足夠龐大且可靠的模式庫;后者則通過評價數據流與正常數據流的偏離程度來進行檢測,這是一種典型的分類問題,因此基于異常的IDS 通常使用機器學習方法。基于異常的IDS 相較于基于標志IDS 的優點是可以檢測未知模式的攻擊,且省去了依靠專家知識、時常需要更新的模式庫;缺點是整個系統的精度很大程度上依賴訓練數據集的可靠性,而這些數據集同樣存在過時的風險。
近年來,以人工神經網絡為主的機器學習方法正展現出其優越性。2011 年M.A.Salama 等人[4]提出了基于深度信念網絡和支持向量機(Support Vector Machine,SVM)的混合式入侵檢測方法。該方法通過在NSL-KDD 數據集上訓練和測試,取得了最高92.84%的準確率。2012 年J.Mar 等人[5]提出了適應式模糊神經推斷系統,該系統有效降低了平均檢測時延,提升了拒絕服務攻擊(Denial of Service,DoS)的檢測精度。2017 年J.Kim 等人[6]提出了基于深度神經網絡的入侵檢測方法,并在KDD99 數據集上進行了實驗,結果表明該算法最高能取得99%以上的準確率和檢測率,以及0.01%的誤報率。2018 年M.AI-Qatf 等人[7]提出了基于稀疏自編碼器和SVM 的入侵檢測算法,通過自編碼器對數據集進行特征降維以提高SVM 的分類精度和訓練速度,該文獻還在J48、樸素貝葉斯、隨機森林等機器學習算法上進行了廣泛的實驗,結果顯示該算法在各性能指標上都有更好的表現。
循環神經網絡(Recurrent Neural Network,RNN),因其接收上一時刻的隱層輸出作為部分輸入而得名。這種神經網絡在保持人工神經網絡非線性表達能力的同時,還能學習到序列數據間的相關性。網絡流量數據通常也被認為是一種時序數據,因此RNN 及其變種在IDS 中的應用正逐漸成為近年的研究熱點。2018 年B.Yan 等人[8]提出的基于局部適應少數類過采樣技術(Local Adaptive Synthetic Minority Over-Sampling,LA-SMOTE)和門控循環單元(Gated Recurrent Unit,GRU)的入侵檢測模型;2020 年S.Nayyar 等人[9]使用長短期記憶網絡(Long Short-Term Memory,LSTM)進行入侵檢測。2019 年A.Kusupati 等人[10]提出了FastGRNN(Fast Gated Recurrent Neural Network)和FastRNN 算法,通過在RNN 上直接添加門控機制,并在不同門控之間共享權重矩陣,Fast 算法能在保持GRU 高分類精度的同時,大大減少參數數量。實驗結果表明,FastGRNN 的內存占用顯著低于LSTM 和GRU。鑒于FastGRNN 的低資源占用表現,2021 年P.Singh 等人[11]將該算法引入了入侵檢測領域,并將系統部署到了資源嚴重受限的物聯網設備中。實驗結果表明,該算法在精度達到當時最佳水準的同時,占用內存和推斷耗時都有顯著下降。
對于機器學習算法而言,數據集的質量至關重要。以往入侵檢測乃至網絡安全領域的研究主要以KDD99 數據集[12]為主。A.Divekar 等人[13]提出,盡管KDD99 在領域中處于主導地位,但KDD99 的各種缺陷正在拖累許多現代IDS 在現實場景中的表現。這些缺陷包括:由于KDD99 年代久遠,無法囊括許多新的攻擊手段;訓練集中惡意樣本只占總樣本近25%,模型傾向于學習多數樣本,因此難以對惡意流量進行有效檢測;測試集中的正常樣本只有19.4%,而僅僅DoS 樣本就占到73.9%,與訓練集相去甚遠;訓練集和測試集中都存在大量樣本重復,訓練集還存在測試集泄漏情況,使得最后訓練出來的模型性能過于樂觀。2015 年N.Moustafa 等人[14]提出了UNSW-NB15 數據集,UNSW-NB15 相比KDD99 擁有更好的數據平衡性和穩定性,且入侵種類從4 種提升到了9 種,能夠體現現代網絡環境的復雜性。
在對近年相關文獻研究的基礎上,本文提出了一種適用于列車網絡的入侵檢測系統。該系統在各車廂放置檢測節點,抓取各自車廂交換機上的網絡數據包,經預處理后原地進行異常檢測,再將結果匯總到位于駕駛室的總控設備中。相比由一臺中央設備負責整輛列車的網絡監測,該系統將運算負荷均勻地分攤到了多個設備上,因此起到了降低成本和提高系統效率的目的。此外,本文在UNSW-NB15數據集上搭建了基于FastGRNN 的異常檢測模型,將該模型部署到了各檢測節點中,通過與其它機器學習模型在分類精度、內存占用、推斷耗時上進行比較發現,借助FastGRNN 的低系統資源占用,能夠直接部署到列車現有設備上。
在傳統的公司網絡環境中,入侵檢測系統通常與防火墻一起工作。防火墻通過黑名單和白名單系統篩選來自外部網絡的連接,入侵檢測系統則通過監控核心交換機來保護網絡安全[15]。當入侵檢測系統檢測到惡意攻擊流量時,系統會向網絡管理系統發出警報并觸發進一步的安全保護措施。典型的公司網絡安全體系結構如圖1 所示。

圖1 典型的公司網絡安全體系結構Fig.1 Typical corporate network security architecture
當直接監控核心交換機時,入侵檢測系統會接收進出公司網絡的所有網絡流量。如果網絡通信繁忙,或者網絡受到針對網絡帶寬的攻擊時(如:分布式拒絕服務(Distributed Denial of Service,DDoS)攻擊),入侵檢測系統可能會癱瘓,這就需要入侵檢測系統采用更強大的硬件和更低延遲的入侵檢測算法。同時,由于列車多車廂結構帶來的網絡拓撲特性,針對中心網絡節點進行檢測的結構也難以應用于列車通信網絡。因此,在確定系統結構之前,首先要考慮列車通信網絡的拓撲結構。
根據國際電工協會發布的IEC 61375-1[16]標準,使用以太網技術的列車通信網絡,是由連接各車廂的以太網列車骨干網絡(Ethernet Train Backbone Network,ETBN),以及連接車廂內部各終端設備(End Device,ED)的 以 太 網 編 組 網 絡(Ethernet Consist Network,ECN)兩部分組成。列車通信網絡結構如圖2 所示。

圖2 列車通信網絡結構Fig.2 Structure of train communication network
各車廂的終端設備包括客室攝像頭、LED 報站顯示屏、LCD 導乘屏等,這些設備通過ECN 進行通信,不同車廂中的設備則通過ETBN 通信。因此,通過在各ECN 節點放置入侵檢測節點,借助分流器或端口鏡像技術即可抓取流經本車廂的網絡流量。結合上述討論,本文提出的入侵檢測系統如圖3 所示。

圖3 列車通信網絡入侵檢測系統結構Fig.3 Structure of intrusion detection system for train communication network
圖3 中的IDS 為異常檢測節點,當從ECN 節點抓取到流經本車廂的網絡流量后,經過特征提取和預處理后輸入異常檢測模型,并將檢測結果告知位于司機室的總控設備。受篇幅所限,圖中只列出了一個司機室和車廂,實際上所有車廂都會將檢測結果發往總控設備。各異常檢測節點的工作流程如圖4 所示,這些節點監控流經各車廂ECN 節點的數據流量,對這些數據流量包進行特征提取和預處理,再輸入FastGRNN 模型,最后將模型給出的分類結果以UDP 數據包的形式發送給司機室總控設備。

圖4 列車通信網絡入侵檢測系統工作流程Fig.4 Workflow of intrusion detection system for train communication network
FastGRNN 是RNN 模型的一種,與RNN 一樣,FastGRNN 以外部輸入和隱層上一時刻狀態作為輸入。FastGRNN 模型定義如下:

式中,xt為t時刻輸入向量,長度為輸入特征數D,ht為t時刻隱層輸出向量,長度為隱層神經元數量H,W、U是兩種輸入的權重矩陣,分別是H × D和H ×H矩陣,bz、bh是偏置向量,長度為H,tanh 和σ為非線性激活函數,分別為雙曲正切和sigmoid函數,☉為Hadamard 積,即向量逐元素積,ζ、ν為可訓練標量,均為殘差連接參數。
本文對UNSW-NB15 數據集進行二分類,即只判斷網絡流量是否為異常流量。為了方便后續計算各性能指標,該模型將進行二分類雙標簽預測,即輸出兩個值,分別代表輸入正常和異常流量的概率,因此模型的輸出層選用歸一化指數函數(softmax)。輸出層公式如下:

其中,Wo是一個2× H的輸出層權重矩陣。
為了確認FastGRNN 模型是否能正確監測到列車通信網絡中的異常流量,以及其被部署到資源受限的嵌入式設備中的可能性,本文在UNSW-NB15數據集上訓練并測試了FastGRNN 模型,記錄其分類精度、模型內存占用率和運算效率,并將這些指標與其它機器學習模型進行比較。
UNSW-NB15 數據集由澳大利亞網絡安全中心(Australian Center of Cyber Security,ACCS)提供。原始數據集共包含254 萬條記錄,經篩選和過濾后,得到包含17 萬條的訓練集和8 萬條數據的測試集。本文采用UNSW-NB15 訓練集作為數據集,取其中75%作為訓練集,其余25%作為測試集,此外再在訓練集中取20%作為驗證集,用于監控神經網絡類模型訓練時的擬合情況。UNSW-NB15 數據集有42個特征,其中3 個是類型特征,其余為數值型特征。對于類型特征,本文采用獨熱編碼(One -Hot Encoding),將可能取值數量為n的類型特征映射到長度為n的元組上;為了防止取值范圍大的特征在模型中占主導地位,采用特征標準化來縮放數值特征,其公式如下:

其中,x、x′分別為標準化前后的特征;為特征均值;σ為特征標準差。標準化后的數字代表其距離均值相差多少個標準差。
經預處理后數據集的特征數量增加到了190個。UNSW-NB15 共有10 種標簽,其中包括1 個正常標簽以及9 個異常標簽。由于本文提出的系統對網絡流量進行二分類,因此將異常標簽合并成1 個標簽。預處理后的數據集數據分布見表1。

表1 數據集數據分布Tab.1 Distribution of the dataset
本文使用準確率(Accuracy)、精確率(Precision)、召回率(Recall)和F1 分數來評判模型的分類精度。之所以不單獨使用準確率作為評判標準是因為其缺乏可參考性:對于高度不平衡的數據集,例如99%的標簽都是正常的情況下,模型不用做任何判斷便可得到99%的準確率。上述4 種指標的計算方式如下:

其中,A、P、R、F1 分別為準確率、精確率、召回率和F1 分數,TP、FP、FN分別為將正類分類為正類、負類分類為正類、正類分類為負類的數量。精確率的含義是當模型認為一個樣本是正類時,其確實是正類的比率;召回率的含義是所有正類被模型正確分類的比率,即使在數據集極度不平衡的情況下,只要正類是少數類,精確率和召回率也可以體現出模型的性能。例如:對于上述不做任何判斷的模型,其精確率是0,召回率是無效數值,因為TP和FN都是0;F1 分數是精確率和召回率的調和平均數,其優勢是可以綜合考慮模型的精確率和召回率,且相比算數平均數,使用調和平均數的F1 分數可以更有效地懲罰精確率或召回率接近0 的情況。
本文實驗的硬件環境為Intel i7-2600、NVIDIA GTX1660;軟件環境為Python3.7;FastGRNN 基于開源庫tensorflow 中的RNNCell 基類和公式(1~3);對比實驗中的神經網絡模型來自開源庫Keras,其它模型來自開源庫scikit-learn。對于輸出為概率的分類模型,分類閾值設為0.8。
FastGRNN 模型參數見表2。

表2 FastGRNN 模型參數Tab.2 Model parameters of FastGRNN
除FastGRNN 模型外,本文還使用相同的實驗流程,在UNSW-NB15 數據集上對支持向量機(Support Vector Machine,SVM)、K 近鄰算法(KNearest Neighbors)、隨機森林、多層感知機(Multilayer perceptron,MLP)、長短期記憶網絡(Long Short-Term Memory,LSTM)、門控循環單元(Gated Recurrent Unit,GRU)等機器學習模型進行了測試。各模型的性能指標測試結果見表3。

表3 實驗結果Tab.3 Experiment result
從實驗結果可以看出,FastGRNN 模型擁有最優的分類精度(準確率、精確率、召回率、F1 分數),并且內存占用顯著低于其它神經網絡模型。雖然非神經網絡模型(SVM、KNN、隨機森林)只占用很少的內存,但相比FastGRNN 模型,這些模型都在分類精度或計算時間上存在短板。
FastGRNN 的高分類精度使得基于其搭建的IDS 擁有更高的可靠性。市面上許多嵌入式芯片的L1 緩存便足以容納下該模型(如STM32MP1 系列)。這意味著將該模型部署到硬件平臺后,能在擁有高檢測精度的同時保持低功耗。
本文提出了一種適用于列車通信網絡的入侵檢測系統,通過將檢測節點分散到各車廂,原地完成檢測工作并將結果匯總到總控設備,該系統將任務負載分攤到多個節點上,從而起到了提高效率和降低成本的作用。此外,本文基于UNSW-NB15 數據集測試了FastGRNN 模型。根據實驗結果,該模型能達到0.97的F1 分數、14.06 KB 的內存占用和29.41 ms的平均單樣本檢測時間,能夠部署到列車現有設備上,只需對列車現有硬件結構做有限修改即可引入網絡安全保護。