王俊彥 衣 然 張 斌 車(chē)聰聰 馬 超
(1.中車(chē)青島四方機(jī)車(chē)車(chē)輛股份有限公司, 266111, 青島; 2.華北計(jì)算機(jī)系統(tǒng)工程研究所, 100083,北京∥第一作者, 高級(jí)工程師)
《中華人民共和國(guó)網(wǎng)絡(luò)安全法》明確了對(duì)于涉及公共利益的關(guān)鍵信息基礎(chǔ)設(shè)施,在網(wǎng)絡(luò)安全等級(jí)保護(hù)制度的基礎(chǔ)上,實(shí)行重點(diǎn)保護(hù)[1]。CBTC(基于通信的列車(chē)控制)是城市軌道交通的核心系統(tǒng)之一,包括ATS(列車(chē)自動(dòng)監(jiān)控)、MSS(維護(hù)支持系統(tǒng))等多個(gè)子系統(tǒng)[2]。隨著工業(yè)互聯(lián)網(wǎng)時(shí)代的到來(lái),CBTC各個(gè)子系統(tǒng)互聯(lián)互通的程度越來(lái)越高,各子系統(tǒng)間的信息安全也逐漸開(kāi)始受到行業(yè)和相關(guān)管理部門(mén)(包括中共中央網(wǎng)絡(luò)安全和信息化委員會(huì)辦公室、公安部、工業(yè)和信息化部等)的高度重視。傳統(tǒng)的安全防護(hù)設(shè)備往往關(guān)注的是信號(hào)系統(tǒng)的流量安全,而忽視了更底層的信號(hào)采集端的安全,因此,及時(shí)檢測(cè)出信號(hào)采集過(guò)程中的惡意流量并進(jìn)行報(bào)警,對(duì)于城市軌道交通信號(hào)系統(tǒng)來(lái)說(shuō)尤為重要。
近年來(lái),針對(duì)CBTC系統(tǒng)這類(lèi)關(guān)鍵基礎(chǔ)設(shè)施的攻擊大多為APT(高級(jí)可持續(xù)攻擊)。攻擊者通過(guò)注入大量虛假數(shù)據(jù)來(lái)隱藏自己的攻擊[3],同時(shí)控制受損的傳感器值,使其大致保持在噪聲水平之內(nèi)。這樣,對(duì)噪聲不敏感的故障檢測(cè)裝置或本身性能存在異常的檢測(cè)裝置就很難檢測(cè)到這種隱藏在噪聲中的惡意攻擊。
入侵檢測(cè)是實(shí)時(shí)監(jiān)測(cè)網(wǎng)絡(luò)中的流量,在出現(xiàn)異常問(wèn)題時(shí)進(jìn)行相應(yīng)處理的一種網(wǎng)絡(luò)安全技術(shù)[4]。如圖1所示,傳統(tǒng)入侵檢測(cè)主要分為信息收集、系統(tǒng)辨識(shí)、威脅處理3個(gè)步驟[5],在完成信息收集后,通過(guò)模式匹配、統(tǒng)計(jì)與完整性分析等系統(tǒng)辨識(shí)方式,建立物理過(guò)程的線性動(dòng)態(tài)狀態(tài)空間模型,經(jīng)過(guò)預(yù)測(cè)和更新這兩個(gè)計(jì)算過(guò)程來(lái)判斷系統(tǒng)是否含有惡意攻擊流量。雖然這樣的方法可能會(huì)檢測(cè)到異常行為,但其檢測(cè)模型很難建立,需要在初始階段付出大量的人力,而且建立的物理模型并不一定適用于城市軌道交通系統(tǒng)。因此,本文嘗試使用一種新的入侵檢測(cè)方法,不需要建立線性動(dòng)態(tài)狀態(tài)空間模型,而是只關(guān)注CBTC系統(tǒng)中現(xiàn)場(chǎng)傳感器的采樣狀態(tài)變化,通過(guò)檢測(cè)傳感器當(dāng)前的讀數(shù)是否因生成機(jī)制的變化而偏離了過(guò)去的讀數(shù),來(lái)判斷CBTC系統(tǒng)中是否有異常行為。
a) 傳統(tǒng)入侵檢測(cè)流程
本文提出的新型入侵檢測(cè)技術(shù)是一種輕量、快速、無(wú)模型的進(jìn)程級(jí)檢測(cè)技術(shù),能夠檢測(cè)傳感器信號(hào)中的細(xì)微變化,大大增加了檢測(cè)出策略性攻擊者的可能性。其工作機(jī)制是:首先通過(guò)一個(gè)訓(xùn)練階段學(xué)習(xí)傳感器測(cè)量時(shí)間序列中記錄的正常行為,再?gòu)恼9ぷ鞯膫鞲衅鳒y(cè)量時(shí)間序列中提取降噪信號(hào)信息,最后主動(dòng)檢查當(dāng)前提取的信號(hào)是否與歷史值產(chǎn)生偏離,從而判斷系統(tǒng)中是否混合了惡意流量。為了提取信號(hào)信息,新型入侵檢測(cè)技術(shù)借鑒了SSA(奇異譜分析)概念來(lái)提取信號(hào)信息[6],通過(guò)識(shí)別1個(gè)信號(hào)子空間并進(jìn)行計(jì)算,然后將計(jì)算結(jié)果與預(yù)估的結(jié)果進(jìn)行對(duì)比,如果結(jié)果不一致,則表明生成時(shí)間序列的機(jī)制可能發(fā)生了變化,被測(cè)系統(tǒng)可能受到攻擊。
如圖2所示,在CBTC系統(tǒng)信號(hào)提取過(guò)程中經(jīng)過(guò)了嵌入、奇異值分解、分組、重構(gòu)4個(gè)步驟。具體工作過(guò)程如下:第一步,將傳感器測(cè)量的時(shí)間序列嵌入到歐幾里得空間中[7];第二步,對(duì)從時(shí)間序列數(shù)據(jù)得出的特殊矩陣進(jìn)行頻譜分解,以提取系統(tǒng)行為的確定性部分;第三步,識(shí)別信號(hào)子空間,并將與正常操作條件下的傳感器測(cè)量值相對(duì)應(yīng)的矢量投影到該子空間上,以獲得正常過(guò)程行為的表示;第四步,系統(tǒng)會(huì)跟蹤偏離分?jǐn)?shù),以確定該過(guò)程是否偏離正常狀態(tài)。
圖2 SSA技術(shù)流程圖Fig.2 Technical flowchart of SSA
設(shè)xi為滯后向量。L為整數(shù),作為xi的滯后參數(shù),然后通過(guò)形成K個(gè)長(zhǎng)度為N的滯后向量T,使之作為初始子序列,嵌入L維歐幾里得空間RL中,T∈L,則有:
xi=[xi,xi+1,…,xi+L-1]T
(1)
式(1)中,1≤i≤K,K=N-L+1。構(gòu)造軌跡矩陣X,X的每一列均是滯后向量:
(2)
為了提取用以描述CBTC系統(tǒng)確定性行為的降噪信號(hào)信息,對(duì)X進(jìn)行奇異值分解后可得到l個(gè)特征向量u1,u2,…,ul,組成滯后協(xié)方差矩陣XXT。然后,計(jì)算時(shí)間序列的統(tǒng)計(jì)個(gè)數(shù)r,判斷確定性與變異性的自由度數(shù)。
在獲得信號(hào)信息之后,在第三個(gè)步驟中,識(shí)別正常過(guò)程行為的數(shù)學(xué)表示。設(shè)有r個(gè)前導(dǎo)特征值,U是l×r矩陣,其列是r個(gè)特征向量u1,u2,…,ur。由此可知,lr是U的列向量所跨越的子空間。計(jì)算xi的樣本均值c:
(3)
(4)
其中,P為投影矩陣,P=U(UTU)-1UT=UUT。
(5)
設(shè)θ為系統(tǒng)設(shè)置的報(bào)警閾值。當(dāng)Dj≥θ時(shí),將生成報(bào)警信息。設(shè)τ是惡意流量攻擊的開(kāi)始時(shí)間,則在(n+1,τ-1)這個(gè)時(shí)間段內(nèi),通過(guò)對(duì)比正常狀態(tài)下觀測(cè)值和攻擊開(kāi)始前的觀測(cè)值,可計(jì)算得到正常流量下偏離分?jǐn)?shù)的最大值,以有效避免正常流量擾動(dòng)產(chǎn)生的誤報(bào)。
如圖3所示,CBTC被廣泛運(yùn)用于城市軌道交通系統(tǒng)中,可以實(shí)現(xiàn)車(chē)-地之間的雙向通信[8]。CBTC的核心為ATP (列車(chē)自動(dòng)防護(hù))、ATO(列車(chē)自動(dòng)運(yùn)行)兩個(gè)子系統(tǒng),這兩個(gè)子系統(tǒng)分別用以處理列車(chē)超速防護(hù)、車(chē)門(mén)開(kāi)關(guān)、列車(chē)制動(dòng)等列車(chē)運(yùn)行控制,確保列車(chē)安全、高效運(yùn)行[9]。
注:OCC——運(yùn)營(yíng)控制中心;DCS——數(shù)據(jù)通信子系統(tǒng);CI——計(jì)算機(jī)聯(lián)鎖;ZC——區(qū)域控制器;DSU——數(shù)據(jù)存儲(chǔ)單元。圖3 CBTC系統(tǒng)結(jié)構(gòu)圖Fig.3 Diagram of CBTC system structure
如圖4所示,本次試驗(yàn)中使用的硬件設(shè)備包括2臺(tái)計(jì)算機(jī)(PC1、PC2)、1個(gè)具有鏡像功能的交換機(jī)和1臺(tái)路由器。其中:PC1用于安裝科萊數(shù)據(jù)重放軟件,模擬CBTC系統(tǒng)運(yùn)行,產(chǎn)生運(yùn)行數(shù)據(jù);PC2作為安全管理終端,運(yùn)行入侵檢測(cè)程序,采集并檢測(cè)數(shù)據(jù)。
圖4 試驗(yàn)環(huán)境網(wǎng)絡(luò)拓?fù)鋱DFig.4 Network topology of test environment
本次試驗(yàn)中,使用某地鐵線路CBTC系統(tǒng)采集到的真實(shí)鏡像數(shù)據(jù),數(shù)據(jù)采集耗時(shí)10 d。作為仿真試驗(yàn)的數(shù)據(jù),在數(shù)據(jù)重放之前,先對(duì)流量數(shù)據(jù)進(jìn)行檢測(cè)和處理,并將數(shù)據(jù)分為3個(gè)部分。其中:第一部分?jǐn)?shù)據(jù)為正常流量數(shù)據(jù);第二部分?jǐn)?shù)據(jù)為攻擊流量數(shù)據(jù),即在正常流量數(shù)據(jù)中混合的APT數(shù)據(jù)包,但該數(shù)據(jù)包只保留漏洞驗(yàn)證程序,不會(huì)對(duì)系統(tǒng)產(chǎn)生影響;第三部分?jǐn)?shù)據(jù)為混合流量,正常流量數(shù)據(jù)中插入了APT流量,以此進(jìn)行試驗(yàn)驗(yàn)證。這些數(shù)據(jù)均存放在PC1中,由PC1進(jìn)行數(shù)據(jù)包的重放。PC2通過(guò)交換機(jī)的鏡像口采集試驗(yàn)數(shù)據(jù),并運(yùn)行新型入侵檢測(cè)程序。
具體的試驗(yàn)過(guò)程包括兩個(gè)部分:
1) 試驗(yàn)一。PC1進(jìn)行正常流量數(shù)據(jù)重放,PC2進(jìn)行系統(tǒng)監(jiān)控,重放時(shí)間為24 h;
2) 試驗(yàn)二。PC1進(jìn)行攻擊流量和混合流量數(shù)據(jù)重放,PC2進(jìn)行系統(tǒng)監(jiān)控,重放時(shí)間為24 h。
根據(jù)試驗(yàn)的設(shè)定值θ,觀測(cè)入侵檢測(cè)程序的輸出值。在正常流量數(shù)據(jù)通過(guò)時(shí),檢測(cè)到Dj<θ,系統(tǒng)未生成告警;在攻擊流量數(shù)據(jù)通過(guò)時(shí),Dj≥θ,系統(tǒng)立即生成告警;在混合流量數(shù)據(jù)通過(guò)時(shí),Dj≥θ,系統(tǒng)也生成告警,試驗(yàn)達(dá)到了預(yù)期效果。重放最終監(jiān)測(cè)結(jié)果如表1所示,為方便計(jì)算,所有數(shù)值均已取整。
表1 試驗(yàn)參數(shù)設(shè)定及其仿真輸出值Tab.1 Test parameter setting and simulation output value
與傳統(tǒng)的IT(信息技術(shù))系統(tǒng)相比,城市軌道交通CBTC系統(tǒng)這類(lèi)工業(yè)控制系統(tǒng)若受到網(wǎng)絡(luò)攻擊,可能會(huì)造成更為嚴(yán)重的損失和影響。本文提出了一種新型入侵檢測(cè)技術(shù),對(duì)CBTC系統(tǒng)的底層數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)測(cè),可精準(zhǔn)識(shí)別隱藏在正常流量中的惡意攻擊,這對(duì)于CBTC系統(tǒng)網(wǎng)絡(luò)的安全防護(hù)具有重大意義[10]。如果在底層網(wǎng)絡(luò)設(shè)置該新型入侵檢測(cè)系統(tǒng),在上層網(wǎng)絡(luò)部署其他安全設(shè)備和安全策略,CBTC系統(tǒng)的安全防護(hù)水平將會(huì)大大提高。