孫 遜
(上海儀電(集團)有限公司,上海 200233)
在我國“互聯網+”戰略部署和“兩化深度融合”的大趨勢下,工業控制系統越來越多地采用互聯網及通用協議進行數據交換和運行管理[1-2]。這在極大地提高工業生產效率及效益的同時,也因工控網絡的開放性帶來了諸如病毒、木馬以及網絡攻擊等安全問題[3]。據國家工信安全中心統計,近兩年工業互聯網安全風險主要集中在智能制造、能源、交通等關鍵行業領域。其中,制造業安全風險數量較上一年增長86%。雖然工業互聯網企業布署了防火墻、主機衛士等安全設備,但是防護的重點主要還是在應用層,對信號和流量的產生之初產生的安全問題關注不足。因此,在流量和信號產生之初檢測出惡意代碼并作相應的報警,對于工業互聯網企業網絡安全而言尤為重要。
本文提出了一種基于奇異值分解的入侵檢測技術,從入侵檢測的工作原理和檢測過程兩個角度分析了檢測技術與傳統入侵檢測技術的區別。為了驗證入侵的有效性,在工業控制系統模擬環境中進行了數據重放試驗。試驗證明,入侵檢測技術可以有效規避數據擾動產生的誤報警,提高檢測準確率。
高級可持續攻擊(advanced persistent threat,APT)作為常用的攻擊手段,往往用于工業互聯網企業的網絡攻擊。攻擊者為了隱藏自己的攻擊行為,通常將惡意腳本整合成虛假數據,并在底層鏈路進行傳輸。為了長期存在于被感染的網絡或系統中,攻擊者的惡意流量攻擊值相對較弱。對于工業互聯網企業而言,安全防護設備因功能單一或檢測能力不足,對正常攻擊的防護能力不夠強,更檢測不出底層產生的惡意攻擊。
入侵檢測是實時監測網絡中的流量,在出現異常問題時進行相應處理的一種網絡安全技術[4]。傳統入侵檢測流程如圖1所示。

圖1 傳統入侵檢測流程圖
傳統入侵檢測流程主要分為采集、分析、處理三個步驟,依次執行。在數據采集階段,收集底層檢測設備產生的流量。在分析階段,根據數據類型的不同,參考線性動態系統(linear dynamic system,LDS)模型,對采集的流量進行計算、對比、分析、反饋,從而判斷系統中是否隱藏惡意流量。在處理階段,通過預制或個性化配置安全策略,對產生的惡意流量進行處置,生成報警信息。目前,市場上各安全公司大多采用這類方式進行產品研發,在分析模型的建立階段需要花費大量的精力,最終形成各企業特有的安全產品。但是,針對工業互聯網企業的物理模型目前尚不完善。因此,在生成采樣數據的階段,必須判斷傳感器當前的讀數和歷史讀數是否有偏差,以此研判系統中是否存在異常行為。
為了提高對底層攻擊流量的檢測能力,觀察傳感器信號需檢測非正常流量中微弱的變化。本文采用檢測技術的方法。該方法的工作機制是:首先記錄傳感器正常的流量信號并以此作為基準,將信號序列化;然后從中分離并提取降噪后的信號;最后對比被測信號和基準信號的偏差值,若偏差值過大則判斷系統中存在惡意流量。為了更準確地獲取降噪信號,本文參考了奇異譜分析(singular spectrum analysis,SSA)[5],引入信號子空間的概念來實現檢測結果和預估值的對比,以此判斷是否存在惡意流量。
SSA是入侵檢測的技術之一,主要分為嵌入、分解、分組、重構四個階段[6]。SSA流程如圖2所示。

圖2 SAA流程圖
SSA具體過程如下。
①在歐幾里得空間中嵌入提取信號的序列。
②對生成的時間序列矩陣進行分解。
③識別信號子空間,將觀測值的矢量在子空間上進行分組投影,生成偏離分數。
④跟蹤偏離分數,生成對比信息,判斷數據是否正常。
設N為滯后參數(其中N為自然數,N∈),通過形成L個長度為M的滯后向量T,作為初始子序列嵌入N維空間RN中,T∈RN。
Xi=(xi,xi+1,…,xi+N,xi+N-1)
(1)
式中:Xi為滯后列向量;xi為Xi中的元素,1≤i≤L,L=M-N+1,M為數據長度。
進一步構造軌跡矩陣X,如式(2)所示。
(2)
針對生成的軌跡矩陣X,采取奇異值分解的處理,輸出N個特征向量u1,u2,...,uN。然后,將特征向量重組,輸出方差矩陣XXT。最后,進行時間序列維數t的統計,輸出變異性、確定性的自由度。
在獲得信號信息之后,通過對正常過程行為的識別來獲取信號的數學表示。設W為一個N×t矩陣,其列為t個特征向量u1,u2,...,ut,對應t個前導特征值。Nt為W的列向量所跨越的子空間。計算滯后向量xi的樣本均值c(1≤i≤L),如式(3)所示。
(3)


(4)
式中:P為投影矩陣,P=W(WTW)-1WT=WT。
對于每個測試向量Xj(j>L),計算NT中到質心的歐幾里德距離的平方值Sj,如式(5)所示。
(5)
每當Sj≥θ時,就生成報警信息。θ為設置的報警閾值,是在正常狀態下觀測到的信號擾動。
工業互聯網常見結構可以分為信息技術(information technology,IT)層和操作技術(operation technology,OT)層。OT層包括現場設備層、現場控制層等,實現了對企業資源、流程、工藝及事件的全面管控,覆蓋企業運營的各個層面,包括生產運營、能源運營、設備資產運營以及服務運營等[7]。IT層通過采集大量OT層數據并加以整合利用,優化OT層的生產,從而整體提高工業互聯網企業的生產運行效率。工業互聯網常見結構如圖3所示。

圖3 工業互聯網常見結構圖
本次試驗中,試驗環境涉及的硬件設備包括兩臺計算機(操作員站與管理終端)、交換機和西門子可編程控制邏輯(programmable logic controller,PLC)套件。操作員站通過與PLC進行不斷通信發送試驗數據,將交換機業務口的數據鏡像到統一端口。管理終端連接鏡像口進行數據采集并檢測數據[8]。
試驗環境如圖4所示。

圖4 試驗環境示意圖
本次試驗中,預先對試驗數據進行編輯。第一階段的數據流量為系統正常情況下采集獲取,作為本次檢測的基準數據。第二階段的數據流量為高級可持續攻擊驗證腳本。通過操作員站進行數據包的重放,由入侵檢測程序對重放數據進行識別和解析。
試驗一由操作員站發送正常流量,管理終端進行檢測基準的學習,持續1 h。
試驗二由操作員站發送攻擊流量,管理終端進行異常流量檢測,持續1 h。
檢測程序最終會輸出不同的數值,設置發出報警的最大值為θ。在發送正常流量數據時,檢測到Sj值小于等于設定值θ,系統無告警;在攻擊流量通過時,Sj值大于設定值θ,系統立即生成告警。試驗參數如表1所示。

表1 試驗參數
表1中:r為特征向量列數,所有數據已作取整處理。
與傳統行業的應用系統相比,針對工業互聯網系統的網絡攻擊越來越普遍。尤其是針對一些關鍵基礎設施企業的網絡攻擊,往往會造成巨大的經濟損失和社會影響。
本文闡述了一種基于奇異值分解的入侵檢測技術,并通過數據重放試驗驗證了入侵檢測技術的有效性和準確率。在工業互聯網環境中,如何在不影響正常生產的同時提高工業互聯網安全防護能力,一直是不斷探索的課題。