趙悅琪,趙德政,林 浩,霍玉鮮,張 菡,加舒娟
(1.華北計算機系統工程研究所,北京 100083;2.中電智能科技有限公司,北京 102209)
工業控制系統(以下簡稱工控系統)是一種借助物理組件、邏輯和網絡來管理自動化過程,以及對事件進行控制和監視的業務流程管控系統,主要包括監控和數據采集(SCADA)系統、分布式控制系統(DCS)和可編程邏輯控制器(PLC)等,通常用在水力、電力、石油、交通、軍工等行業。工業控制系統的安全性和穩定性關系著國家關鍵基礎設施的正常運行。
近年來,隨著工控行業數字化生產和智能制造的推進,工控系統正逐步向開放和互聯的方向發展,并不斷地滲透傳統網絡通信領域的互聯理念,系統不再有從前的“物理隔離”假設,面臨更加嚴重和復雜的安全威脅,安全事件與日俱增,嚴重影響著我國諸多行業的安全與穩定[1]。然而我國的工控安全防護工作還處于起步階段,缺乏自我保護能力,因此做好工控系統的安全防護是現階段的重中之重[2]。本文通過討論工控系統所面臨的安全威脅,結合典型的攻擊方式,針對現有防護措施的弱點,提出和設計一套縱深的工控系統安全防護體系,詳細介紹涉及的安全防護技術,為工控系統的安全穩定運行給出良好的解決方案。
雖然工控系統種類繁多,諸如DCS、SCADA系統、PLC系統等,但大都可以抽象成如圖1所示的模型表示。

圖1 工控系統典型模型
其中,運營管理層主要負責管理生產過程和生產設備,如:生產調度、生產計劃、保障系統可靠性、生產現場控制優化等;監督控制層主要實現監督和控制系統各個環節的物理過程的功能,如工程師組態及下裝、歷史數據存儲、故障報警等;現場控制層主要實現面向用戶的指令,從傳感器讀取數據,維護過程歷史記錄,常用的有控制器、安全和保護系統等;現場設備層包括直接或間接連接到過程和過程設備的儀器儀表等。
分析工控系統的典型模型可知,系統在不同的層面,可能會遭受不同的安全攻擊,如:(1)針對現場設備所進行的物理攻擊;(2)針對系統關鍵控制回路所進行的數據截獲、數據篡改、數據欺騙等;(3)針對系統網絡或設備發起的拒絕服務攻擊、病毒入侵攻擊、數據篡改、非法獲取權限等。這些攻擊最終可能會破壞控制回路的正常功能,造成物理感染、設備失控、非正常停機等事故,甚至造成對人身、財產、環境的威脅和社會災難。
我國的工控安全防護工作還處于起步階段,分析目前國內的工控系統安全防護措施可以發現:首先,系統安全加密過程普遍存在著弱口令、明文通信、弱認證等問題;其次,系統中所使用的產品的安全服務保障能力弱,極易導致通信信息、設備參數的泄露;另外,在安全機制層面缺乏風險識別、安全監測、安全防御、安全恢復等響應機制,無法抵御上述攻擊,影響系統的安全運行。隨著攻擊手段不斷更新,系統結構日漸復雜,無法通過單一的防護措施把所有的攻擊都阻攔在外,更無法解決系統自身存在的諸多問題,因此,要保證工控系統的安全,必須采用縱深防御的安全理念,從上述各類攻擊出發,結合系統自身存在的隱患、漏洞,融合不同的安全防護技術,針對不同的層面,構建起多層次的縱深防御體系,從而維護工控系統的安全與穩定運行[3]。
經過以上分析,本文設計了一個縱深的工控系統安全防護體系,這樣的防護體系是一個全方位的概念,涉及安全防護技術、應急備用措施、全面安全管理三方面,可以保證系統從設計開發、安裝使用、運行維護到退出使用的整個生命周期都受到安全保護,三方面相互支撐、相互融合,形成動態關聯的三維立體結構。該系統通過一種自適應的、閉環的、可進行自我防御與恢復的響應模型實現,該模型包括風險識別、安全監測、安全防御、安全響應、安全恢復以及效果評估,各機制層層配合,閉環運行。系統安全防護體系及響應模型圖如圖2所示。
安全防護技術是防護體系的關鍵內容。從工業視角出發,安全的重點是保障生產的連續性、可靠性,主要保證自動化裝備、工業控制設備及系統的安全;而從數字化和智能化角度出發,安全主要負責防止工業數據泄露、保障不同系統的專項定制、實現網絡互聯等工業互聯網應用的安全運行。考慮不同視角下的不同安全需求,所設計的防護體系作用于從工控系統的現場設備層到監督控制層,安全防護技術主要包括五項基本內容:物理安全、數據安全、網絡安全、主機與應用安全和控制安全[4]。各部分的防御范圍和所涉及的重點技術闡述如下。
保證物理安全即保證設備自身及其物理運行環境安全,這是最基本的安全防護措施。實現物理安全防護必須為設備選擇具有防震、防風、防雨、防火能力的建筑或箱體,遠離強電磁干擾、遠離熱源,實施防盜和防破壞的防護措施,安排專人看守所選物理位置,對處于無人值守環境的控制器,應通過網絡實時監控其安全狀態,當發現有物理臨近攻擊的行為時,應及時采取遠程鎖定、遠程擦除等保護措施。
在保證設備正常運行、不受外界干擾的同時,還必須保證最基本的通信數據安全,即安全地下發控制信息、上傳工業數據等,防止信息竊取、偽造控制指令、數據欺騙、干擾和破壞控制功能等攻擊事件的發生。保證數據安全的關鍵措施是密碼加密與身份認證技術。
工控系統不同于傳統的高性能系統,它在數據傳輸時指令報文普遍較短,控制回路與輸入輸出設備、現場執行設備或傳感器設備距離較遠,控制回路響應時間要求很高,而現有工控系統的嵌入式CPU芯片和密碼芯片的性能有限、板級通信速率有限,現場總線控制回路中數據防篡改能力差、復雜度高。為了提高傳輸數據在控制回路中的實時性、安全性,給信息加密是目前較為有效的方法。傳統的推薦密碼對這種傳輸指令短、控制回路響應時間要求高的系統是不適用的,所以選用輕量級密碼算法進行加解密較為合適。這種算法通過改進密鑰長度、加密輪數,降低對處理器計算能力的要求和對硬件資源的開銷,但提供的加密性能卻并沒有降低,性能良好。
為確保通信安全不僅僅要對通信數據進行加密計算,還需要在通信雙方在建立TCP連接后,通過數字簽名與認證證書的方式進行雙向的身份驗證,通信雙方完成身份驗證后,通過協商生成隨機密碼,從而進入下一步的通信階段。
由于現有工業控制系統的監督控制數據大都需要通過網絡傳輸,因此必須保障控制網絡免受外部攻擊,實現網絡安全。通過研制符合安全要求的工控防火墻、邊界工業網閘、工業網絡監測審計系統,同時配合漏洞挖掘工具與漏洞掃描工具對網絡設備進行實時掃描,實現工控網絡全方位的保障。
網絡安全由邊界工業防火墻、邊界工業網閘、工業網絡監測審計系統共同實現。其中,邊界工業防火墻由基于白名單的訪問控制、工業協議精準識別和深度檢測等技術實現。邊界工業網閘由內、外網處理單元和安全數據交換單元組成,實現了工業網絡的邊界防護,有效提升防止惡意軟件傳播與防邊界滲透的安全防護能力。部署于工業生產內網的工業網絡監測審計系統通過鏡像方式分析網絡流量,及時地發現網絡中存在的安全隱患,可以對工業網絡內的安全設備進行狀態審計和配置更改,實現工業網絡審計功能[5]。
另外依賴漏洞挖掘工具與漏洞掃描工具對網絡設備進行實時掃描,對工控設備的已知漏洞進行識別和檢測,并及時發現和評估未知漏洞,對風險控制策略進行審核,實現網絡設備的安全運行[6]。
系統中有種類不同、數量繁多的工作站、應用節點,在保證通信數據安全和網絡安全的基礎之上,還必須保證主機與應用的安全。主機安全由主機白名單和配置核查工具箱共同維護。主機安全白名單防護針對工作站、服務器等工業主機進行安全加固,包括移動存儲介質管理、程序與文件加載控制、主機狀態監控審計、非法外聯管控等主機安全防護手段;配置核查工具箱對主機操作系統進行安全基線配置核查,根據相關標準中的要求對被檢查對象進行安全評估,并根據評估的結果對主機的配置進行整改,使其滿足安全基線的要求。
應用安全依靠主機白名單實現,主機安全白名單防護系統專門為工業應用環境打造,采用高效、穩定、兼容、易于設置的白名單安全防護技術,只允許白名單內的業務應用和軟件能夠加載和運行,禁止白名單外的所有進程加載和運行,構建主機運算的可信環境,從根本上防御了惡意軟件安裝和運行的可能,實現防病毒的能力。
控制安全是一個綜合的概念,實現控制安全是為了從根本上杜絕后門、木馬的威脅,杜絕數據篡改、仿冒現象的發生,工控系統應選擇和部署安全可靠的監控組態軟件、邏輯組態軟件和控制器模塊等工控軟件和設備,選擇經過安全認證或通過安全檢測的網絡交換機、路由器等網絡設備以及防火墻、身份認證系統、漏洞掃描系統和安全審計系統等。同時還應重點關注系統平臺的安全性,選擇使用符合不同安全等級要求的CPU、FPGA等關鍵芯片、桌面操作系統和嵌入式操作系統、數據庫管理系統和中間件,并選擇使用具有身份認證、訪問控制、權限管理、數據加解密、安全免疫等安全措施的系統和設備[7]。
3.5.1 安全綜合防護平臺
為了滿足以上控制安全的需求,本方案提出一種工控系統網絡安全綜合防護平臺。該平臺為數據安全、網絡安全、主機與應用安全等提供實現平臺,目的是讓各個工控系統安全技術防護措施發揮最大效用,更好地支撐企業對辦公網絡以及生產網絡的統一安全監管,實現對工業企業資產、設備、數據的統一管理和信息的集中匯聚,并將信息資產、網絡安全風險、脆弱性及威脅進行綜合的態勢分析、監測與展示,實現風險識別、安全監測、安全防御、安全響應、安全恢復以及效果評估的目的。具體平臺具體功能如下:
(1)安全設備統一管理
安全綜合防護平臺對項目中的安全防護設備進行統一管理,采用策略驅動技術實現對安全設備的統一策略部署,能夠根據當前所面臨的安全威脅統一定制和部署安全策略及風險識別機制,降低網絡安全管理的成本。
(2)安全信息集中匯聚
安全綜合防護平臺通過 Syslog、FTP、ODBC等多種方式收集生產網絡安全設備、工控設備、管理網絡安全設備、服務器等系統的日志數據,利用強大的統計匯總及關聯分析工具,實現數據內容的深度鉆取、剖析、層層追蹤還原攻擊事件的整個行為過程,挖掘出潛在的威脅,并做針對性的策略優化,實現安全監測功能。
(3)安全態勢可視化呈現
安全綜合防護平臺通過可視化的統一界面展現各類監測數據、統計數據、告警數據以及所有管控操作。對檢測到的安全漏洞和安全風險及時通報,提供多維度、可視化的呈現界面,并提示可操作的安全解決方案與措施,對安全防護情況進行持續跟蹤,并顯示風險應對效果評估結果。
(4)安全的平臺內部通信
安全綜合防護平臺與各類設備之間采用TCP加密通信,保證信息不被竊取及篡改,禁止未經允許或假冒的連接訪問系統,防止安全綜合防護平臺及安全防護體系受到攻擊,實現安全防御。
(5)工業互聯網平臺聯動預警、通報
安全綜合防護平臺綜合分析工業互聯網企業流量、主機、設備等數據,建立多源融合分析模型,提供7×24小時安全保障服務,基于規則庫匹配和行為分析實現對各類安全威脅的全天候安全監測,結合企業的工業互聯網平臺進行及時的聯動預警與通報。
(6)安全應急處置
安全綜合防護平臺根據監測預警結果形成可執行的安全策略,實現安全響應,實現安全設備和安全系統的防護策略配置與修改,在安全隱患造成實際影響之前對其進行阻斷,維護系統正常功能。
3.5.2 可信平臺的構建
實現安全綜合防護平臺功能需要構建一個可信的環境,確保系統有安全計算環境、安全區域邊界和安全通信網絡。可信是指系統要根據軟硬件的計算資源構建保護環境,包含3個最重要的方面:可信機制、可信策略和可信保障。可信機制是執行可信免疫過程的系統、程序、模塊、服務進程和外圍安全產品的總和;可信策略是用來定義可信免疫過程中識別和監控具體行為方式的輸入語句的總和;可信保障是使用保證可信免疫過程正確執行的可信部件和方法的總和[8]。
安全綜合防護平臺在可信平臺的基礎之上實現安全的設備管理、信息匯聚、安全通信態勢分析等,安全保護環境功能框架如圖3所示,該框架描述了各個系統需完成的基本功能和各部分基本連接關系[9]。各級系統的安全保護環境則根據級別的不同設置相應的安全計算環境、安全區域邊界、安全通信網絡和安全管理中心。

圖3 可信計算安全保護環境功能框架
在構建的可信平臺的基礎之上,實現安全綜合防護平臺的功能,有助于保障系統總體控制安全。
本文通過討論工控系統所面臨的安全威脅,分析典型攻擊方式,根據工控系統的安全需求,提出和設計了一套縱深的工控系統安全防護體系,并從物理安全、數據安全、網絡安全、主機與應用安全、控制安全五個方面分別闡述其技術重點。這一安全體系在基礎上保證物理安全,采用基于輕量級密碼算法的加密、雙向身份認證等技術維護數據安全,利用邊界工業防火墻、邊界工業網閘、工業網絡監測審計、入侵檢測、集中監管與審計等多種技術,配合漏洞挖掘工具與漏洞掃描工具等多種工具維護網絡安全,依靠主機白名單和配置核查工具箱維護主機與應用安全,以可信計算基為基礎給出安全綜合防護平臺,形成了一套自適應的、閉環的、可進行自我防御與恢復的安全模型與機制,立體地維護了工控體系的安全,有利于工業控制系統的安全穩定運行。