PLC資訊保安防護技術研究(下篇)
本文是PLC安全防護技術的下篇部分,我們將在網路隔離、控制組態等方面對PLC的安全防禦技術進行分類介紹。
基於網路隔離的PLC安全防護
使用工業防火牆[1],對PLC的通訊進行過濾和防護,這是目前最常見的PLC安全防護手段,相對比較保守,在無法確保100%準確率的情況下,一般採取的策略是隻進行告警而不進行阻斷。Stevan 等[2]通過對比多種不同廠家不同型號的PLC指出,不一定要利用0-day漏洞就可以對PLC實施攻擊,只需要和PLC建立通訊即可。因此使用防火牆和VPN對PLC裝置進行隔離是安全防護的第一步。Be´la Genge 等[3]提出了利用防火牆和深度防禦策略來進行安全防護的方法。Sandaruwan 等[4]提出 IDS應與防火牆一起部署,以防止感染的訪問。David Kuipers 等[5]提出了縱深防禦策略,對PLC等進行隔離,首先對整個工業生產系統進行安全分割槽,然後在不同的區域之間設定防火牆進行隔離,從而保證跨越不同的安全區域進行訪問能夠受到限制。
基於控制組態的PLC安全防護
控制組態包含了PLC的執行邏輯,是直接作用於生產過程的程式,因此對控制組態的安全性驗證也是PLC安全防護的重要組成部分。Litian Xiao 等[6]提出了一種對PLC程式(組態)進行聯合驗證的層次化框架,主要包括程式碼層面、模型層面和合規性層面。在程式碼層面上,對應於PLC軟體測試,分析了靜態測試、真實環境測試、硬體檢測器測試、儀器測試和模擬測試的適用性。在模型層面上,根據PLC程式體系結構,形式化描述和語義定義,採用線性時態邏輯語法和語義的方法引入算術符號轉換系統。在合規性層面上,提出了一種基於PLC程式定理驗證技術的正確性驗證框架。具體過程如圖1所示。Yu Jiang 等[7]提出了混合關係模型(HRM,hybrid relation model),對PLC的梯形圖組態進行了分析,並證明構建的用來捕獲組態執行邏輯的HRM是一個貝葉斯網路(BN,Bayesian Network),利用BN的運算機制,來處理組態執行過程中的硬體故障概率。Mo Xia 等[8]指出,通過傳統的測試難以發現由PLC構成的複雜系統的邏輯漏洞,形式化證明引入了嚴格的數學分析來列舉所有的狀態空間,但是尚無對PLC能進行驗證的有效工具,而通用的形式化驗證工具需要大量的相關背景知識,因此提出了一個針對PLC系統的自動化建模和模型檢測工具,稱為FMMC。包括圖形化建模、語法檢驗、程式碼生成、程式碼優化和違規程式碼的呈現,使用者可以方便地找到錯誤的來源。Cleber A. Sarmento 等[9]將LD編寫的PLC控制程式被建模為擴充套件的有限狀態機,並且隨後被正式驗證。從這個驗證過程中,可以識別這些機器中的功能錯誤,並因此識別控制程式中的相關錯誤。Sridhar Adepu 等[10]提出了一種方法來推導基於狀態的不變數,從ICS設計開始,並使用從中匯出不變數的擴充套件混合自動機對其過程動態進行建模。每個不變數都被程式設計並插入到適當的PLC中伴隨著控制程式碼。不變數在ICS操作期間處於活動狀態,並根據系統設計檢查系統狀態的有效性。Akinori Mochizuki 等[11]介紹了一種白名單設計技術,通過Petri網對現場裝置的正常行為進行建模,並將白名單模型轉換為梯形圖,能夠輔助PLC檢測到網路攻擊。

圖1 PLC組態聯合驗證框架
Luis Garcia等[12]從可程式設計邏輯控制器程式掃描週期內直接執行高階安全和驗證解決方案,操作員或程式客戶端向臨時緩衝區寫入值,呼叫驗證庫中的功能對該值進行驗證,如果值沒有違反安全約束,那麼在臨時緩衝區中的值就會被傳送到目的緩衝區,具體流程如圖2所示。

圖2 PLC組態驗證過程
Huayang Cao等[13]指出過程控制系統存在的兩個弱點是,PLC裝置無法驗證控制程式碼的有效性,無法監控控制裝置本身的狀態。針對這兩個漏洞,他們設計了一種基於HMAC演算法的程式碼數字簽名機制,提出了監控控制裝置狀態的主動和被動方案。
其他防護方法
還有其他的一些安全防護方法,比如Buza等[14]提出Crysys PLC honeypot (CryPLH)系統,來發現針對PLC的攻擊。這種PLC蜜罐系統可以是整個安全監控系統的一部分。實驗驗證,此蜜罐系統對於攻擊者來說與真實的PLC是不可區分的。Nelson等[15]提出使用NAC地址繫結來保證物理上連線的埠安全,對PLC和工程師站之間的通訊進行加密,從而增加逆向分析控制協議的難度。
綜上所述,目前有大量的研究學者針對PLC進行了安全防護方面的研究。但是,PLC的安全防護是一個系統工程,需要PLC生產廠商從源頭上確保安全,同時也需要高校、研究院所的大力參與,以及政府相關主管部門制定相應安全標準加以引導,共同打造PLC資訊保安“生態系統”。
參考文獻:
[1]Shang W, Qiao Q, Wan M, et al. Design and Im-plementation of Industrial Firewall for Mod-bus/TCP[J]. JCP, 2016, 11(5): 432-438.
[2]Stevan A. Milinković, Ljubomir R. Lazić. Industrial PLC security issues[C]. Telecommunications Forum. IEEE, 2012:1536-1539.
[3]Graur F, Haller P. Experimental assessment of network design approaches for protecting industrial control sys-tems[M]. Elsevier Science Publishers B. V. 2015.
[4]Sandaruwan G P H, Ranaweera P S, Oleshchuk V A. PLC security and critical infrastructure protection[C].IEEE International Conference on Industrial and In-formation Systems. IEEE, 2014:81-85.
[5]Fabro M. Control Systems Cyber Security: De-fense-in-Depth Strategies[J]. 2006.
[6]Xiao L, Li M, Gu M, et al. A hierarchy framework on compositional verification for PLC software[C]. IEEE International Conference on Software Engineering and Service Science. IEEE, 2014:204-207.
[7]Jiang Y, Zhang H, Song X, et al. Bayesi-an-Network-Based Reliability Analysis of PLC Sys-tems[J]. IEEE Transactions on Industrial Electronics, 2013, 60(11):5325-5336.
[8]Xia M, Sun M, Luo G, et al. Design and implementation of automatic verification for PLC systems[C]. IEEE International Conference on Cognitive Informatics & Cognitive Computing. IEEE Computer Society, 2013:374-379.
[9]Sarmento C A, Filho D J S, Miyagi P E. Extending the verification coverage for PLC control programs: A functional safety approach[J]. 2012:2833-2838.
[10]Adepu S, Mathur A. From Design to Invariants: De-tecting Attacks on Cyber Physical Systems[C]. IEEE International Conference on Software Quality, Relia-bility and Security Companion. IEEE, 2017:533-540.
[11]Mochizuki A, Sawada K, Shin S, et al. On experimental verification of model based white list for PLC anomaly detection[C]. Asian Control Conference. 2017:1766-1771.
[12]Garcia L, Zonouz S, Dong W, et al. Detecting PLC control corruption via on-device runtime verifica-tion[C]. Resilience Week. IEEE, 2016:67-72.
[13]Cao H, Chen K, Zhu P. Secure process control system of industrial networks[M]. 2013.
[14]Buza D I, Juhász F, Miru G, et al. CryPLH: Pro-tecting smart energy systems from targeted attacks with a PLC honeypot[C].International Workshop on Smart Grid Security. Springer, Cham, 2014: 181-192.
[15]Nelson T. Common control system vulnerability[R]. Idaho National Laboratory (INL), 2005.
作者:徐 震 周曉軍
宣告:本文來自安全內參,版權歸作者所有。文章內容僅代表作者獨立觀點,不代表安全內參立場,轉載目的在於傳遞更多資訊。如需轉載,請聯絡原作者獲取授權。