相比于工業防火墻、入侵檢測等被動防護措施,本文定義邊緣端點的主動防護為:邊緣端點能夠主動發現入侵行為,并且自身內部具有防護功能,阻止惡意攻擊的執行與擴散,或者說借助于其他外部安全措施,邊緣端點能夠主動彌補自身的安全缺陷,間接提升自我防護能力。簡單地說,邊緣端點的主動防護主要涵蓋兩個方面:一是強化自身的防護功能,二是彌補自身的安全缺陷。實際上,隨著IT技術和OT技術的不斷融合,邊緣端點的軟/硬件平臺越來越通用化,雖然為智能制造的網絡化動態集成與可重構帶來了便利,但隨之而來的信息安全隱患也日益暴露,比如,現有工程師站、操作員站廣泛采用Windows操作系統作為工業應用的基礎運行環境,容易導致用操作系統漏洞被遺留下來;工業可編程嵌入式設備在設計時存在安全缺陷,容易導致現場執行器被惡意控制;邊緣端點所支持的工業以太網協議在實現時存在安全隱患[9],容易導致協議棧緩沖區溢出,這些都將使得針對邊緣端點的攻擊愈演愈烈。現階段,工業防火墻和入侵檢測系統已經得到了廣泛應用,但僅采用被動的“封、堵、查”防護措施,工業互聯網的安全防護仍然存在較多問題,特別是在防御高級可持續性威脅方面表現出諸多不足,因此邊緣端點的主動防護將成為工業互聯網安全發展的一個新突破口,在不改變或低影響工業可用性的前提下,通過增加與邊緣端點高度集成的信息安全組件,強化和提升邊緣端點的自身防護能力,從而克服邊緣端點的固有安全脆弱性,達到保障工業互聯網安全穩定運行的目標。
2 現階段邊緣端點的三種主動防護淺析
2.1 基于可信計算的主動免疫
邊緣端點面臨著內生脆弱性的約束,而這種內生脆弱性主要表現在軟/硬件平臺的脆弱性,特別是無法避免的操作系統漏洞問題。作為一種有效可行的防護措施,可信計算充分集成了完整性檢驗、身份認證、數據加密、訪問控制等安全功能,通過建立可信根和信任鏈保障系統的完整性和安全性,邊緣端點自身具有防護能力,能夠主動免疫多種網絡攻擊[10,11]。可信計算技術的核心是可信芯片,這也是整個可信鏈的信任根,通過信任的傳遞建立可信鏈,從而形成可信度量、可信管理、可信證據采集、可信狀態證明的可信計算環境。具體地,邊緣端點的可信保護機制可以體現在三方面:(1)操作系統的完整性度量與軟件的可信執行計算;(2)數據存儲與通信的機密性保護;(3)身份的真實性驗證。從邊緣端點的啟動階段和運行階段出發,基于可信計算的主動免疫能夠完成邊緣端點自身的本質安全防護,構建高安全、高可信的運行環境。在啟動階段,依據系統啟動流程與優先級順序,從信任根開始到硬件平臺、操作系統以及上層應用,逐級進行完整性度量與重要代碼安全性檢測,主要包括引導加載程序檢測、操作系統鏡像檢測、核心引擎檢測等,從而將信任進行擴展,為邊緣端點的穩態運行提供安全可靠的前提保障;在運行階段,在提供邊緣端點身份認證、機密通信等基本安全功能的同時,將可信鏈進一步向上層傳遞,完成程序級靜態信任度量與應用行為動態信任度量,不僅實現工業應用軟件自身基本程序信息及運行環境檢查,而且能夠實時監控軟件的動態應用行為,防止惡意修改與病毒入侵,保障工業應用軟件的運行可信。基于可信計算的主動免疫是一種有效提升設備本質安全防護的方法,目前已經有可信PLC等相關研究成果出現,但在邊緣端點的應用方面仍值得進一步研究:一方面,邊緣端點往往具有有限的計算資源和存儲資源,而可信計算的應用必定會占用其一部分系統資源,加之工業互聯網具有高可用性與高實時性要求,因此如何實現輕量級的可信計算需要進一步探討;另一方面,各種邊緣端點具有異構的軟/硬件體系,為滿足不同設計需求,邊緣端點的可信計算也應具有多樣化特點,能夠支持功能可裁剪、可配置以及易定制化等,因此,如何實現高適應性、可重構的可信計算體系也是需要解決的關鍵問題之一。圖1是基于可信計算的主動免疫安全機理與實例。
圖1 基于可信計算的主動免疫安全機理與實例
2.2 面向Linux的主動式自主防護
在目前的工業控制系統或未來的工業互聯網中,很多邊緣端點都采用Linux操作系統作為底層的支撐系統,如PLC或DCS控制器采用實時Linux操作系統增強工業控制的可用性、IIoT傳感器節點往往采用嵌入式Linux操作便于功能的裁剪。然而,Linux操作系統面臨著越來越多的信息安全威脅,2020年的黑帽子信息安全大會顯示,一系列用于間諜活動的Linux后門惡意軟件正在國內橫行,這些軟件很容易經過動態編譯并可針對特定目標進行定制。可想而知,如果這些Linux后門惡意軟件被植入到諸如PLC、DCS控制器等工業控制核心部件,不僅一些機密的工藝信息易被竊取,而且某些關鍵生產控制過程也可能遭受破壞,造成生產事故。因此,針對Linux操作系統下現階段比較流行的惡意代碼攻擊問題,面向Linux的主動式自主保護成為一種簡而有效的防御方法[12]。具體來說,這種方法是一種基于用戶態的Linux進程/文件管控方法,根據Linux進程的創建流程,通過內核提供的接口對進程相關系統調用實施監控,并將調用信息返回至用戶態,與用戶定義的規則進行比對,對惡意創建的進程進行終止,從而實現Linux系統下對惡意代碼啟動的管控。同時,該方法也能夠對Linux系統中用戶添加的敏感性文件進行保護,對敏感性文件的操作需要獲得用戶許可,并將敏感操作信息存儲至相關日志中。實際上,面向Linux的主動式自主保護主要涉及到三方面機制:可裝載內核模塊(Loadable Kernel Module,LKM)、Hook操作和Netlink連接。其中LKM實現監控模塊的可裝載和卸載;Hook操作能夠實現內核調用的監控;Netlink連接實現用戶態與內核態之間的通信,并且支持異步通信。工業互聯網中PLC、IIoT等設備長期處于穩定的工作環境,對可用性、實時性具有較高的要求,因此這種方法的主要優點在于只對惡意代碼啟動時進行管控,不需要修改邊緣端點的軟/硬件結構,占用系統資源較少,同時輕量級的設計能夠保護邊緣端點的系統穩定性,并且具有一定的兼容性。但這種方法可能遭受到拒絕服務攻擊(Denial of Service,DoS),即當一個惡意攻擊者頻繁地啟動惡意代碼軟件,將有可能消耗邊緣端點大量的系統資源,輕則可能干擾工業控制操作,重則可能導致系統崩潰。圖2是面向Linux的主動式自主防護基本原理。
2.3 面向Windows的“白名單”防護
廣義上講,工業互聯網中邊緣控制網絡的工程師站、操作員站也可以稱作邊緣端點設備,它們往往采用Windows操作系統作為底層的支撐系統,目前針對該系統的工控攻擊已非常常見,例如,“Stuxnet”病毒就是通過感染Windows系統下SIMATIC WinCC軟件破壞核設施控制系統;“Flame”病毒的主要攻擊目標也是Windows計算機,實施網絡間諜竊取機密情報信息。不同于PLC、IIoT設備,工程師站、操作員站等Windows設備具有良好的計算資源和存儲資源,因此增加信息安全防護組件可以幾乎不用考慮工業可用性影響,面向Windows的“白名單”防護已經成為一種成熟有效的主動防御技術。這種技術的主要機理如下:首先,自動掃描Windows系統內部所有磁盤文件,生成每個文件的數字簽名,根據所有PE文件的數字簽名創建白名單庫,通過識別和阻止任何白名單外的程序運行,實現對網絡、U盤等傳播的病毒、木馬等惡意代碼的啟動控制;其次,可定制添加需要監控的配置文件和關鍵注冊表鍵值,防止敏感配置文件和注冊表被惡意篡改和破壞,同時能夠配置USB設備的訪問權限,保障數據交換安全;最后,可以對日志、報警記錄進行豐富、全面地記錄,以供后續的追蹤溯源與大數據分析。這種技術能夠成功應用的前提條件是諸如工程師站、操作員站等邊緣端點具有較穩定的、非易變的軟件運行環境,同時由于這類邊緣端點具有較優良的系統資源,針對該技術的拒絕服務攻擊影響也有限。面向Windows的“白名單”防護基本安全功能架構如圖3所示。
圖3 面向Windows的“白名單”防護基本安全功能架構
3 結束語
本文首先分析了工業互聯網的信息安全威脅特征,并給出了邊緣端點的主動防護定義,在此基礎上,重點分析了現階段邊緣端點的三種主動防護手段,具體包括:基于可信計算的主動免疫機制,該機制能夠為邊緣端點建立從啟動階段到運行階段的可信鏈,并提供身份認證、機密通信等安全功能,但在輕量級、高適應、可重構的可信計算方面仍需進一步研究;面向Linux的主動式自主防護方法,該方法能夠有效地管控Linux進程啟動與文件訪問,但針對該方法的拒絕服務攻擊問題需要進一步解決;面向Windows的“白名單”防護技術,該技術能夠識別和阻止任何白名單外的程序運行,防止敏感配置文件和注冊表被惡意篡改和破壞,目前已成功應用到現有工業控制系統中,但前提條件是具有較穩定的、非易變的軟件運行環境。上述每種主動防護手段都具有自己的優勢與實現條件,仍需要進一步展開研究,從而保障工業互聯網的安全建設。
★基金項目:遼寧省自然科學基金資助計劃項目(2019-MS-149)。
作者簡介
萬 明(1984-),男,內蒙古通遼人,副研究員,工學博士,現就職于遼寧大學信息學院,目前為工業控制系統信息安全產業聯盟(ICSISIA)首批智庫專家、遼寧省工業信息安全專家組首批專家、沈陽市拔尖人才,主要研究方向為工業互聯網信息安全、智能計算與機器學習、未來網絡架構與安全。
參考文獻:
[1] 劉譜, 張曉玲, 代學武, 李健, 丁進良, 柴天佑. 工業互聯網體系架構研究綜述及展望[E]. 重慶: 第28屆中國過程控制會議, 2017.
[2] 工業互聯網產業聯盟. 工業互聯網平臺白皮書(2019)[Z]. 2020.
[3] 張尼, 劉廉如, 田志宏, 吳云峰. 工業互聯網安全進展與趨勢[J]. 廣州大學學報(自然科學版), 2019, 18 (3) : 68 - 76.
[4] 工業互聯網產業聯盟. 中國工業互聯網安全態勢報告(2019)[Z]. 2020.
[5] S. AI-Rabiaah. The "Stuxnet" virus of 2010 as an example of a "APT" and its "Recent" variances[R]. Riyadh, Saudi Arabia: Proceedings of the 21st Saudi Computer Society National Computer Conference, 2018.
[6] R. Muller, L. Oehm. Process industries versus discrete processing: how system characteristics affect operator tasks[J]. Cognition, Technology & Work, 2019, 21 (2) :337 - 356.
[7] S. N. Islam, Z. Baig, S. Zeadally. Physical layer security for the smart grid: vulnerabilities, threats, and countermeasures[J]. IEEE Transactions on Industrial Informatics, 2019, 15 (12) : 6522 - 6530.
[8] D. Serpanos, M. T. Khan, H. Shrobe. Designing safe and secure industrial control systems: a tutorial review[J]. IEEE Design & Test, 2018, 35 (3) : 73 - 88.
[9] 馮濤, 魯曄, 方君麗. 工業以太網協議脆弱性與安全防護技術綜述[J]. 通信學報, 2017, 38 (Z2) : 185 - 196.
[10] 邵誠, 鐘梁高. 一種基于可信計算的工業控制系統信息安全解決方案[J]. 信息與控制, 2015, 44 (5): 628 - 633.
[11] P. Maene, J. Gotzfried, R. Clercq, T. Muller, F. Freiling, I. Verbauwhede. Hardware-based trusted computing architectures for isolation and attestation[J]. IEEE Transactions on Computers, 2018, 67 (3): 361 - 374.
[12] Ming Wan, Jiawei Li, Jiangyuan Yao. Real-time Self-defense Approach based on Customized Netlink Connection for Industrial Linux-based Devices[E]. Cyberspace: Proceedings of EAI CollaborateCom 2020, 2020.
[13] 趙坤鵬, 張成軍, 韓明, 王義. 淺論冶金工業環境下網絡病毒的防范與治理[J]. 自動化博覽, 2019, (8) : 84 - 87.
[14] 談誠, 鄧入戈, 王麗娜, 馬婧. 針對APT攻擊中惡意USB存儲設備的防護方案研究[J]. 信息網絡安全, 2016, (2) : 7 - 14.
摘自《工業控制系統信息安全專刊(第七輯)》