方一帆,曾培峰
(東華大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,上海 201620)
目前,地鐵及高鐵等軌道交通系統(tǒng)正逐漸摒棄過(guò)去的MVB、TCN 等總線技術(shù),轉(zhuǎn)而使用通信效率更高、成本更低的以太網(wǎng)技術(shù)[1]。在提高乘客乘坐體驗(yàn)的同時(shí),以太網(wǎng)技術(shù)的開(kāi)放性也使得軌道交通網(wǎng)絡(luò)系統(tǒng)更易受到信號(hào)干擾和惡意攻擊的侵害[2]。為了保護(hù)乘客的生命及財(cái)產(chǎn)安全,列車(chē)通信網(wǎng)絡(luò)系統(tǒng)需要建立起一套完整而嚴(yán)格的網(wǎng)絡(luò)安全系統(tǒng)。在成熟的網(wǎng)絡(luò)安全系統(tǒng)中,入侵檢測(cè)系統(tǒng)(Intrusion Detection System,IDS)往往扮演著重要角色。不同于網(wǎng)絡(luò)防火墻,IDS 對(duì)來(lái)自系統(tǒng)內(nèi)部和外部的流量都進(jìn)行監(jiān)控。當(dāng)檢測(cè)到異常流量時(shí),IDS 通常會(huì)對(duì)上級(jí)系統(tǒng)和管理員發(fā)出警告[3],通過(guò)一定配置,IDS也可以直接禁止異常流量的通過(guò),甚至對(duì)不同的異常種類(lèi)采取不同的保護(hù)措施,這種IDS 被稱(chēng)為入侵防護(hù)系統(tǒng)(Intrusion Prevention System,IPS)。
入侵檢測(cè)系統(tǒng)主要分為基于標(biāo)志的IDS 和基于異常的IDS[3],前者的檢測(cè)方式為識(shí)別數(shù)據(jù)包中的惡意模式,需要建立起足夠龐大且可靠的模式庫(kù);后者則通過(guò)評(píng)價(jià)數(shù)據(jù)流與正常數(shù)據(jù)流的偏離程度來(lái)進(jìn)行檢測(cè),這是一種典型的分類(lèi)問(wèn)題,因此基于異常的IDS 通常使用機(jī)器學(xué)習(xí)方法?;诋惓5腎DS 相較于基于標(biāo)志IDS 的優(yōu)點(diǎn)是可以檢測(cè)未知模式的攻擊,且省去了依靠專(zhuān)家知識(shí)、時(shí)常需要更新的模式庫(kù);缺點(diǎn)是整個(gè)系統(tǒng)的精度很大程度上依賴(lài)訓(xùn)練數(shù)據(jù)集的可靠性,而這些數(shù)據(jù)集同樣存在過(guò)時(shí)的風(fēng)險(xiǎn)。
近年來(lái),以人工神經(jīng)網(wǎng)絡(luò)為主的機(jī)器學(xué)習(xí)方法正展現(xiàn)出其優(yōu)越性。2011 年M.A.Salama 等人[4]提出了基于深度信念網(wǎng)絡(luò)和支持向量機(jī)(Support Vector Machine,SVM)的混合式入侵檢測(cè)方法。該方法通過(guò)在NSL-KDD 數(shù)據(jù)集上訓(xùn)練和測(cè)試,取得了最高92.84%的準(zhǔn)確率。2012 年J.Mar 等人[5]提出了適應(yīng)式模糊神經(jīng)推斷系統(tǒng),該系統(tǒng)有效降低了平均檢測(cè)時(shí)延,提升了拒絕服務(wù)攻擊(Denial of Service,DoS)的檢測(cè)精度。2017 年J.Kim 等人[6]提出了基于深度神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)方法,并在KDD99 數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),結(jié)果表明該算法最高能取得99%以上的準(zhǔn)確率和檢測(cè)率,以及0.01%的誤報(bào)率。2018 年M.AI-Qatf 等人[7]提出了基于稀疏自編碼器和SVM 的入侵檢測(cè)算法,通過(guò)自編碼器對(duì)數(shù)據(jù)集進(jìn)行特征降維以提高SVM 的分類(lèi)精度和訓(xùn)練速度,該文獻(xiàn)還在J48、樸素貝葉斯、隨機(jī)森林等機(jī)器學(xué)習(xí)算法上進(jìn)行了廣泛的實(shí)驗(yàn),結(jié)果顯示該算法在各性能指標(biāo)上都有更好的表現(xiàn)。
循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN),因其接收上一時(shí)刻的隱層輸出作為部分輸入而得名。這種神經(jīng)網(wǎng)絡(luò)在保持人工神經(jīng)網(wǎng)絡(luò)非線性表達(dá)能力的同時(shí),還能學(xué)習(xí)到序列數(shù)據(jù)間的相關(guān)性。網(wǎng)絡(luò)流量數(shù)據(jù)通常也被認(rèn)為是一種時(shí)序數(shù)據(jù),因此RNN 及其變種在IDS 中的應(yīng)用正逐漸成為近年的研究熱點(diǎn)。2018 年B.Yan 等人[8]提出的基于局部適應(yīng)少數(shù)類(lèi)過(guò)采樣技術(shù)(Local Adaptive Synthetic Minority Over-Sampling,LA-SMOTE)和門(mén)控循環(huán)單元(Gated Recurrent Unit,GRU)的入侵檢測(cè)模型;2020 年S.Nayyar 等人[9]使用長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)進(jìn)行入侵檢測(cè)。2019 年A.Kusupati 等人[10]提出了FastGRNN(Fast Gated Recurrent Neural Network)和FastRNN 算法,通過(guò)在RNN 上直接添加門(mén)控機(jī)制,并在不同門(mén)控之間共享權(quán)重矩陣,F(xiàn)ast 算法能在保持GRU 高分類(lèi)精度的同時(shí),大大減少參數(shù)數(shù)量。實(shí)驗(yàn)結(jié)果表明,F(xiàn)astGRNN 的內(nèi)存占用顯著低于LSTM 和GRU。鑒于FastGRNN 的低資源占用表現(xiàn),2021 年P(guān).Singh 等人[11]將該算法引入了入侵檢測(cè)領(lǐng)域,并將系統(tǒng)部署到了資源嚴(yán)重受限的物聯(lián)網(wǎng)設(shè)備中。實(shí)驗(yàn)結(jié)果表明,該算法在精度達(dá)到當(dāng)時(shí)最佳水準(zhǔn)的同時(shí),占用內(nèi)存和推斷耗時(shí)都有顯著下降。
對(duì)于機(jī)器學(xué)習(xí)算法而言,數(shù)據(jù)集的質(zhì)量至關(guān)重要。以往入侵檢測(cè)乃至網(wǎng)絡(luò)安全領(lǐng)域的研究主要以KDD99 數(shù)據(jù)集[12]為主。A.Divekar 等人[13]提出,盡管KDD99 在領(lǐng)域中處于主導(dǎo)地位,但KDD99 的各種缺陷正在拖累許多現(xiàn)代IDS 在現(xiàn)實(shí)場(chǎng)景中的表現(xiàn)。這些缺陷包括:由于KDD99 年代久遠(yuǎn),無(wú)法囊括許多新的攻擊手段;訓(xùn)練集中惡意樣本只占總樣本近25%,模型傾向于學(xué)習(xí)多數(shù)樣本,因此難以對(duì)惡意流量進(jìn)行有效檢測(cè);測(cè)試集中的正常樣本只有19.4%,而僅僅DoS 樣本就占到73.9%,與訓(xùn)練集相去甚遠(yuǎn);訓(xùn)練集和測(cè)試集中都存在大量樣本重復(fù),訓(xùn)練集還存在測(cè)試集泄漏情況,使得最后訓(xùn)練出來(lái)的模型性能過(guò)于樂(lè)觀。2015 年N.Moustafa 等人[14]提出了UNSW-NB15 數(shù)據(jù)集,UNSW-NB15 相比KDD99 擁有更好的數(shù)據(jù)平衡性和穩(wěn)定性,且入侵種類(lèi)從4 種提升到了9 種,能夠體現(xiàn)現(xiàn)代網(wǎng)絡(luò)環(huán)境的復(fù)雜性。
在對(duì)近年相關(guān)文獻(xiàn)研究的基礎(chǔ)上,本文提出了一種適用于列車(chē)網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng)。該系統(tǒng)在各車(chē)廂放置檢測(cè)節(jié)點(diǎn),抓取各自車(chē)廂交換機(jī)上的網(wǎng)絡(luò)數(shù)據(jù)包,經(jīng)預(yù)處理后原地進(jìn)行異常檢測(cè),再將結(jié)果匯總到位于駕駛室的總控設(shè)備中。相比由一臺(tái)中央設(shè)備負(fù)責(zé)整輛列車(chē)的網(wǎng)絡(luò)監(jiān)測(cè),該系統(tǒng)將運(yùn)算負(fù)荷均勻地分?jǐn)偟搅硕鄠€(gè)設(shè)備上,因此起到了降低成本和提高系統(tǒng)效率的目的。此外,本文在UNSW-NB15數(shù)據(jù)集上搭建了基于FastGRNN 的異常檢測(cè)模型,將該模型部署到了各檢測(cè)節(jié)點(diǎn)中,通過(guò)與其它機(jī)器學(xué)習(xí)模型在分類(lèi)精度、內(nèi)存占用、推斷耗時(shí)上進(jìn)行比較發(fā)現(xiàn),借助FastGRNN 的低系統(tǒng)資源占用,能夠直接部署到列車(chē)現(xiàn)有設(shè)備上。
在傳統(tǒng)的公司網(wǎng)絡(luò)環(huán)境中,入侵檢測(cè)系統(tǒng)通常與防火墻一起工作。防火墻通過(guò)黑名單和白名單系統(tǒng)篩選來(lái)自外部網(wǎng)絡(luò)的連接,入侵檢測(cè)系統(tǒng)則通過(guò)監(jiān)控核心交換機(jī)來(lái)保護(hù)網(wǎng)絡(luò)安全[15]。當(dāng)入侵檢測(cè)系統(tǒng)檢測(cè)到惡意攻擊流量時(shí),系統(tǒng)會(huì)向網(wǎng)絡(luò)管理系統(tǒng)發(fā)出警報(bào)并觸發(fā)進(jìn)一步的安全保護(hù)措施。典型的公司網(wǎng)絡(luò)安全體系結(jié)構(gòu)如圖1 所示。
圖1 典型的公司網(wǎng)絡(luò)安全體系結(jié)構(gòu)Fig.1 Typical corporate network security architecture
當(dāng)直接監(jiān)控核心交換機(jī)時(shí),入侵檢測(cè)系統(tǒng)會(huì)接收進(jìn)出公司網(wǎng)絡(luò)的所有網(wǎng)絡(luò)流量。如果網(wǎng)絡(luò)通信繁忙,或者網(wǎng)絡(luò)受到針對(duì)網(wǎng)絡(luò)帶寬的攻擊時(shí)(如:分布式拒絕服務(wù)(Distributed Denial of Service,DDoS)攻擊),入侵檢測(cè)系統(tǒng)可能會(huì)癱瘓,這就需要入侵檢測(cè)系統(tǒng)采用更強(qiáng)大的硬件和更低延遲的入侵檢測(cè)算法。同時(shí),由于列車(chē)多車(chē)廂結(jié)構(gòu)帶來(lái)的網(wǎng)絡(luò)拓?fù)涮匦?,針?duì)中心網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行檢測(cè)的結(jié)構(gòu)也難以應(yīng)用于列車(chē)通信網(wǎng)絡(luò)。因此,在確定系統(tǒng)結(jié)構(gòu)之前,首先要考慮列車(chē)通信網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。
根據(jù)國(guó)際電工協(xié)會(huì)發(fā)布的IEC 61375-1[16]標(biāo)準(zhǔn),使用以太網(wǎng)技術(shù)的列車(chē)通信網(wǎng)絡(luò),是由連接各車(chē)廂的以太網(wǎng)列車(chē)骨干網(wǎng)絡(luò)(Ethernet Train Backbone Network,ETBN),以及連接車(chē)廂內(nèi)部各終端設(shè)備(End Device,ED)的 以 太 網(wǎng) 編 組 網(wǎng) 絡(luò)(Ethernet Consist Network,ECN)兩部分組成。列車(chē)通信網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示。
圖2 列車(chē)通信網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Structure of train communication network
各車(chē)廂的終端設(shè)備包括客室攝像頭、LED 報(bào)站顯示屏、LCD 導(dǎo)乘屏等,這些設(shè)備通過(guò)ECN 進(jìn)行通信,不同車(chē)廂中的設(shè)備則通過(guò)ETBN 通信。因此,通過(guò)在各ECN 節(jié)點(diǎn)放置入侵檢測(cè)節(jié)點(diǎn),借助分流器或端口鏡像技術(shù)即可抓取流經(jīng)本車(chē)廂的網(wǎng)絡(luò)流量。結(jié)合上述討論,本文提出的入侵檢測(cè)系統(tǒng)如圖3 所示。
圖3 列車(chē)通信網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)結(jié)構(gòu)Fig.3 Structure of intrusion detection system for train communication network
圖3 中的IDS 為異常檢測(cè)節(jié)點(diǎn),當(dāng)從ECN 節(jié)點(diǎn)抓取到流經(jīng)本車(chē)廂的網(wǎng)絡(luò)流量后,經(jīng)過(guò)特征提取和預(yù)處理后輸入異常檢測(cè)模型,并將檢測(cè)結(jié)果告知位于司機(jī)室的總控設(shè)備。受篇幅所限,圖中只列出了一個(gè)司機(jī)室和車(chē)廂,實(shí)際上所有車(chē)廂都會(huì)將檢測(cè)結(jié)果發(fā)往總控設(shè)備。各異常檢測(cè)節(jié)點(diǎn)的工作流程如圖4 所示,這些節(jié)點(diǎn)監(jiān)控流經(jīng)各車(chē)廂ECN 節(jié)點(diǎn)的數(shù)據(jù)流量,對(duì)這些數(shù)據(jù)流量包進(jìn)行特征提取和預(yù)處理,再輸入FastGRNN 模型,最后將模型給出的分類(lèi)結(jié)果以UDP 數(shù)據(jù)包的形式發(fā)送給司機(jī)室總控設(shè)備。
圖4 列車(chē)通信網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)工作流程Fig.4 Workflow of intrusion detection system for train communication network
FastGRNN 是RNN 模型的一種,與RNN 一樣,F(xiàn)astGRNN 以外部輸入和隱層上一時(shí)刻狀態(tài)作為輸入。FastGRNN 模型定義如下:
式中,xt為t時(shí)刻輸入向量,長(zhǎng)度為輸入特征數(shù)D,ht為t時(shí)刻隱層輸出向量,長(zhǎng)度為隱層神經(jīng)元數(shù)量H,W、U是兩種輸入的權(quán)重矩陣,分別是H × D和H ×H矩陣,bz、bh是偏置向量,長(zhǎng)度為H,tanh 和σ為非線性激活函數(shù),分別為雙曲正切和sigmoid函數(shù),☉為Hadamard 積,即向量逐元素積,ζ、ν為可訓(xùn)練標(biāo)量,均為殘差連接參數(shù)。
本文對(duì)UNSW-NB15 數(shù)據(jù)集進(jìn)行二分類(lèi),即只判斷網(wǎng)絡(luò)流量是否為異常流量。為了方便后續(xù)計(jì)算各性能指標(biāo),該模型將進(jìn)行二分類(lèi)雙標(biāo)簽預(yù)測(cè),即輸出兩個(gè)值,分別代表輸入正常和異常流量的概率,因此模型的輸出層選用歸一化指數(shù)函數(shù)(softmax)。輸出層公式如下:
其中,Wo是一個(gè)2× H的輸出層權(quán)重矩陣。
為了確認(rèn)FastGRNN 模型是否能正確監(jiān)測(cè)到列車(chē)通信網(wǎng)絡(luò)中的異常流量,以及其被部署到資源受限的嵌入式設(shè)備中的可能性,本文在UNSW-NB15數(shù)據(jù)集上訓(xùn)練并測(cè)試了FastGRNN 模型,記錄其分類(lèi)精度、模型內(nèi)存占用率和運(yùn)算效率,并將這些指標(biāo)與其它機(jī)器學(xué)習(xí)模型進(jìn)行比較。
UNSW-NB15 數(shù)據(jù)集由澳大利亞網(wǎng)絡(luò)安全中心(Australian Center of Cyber Security,ACCS)提供。原始數(shù)據(jù)集共包含254 萬(wàn)條記錄,經(jīng)篩選和過(guò)濾后,得到包含17 萬(wàn)條的訓(xùn)練集和8 萬(wàn)條數(shù)據(jù)的測(cè)試集。本文采用UNSW-NB15 訓(xùn)練集作為數(shù)據(jù)集,取其中75%作為訓(xùn)練集,其余25%作為測(cè)試集,此外再在訓(xùn)練集中取20%作為驗(yàn)證集,用于監(jiān)控神經(jīng)網(wǎng)絡(luò)類(lèi)模型訓(xùn)練時(shí)的擬合情況。UNSW-NB15 數(shù)據(jù)集有42個(gè)特征,其中3 個(gè)是類(lèi)型特征,其余為數(shù)值型特征。對(duì)于類(lèi)型特征,本文采用獨(dú)熱編碼(One -Hot Encoding),將可能取值數(shù)量為n的類(lèi)型特征映射到長(zhǎng)度為n的元組上;為了防止取值范圍大的特征在模型中占主導(dǎo)地位,采用特征標(biāo)準(zhǔn)化來(lái)縮放數(shù)值特征,其公式如下:
其中,x、x′分別為標(biāo)準(zhǔn)化前后的特征;為特征均值;σ為特征標(biāo)準(zhǔn)差。標(biāo)準(zhǔn)化后的數(shù)字代表其距離均值相差多少個(gè)標(biāo)準(zhǔn)差。
經(jīng)預(yù)處理后數(shù)據(jù)集的特征數(shù)量增加到了190個(gè)。UNSW-NB15 共有10 種標(biāo)簽,其中包括1 個(gè)正常標(biāo)簽以及9 個(gè)異常標(biāo)簽。由于本文提出的系統(tǒng)對(duì)網(wǎng)絡(luò)流量進(jìn)行二分類(lèi),因此將異常標(biāo)簽合并成1 個(gè)標(biāo)簽。預(yù)處理后的數(shù)據(jù)集數(shù)據(jù)分布見(jiàn)表1。
表1 數(shù)據(jù)集數(shù)據(jù)分布Tab.1 Distribution of the dataset
本文使用準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)和F1 分?jǐn)?shù)來(lái)評(píng)判模型的分類(lèi)精度。之所以不單獨(dú)使用準(zhǔn)確率作為評(píng)判標(biāo)準(zhǔn)是因?yàn)槠淙狈蓞⒖夹裕簩?duì)于高度不平衡的數(shù)據(jù)集,例如99%的標(biāo)簽都是正常的情況下,模型不用做任何判斷便可得到99%的準(zhǔn)確率。上述4 種指標(biāo)的計(jì)算方式如下:
其中,A、P、R、F1 分別為準(zhǔn)確率、精確率、召回率和F1 分?jǐn)?shù),TP、FP、FN分別為將正類(lèi)分類(lèi)為正類(lèi)、負(fù)類(lèi)分類(lèi)為正類(lèi)、正類(lèi)分類(lèi)為負(fù)類(lèi)的數(shù)量。精確率的含義是當(dāng)模型認(rèn)為一個(gè)樣本是正類(lèi)時(shí),其確實(shí)是正類(lèi)的比率;召回率的含義是所有正類(lèi)被模型正確分類(lèi)的比率,即使在數(shù)據(jù)集極度不平衡的情況下,只要正類(lèi)是少數(shù)類(lèi),精確率和召回率也可以體現(xiàn)出模型的性能。例如:對(duì)于上述不做任何判斷的模型,其精確率是0,召回率是無(wú)效數(shù)值,因?yàn)門(mén)P和FN都是0;F1 分?jǐn)?shù)是精確率和召回率的調(diào)和平均數(shù),其優(yōu)勢(shì)是可以綜合考慮模型的精確率和召回率,且相比算數(shù)平均數(shù),使用調(diào)和平均數(shù)的F1 分?jǐn)?shù)可以更有效地懲罰精確率或召回率接近0 的情況。
本文實(shí)驗(yàn)的硬件環(huán)境為Intel i7-2600、NVIDIA GTX1660;軟件環(huán)境為Python3.7;FastGRNN 基于開(kāi)源庫(kù)tensorflow 中的RNNCell 基類(lèi)和公式(1~3);對(duì)比實(shí)驗(yàn)中的神經(jīng)網(wǎng)絡(luò)模型來(lái)自開(kāi)源庫(kù)Keras,其它模型來(lái)自開(kāi)源庫(kù)scikit-learn。對(duì)于輸出為概率的分類(lèi)模型,分類(lèi)閾值設(shè)為0.8。
FastGRNN 模型參數(shù)見(jiàn)表2。
表2 FastGRNN 模型參數(shù)Tab.2 Model parameters of FastGRNN
除FastGRNN 模型外,本文還使用相同的實(shí)驗(yàn)流程,在UNSW-NB15 數(shù)據(jù)集上對(duì)支持向量機(jī)(Support Vector Machine,SVM)、K 近鄰算法(KNearest Neighbors)、隨機(jī)森林、多層感知機(jī)(Multilayer perceptron,MLP)、長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)、門(mén)控循環(huán)單元(Gated Recurrent Unit,GRU)等機(jī)器學(xué)習(xí)模型進(jìn)行了測(cè)試。各模型的性能指標(biāo)測(cè)試結(jié)果見(jiàn)表3。
表3 實(shí)驗(yàn)結(jié)果Tab.3 Experiment result
從實(shí)驗(yàn)結(jié)果可以看出,F(xiàn)astGRNN 模型擁有最優(yōu)的分類(lèi)精度(準(zhǔn)確率、精確率、召回率、F1 分?jǐn)?shù)),并且內(nèi)存占用顯著低于其它神經(jīng)網(wǎng)絡(luò)模型。雖然非神經(jīng)網(wǎng)絡(luò)模型(SVM、KNN、隨機(jī)森林)只占用很少的內(nèi)存,但相比FastGRNN 模型,這些模型都在分類(lèi)精度或計(jì)算時(shí)間上存在短板。
FastGRNN 的高分類(lèi)精度使得基于其搭建的IDS 擁有更高的可靠性。市面上許多嵌入式芯片的L1 緩存便足以容納下該模型(如STM32MP1 系列)。這意味著將該模型部署到硬件平臺(tái)后,能在擁有高檢測(cè)精度的同時(shí)保持低功耗。
本文提出了一種適用于列車(chē)通信網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng),通過(guò)將檢測(cè)節(jié)點(diǎn)分散到各車(chē)廂,原地完成檢測(cè)工作并將結(jié)果匯總到總控設(shè)備,該系統(tǒng)將任務(wù)負(fù)載分?jǐn)偟蕉鄠€(gè)節(jié)點(diǎn)上,從而起到了提高效率和降低成本的作用。此外,本文基于UNSW-NB15 數(shù)據(jù)集測(cè)試了FastGRNN 模型。根據(jù)實(shí)驗(yàn)結(jié)果,該模型能達(dá)到0.97的F1 分?jǐn)?shù)、14.06 KB 的內(nèi)存占用和29.41 ms的平均單樣本檢測(cè)時(shí)間,能夠部署到列車(chē)現(xiàn)有設(shè)備上,只需對(duì)列車(chē)現(xiàn)有硬件結(jié)構(gòu)做有限修改即可引入網(wǎng)絡(luò)安全保護(hù)。