文/李學勇
近年來,煙草行業開始進行大規模技術改造,其中之一就是進行現代化物流系統建設。在該系統中,成套倉儲、分揀設備的自動化運行,全部依賴于工業控制系統的支持。
由于“兩化融合”的推動和工業物聯網的出現,工控網絡不可避免地從封閉走向開放,工控系統與信息系統的集成,給工業控制網絡的安全帶來了新的風險與挑戰,尤其是以2010年爆發的“震網”病毒,給工業控制系統的安全敲響了警鐘。
據工信部相關部門統計,在22個行業900套工業控制系統中,主要由國外廠商提供產品,相關系統運維也由廠商直接接管,存在漏洞的國外工業控制產品大量應用于我國重點領域工業控制系統,在數據采集與監控系統(SCADA)、分布式控制系統(DCS)、過程控制系統(PCS)中分別占據了55.12%、53.78%及76.79%的份額,在大型可編程控制器(PLC)中則占據了94.34%的份額。

在現代化煙草物流系統中,成套倉儲、分揀設備的自動化運行,都依賴于工業控制系統的支持

圖1: 2017年上半年全球范圍內工控系統遭遇攻擊分布

圖2:不規則信號

圖3:傅里葉變換稀疏后正弦基信號
2017年10月,卡巴斯基實驗室通過對各種各樣的信息系統,比如商業、政府組織、銀行、電信運營商、工業企業和個人等的信息系統進行分析,發布了《2017上半年工業自動化系統威脅報告》。報告顯示,中國工控系統遭受攻擊程度排在第五位,占比達57.1%。2017年上半年全球范圍內工控系統遭遇攻擊分布,如圖1。
(1)基礎類
2010年美國國家標準與技術研究所發布了《工業控制系統安全指南》,2014年中國頒布了《工業控制系統信息安全》標準,2016年工業和信息化部印發《工業控制系統信息安全防護指南》,國家質檢總局、國家標準委發布《工業通信網絡 網絡和系統安全》相關的6部推薦性國家標準。雖然這些都屬標準和規范類的內容,并沒有提出實際的安全防護機制,但是它們為后來的安全防護機制的研究提供了指導并奠定了基礎。
(2)策略類
Liao等人提出了一種認證型的MODBUS協議,一般來說,現在占據國內PLC市場90%以上份額的國外品牌,基本都沒有考慮過協議安全,因此,Liao等人提出了要對通過協議的信息進行加密處理。但是,類似于這種對協議通信進行加密的方式,都需要將已部署好的系統全部或者部分進行重新設計和布置,或者會很大程度增加通信負載,降低實時性。因此,對于實際的工控系統而言,這種基于改變原系統結構的方法都顯得不太實用。
(3)檢測類
比較常用的就是基于異常的網絡入侵檢測,其核心思想是通過網絡流量信息,從正常的活動中識別出異?;顒?。Yong等人提出了一種異常檢測方法,該方法通過分析he提取特征,識別異常活動。其它諸如此類的方法基本都能夠取得較好的異常檢測效果,但它們會消耗大量的網絡資源,因此對工控系統的實時性有較大的影響,所以實際應用情況并不理想。
為了既不改變原有已部署的工控系統結構,又不要占用有限的網絡資源,我們需要研究一種非侵入式的安全監測思路。該研究思路主要由旁路信息采集、特征提取以及異常檢測等三部分組成。其中,旁路信息采集是通過技術手段,對工控系統主控制器PLC在運行中所泄露出來的各種信息進行采集;特征提取是針對采集到的旁路信息進行數學變換、基信號提取,用于設定正負樣本和分類器;異常檢測則是針對后來的攻擊進行分類器對比,以確定是不是有效攻擊。
旁路信息是指電子設備在運行過程中泄露出來的與其內部運行相關的各種物理信息,如溫度變化、執行時間、功率消耗、電磁福射、聲音等信息。利用這些旁路信息,可以識別電子設備的內部運行狀態,這種技術被稱為旁路分析技術。旁路分析技術中,應用比較廣泛的是功耗分析、電磁輻射分析和時間分析,其中功耗分析由于其信息量豐富,受環境干擾相對較小,并且有分析效果比較好等優點,成為目前最有效的一種旁路信息分析方法,本文即以功耗為分析目標。
(1)旁路信息采集可行性探討
工控系統的主控制器PLC是以循環掃描的方式工作的,一個掃描周期包括內部處理、通信服務、輸入刷新、程序執行和輸出刷新等五個階段,其執行不同的指令集時,會消耗不同的功耗。事實上,PLC的如下特性使得用功耗分析來區分其內部運行的程序成為可能:
a.倉儲、分揀工藝流程設計完成后,除非進行大的技改或者全部重新設計,否則在實際運行中,生產工藝不會經常改動,PLC的運行周期、環境和程序模塊都有規律可循。
b.工藝固定、程序固定后,PLC的周期掃描工作方式就決定了,雖然是5個不同的階段,但是以周期為單位,每個階段的功耗消耗相對是固定的。
c.由于工控系統的穩定性要求,PLC的供電是以模塊式供電,基本都采用廠家的電源轉換模塊給機架上其它各模塊進行供電,因此我們可以很方便的在PLC的直流供電端采集CPU的功耗信息,而不需要對其內部的硬件或軟件進行修改。
(2)旁路信息采集實現
對于功耗采集,一般有兩種方式,一種是在直流電源端串入互感線圈,一種是并入采集電阻。但是由于互感線圈會收到PLC工作射頻信號的干擾,所以一般采用并入采集電阻,阻值一般在0.1歐姆。而信號采集器,必須支持實時采集、存儲和傳輸,與上位機有良好接口。
(1)提取原理
根據傅里葉變換原理,任何一個信號,都可以由一系列正弦函數表示,比如圖2的不規則信號。
通過傅里葉變換,我們可以得到圖3的一系列基信號。
當然可能不止4個,可以有更多,越多表示得越準確,這也反過來說明稀疏表示的一個問題,那就是稀疏到什么程度。上述信號,如果只用前2個基信號表示的話,肯定會差很多,用前3個表示會好一些。然而另一個問題可以看出,用兩個表示,極其稀疏,表示起來也簡單,但是效果差,用n個,很不稀疏,但是效果好,所以一個信號到底要稀疏表示到什么程度,這是一個變化的參數。
(2)提取算法
從原理闡述可以看出,任何一個信號都已分解為一系列基信號,這就是信號的特征庫,為了更好地區分程序運行的正常樣本和帶有攻擊的異常樣本,就需要得到一組具有區分度,而且無信息冗余的特征值組合。而對于組合優化問題而言,基于傅里葉變換的稀疏編碼算法是一個很好的解決方案。
當我們提取了合適的信號特征庫后,就能建立起可用的信號樣本。對于常用的檢測攻擊方法,都是將后續采集到的信號通過特征提取后,和原始建立的分類器進行對比,以此來判斷是否存在攻擊情況。然而,難點在于,我們在初始設計時,是無法采集到攻擊情況下的信號特征值的,也就是負樣本的采集率為零,這就只能基于正樣本采集和訓練進行檢測的過程變得困難,因為我們需要獲取足夠多的正常樣本。在獲取正常樣本后,通過比較待測樣本與正常樣本之間的差距來實現異常檢測?;陂L短記憶單元(LSTM)的神經網絡模型克服了遞歸神經網絡中的梯度消失和梯度爆炸問題,被證明在異常檢測領域也有很好的效果,因此可以采用LSTM來實現對攻擊的檢測。
工控系統的主控制器PLC是以循環掃描的方式工作的,一個掃描周期包括內部處理、通信服務、輸入刷新、程序執行和輸出刷新等五個階段,其執行不同的指令集時,會消耗不同的功耗。
本文針對當前工控系統遭到嚴重安全威脅的情況,研究了一種基于旁路分析技術的工控系統安全監測思路,介紹了旁路信息分析技術、旁路信息采集實現、特征值提取方法、算法以及異常檢測算法等。該思路有別于其他介入式檢測方法,對原始硬件系統和軟件架構影響極小,對于工控安全防護具有較好的參考價值。