盧 凱,朱廣宇,王紹杰,劉智國
(中國電子信息產業集團有限公司第六研究所,北京 102209)
工業控制系統(ICS)是幾種不同類型的控制系統的總稱,包括監控和數據采集系統(SCADA)、分布式控制系統(DCS)和其他控制系統(如可編程邏輯控制器(PLC))[1]。工業控制系統廣泛應用于電力電網、石油石化、冶金建材、食品醫藥、市政水利、核能設施、先進制造等國家關鍵基礎設施的運行控制過程中,是國家關鍵基礎設施的“中樞神經”。一旦工業控制系統信息安全出現漏洞,將對工業生產運行和國家經濟安全造成重大威脅。而隨著云計算技術、物聯網技術的快速發展以及“兩化融合”工作的不斷深化,工業控制系統面臨的內外部安全威脅日益嚴重,保障工業控制系統信息安全已經上升到了國家安全戰略的高度。
工業控制系統信息安全測試平臺為工業控制系統的設計開發、測試驗證、故障定位、缺陷分析以及運行維護提供完善、高效的測試驗證環境,可以對重點行業領域的工控系統進行覆蓋控制器級、網絡級和系統級的信息安全測試驗證及風險評估,整體提升工業控制系統的信息安全監測和防護能力。開展工業控制系統信息安全測試平臺的研究是保障工業控制系統信息安全的重要途徑。
國外很早就開始了相關方面的研究和應用[2-4]。美國愛達荷國家實驗室(INL)自2003年起就開始實施由美國政府支持的建設關鍵基礎設施測試靶場計劃,包括SCADA控制系統測試床和電力電網測試床等,提供真實的測試環境,對工業控制系統的脆弱性和軟硬件安全性進行測試評估;歐洲也搭建了SCADA安全測試平臺,構建分布式測試環境,測試、評估、驗證、保護SCADA系統的安全性;Wurldtech等國際知名工業安全測試公司也推出了相關的測試平臺,如Achilles測試工具、ICS Sandbox測試平臺等。
國內近幾年在工業控制系統信息安全測試平臺方面開展相關的研究工作,也取得了一定的成果,如電子六所在2015年發布的工控健壯性測試平臺、各信息安全廠商推出的信息安全防護平臺以及一些專業機構推出的行業仿真測試平臺等。但是現在的這些測試平臺存在著行業應用局限性、功能單一性、控制系統適應性等問題[5-7],基于此,本文提出了一種弱化控制系統型號和應用行業(只針對工業控制系統架構本身),集檢測、攻防、仿真、評估于一體的信息安全測試平臺設計架構,并論述了開展相關應用研究的進展情況。
工業控制系統的信息安全威脅有多個方面[8],比如:工控協議本身未采取安全措施,明文傳輸或存在漏洞;工控系統長時間不間斷運行導致操作系統版本、漏洞庫等無法及時更新,易受病毒攻擊感染;系統網絡設計不完善,存在外部攻擊通道;對外接口開放,存在安全隱患;外部信息破壞手段不斷提高,各種攻擊手段層出不窮等。為應對以上安全威脅,工業控制系統信息安全測試平臺應該具有如下的功能:
(1)針對工業控制系統通信協議的特殊性,構建工控系統漏洞庫;
(2)能對被測工業控制系統進行漏洞掃描及漏洞挖掘;
(3)能對工業控制系統的外部接口進行管理,測試外部威脅引入系統的可能性;
(4)能夠模擬攻擊場景、攻擊行為,測試和驗證系統的防護能力;
(5)能夠對搭建的最小化系統進行模擬或仿真擴充,打造接近真實的網絡測試環境;
(6)建立風險分析方法,能夠對被測工業控制系統進行風險評估。
工業控制系統信息安全測試平臺的設計思路是提供一個統一的平臺,在平臺上集成系統安全測試和隱患分析服務、風險評估服務、安全事件場景復現服務以及提供自動化測試工具、網絡與工藝仿真、攻防試驗等工具和軟件。平臺總體架構如圖1所示。

圖1 工業控制系統信息安全測試平臺總計架構圖
工業控制系統信息安全測試平臺由測試配置子平臺、測試監控子平臺、安全測試工具集、威脅接入子平臺、安全信息庫、仿真運行環境、仿真接入子平臺、運行場景庫等部分組成,各部分的功能如下。
(1)測試配置子平臺
測試配置子平臺主要功能:配置仿真運行環境,包括虛擬設備、虛擬子系統、虛擬MES系統,以及仿真系統與被測工業控制系統和監控子平臺的通信接口協議和鏈路參數;配置安全測試工具集,包括各工具參數以及各工具與被測工業控制系統和監控子平臺的通信接口協議和鏈路參數;配置測試監控子平臺參數,包括設備、通信、信息、畫面、邏輯等。
(2)測試監控子平臺
測試監控子平臺主要功能:提供安全測試集中操作控制臺,包括一套主操作控制臺和若干套協操作控制臺,共同完成對仿真環境和測試工具運行控制;通過大屏幕顯示器,提供對測試環境、被測對象、威脅行為的綜合可視化輸出;提供對測試數據的記錄、分析,識別被測對象薄弱環節,對被測工業控制系統信息安全風險作出量化評估。
(3)安全測試工具集
安全測試工具集主要功能:監測工業控制系統的狀態,包括資產的運行狀態安全監測、資產配置監測等;檢測工業控制系統的異常行為并進行實時分析,包括異常通信檢測、非法接入檢測、惡意進攻行為報警等;向工業控制系統注入威脅性檢測信號并進行實時檢測和分析,包括端口掃描/操作系統探測、Fuzzing測試、認證攻擊、邏輯攻擊、命令執行、授權攻擊、客戶端攻擊等。
(4)威脅接入子平臺
威脅接入子平臺主要功能:提供工業控制系統在配置、運行期間可能受到的外部威脅源入口,如工業控制系統邊界的企業管理信息區接口、子系統互聯接口、遠程維護接口,及工業控制系統內部的交換機多余接口,主機、控制器或工程師站的多余通信接口等。
(5)安全信息庫
安全信息庫主要包括:典型工業控制系統的缺陷信息庫;操作系統、數據庫、工業控制系統的漏洞庫;工業控制網絡通信協議特征庫;典型工業控制系統的測試案例庫。
(6)仿真運行環境
仿真運行環境主要功能:通過仿真手段,搭建起工業控制系統完整運行環境,包括模仿底層工藝系統的虛擬設備、模仿與工業控制系統互聯的虛擬子系統、模仿與LEVEL 3層制造執行系統(MES)交互的虛擬MES。其中虛擬設備提供高精度I/O能力,可與工業控制系統的I/O單元直連,并通過通用可組態測試工具進行驅動和管理。虛擬子系統和虛擬MES由純軟件模擬。
(7)仿真接入子平臺
仿真接入子平臺主要功能:提供可直接連接工業控制系統的硬接線端口及控制系統上下層通信接口。
(8)運行場景庫
運行場景庫主要功能:虛擬設備、虛擬子系統、虛擬MES采用ISO 20242(測試應用服務接口)規定的軟件結構和接口形式,保持高度靈活性、擴展性,為安全測試構造足夠真實、復雜、多樣的行業應用環境。
為實現測試平臺的搭建,將上述測試平臺設計架構的研究內容進行分解,已經實現的關鍵技術或已經產品化的研究內容如下。
(1)安全信息庫及漏洞掃描系統[9]
基于安全信息庫的漏洞掃描系統由信息安全庫、資產發現模塊、協議識別模塊、已知漏洞掃描模塊以及風險評估分析模塊組成,可對工業控制系統進行漏洞發現和分析。工控漏洞庫從中國國家漏洞庫、國家信息安全漏洞共享平臺、國家安全漏洞庫以及CVE(Common Vulnerabilities and Exposures)漏洞庫中搜集整理工業控制系統相關漏洞信息,加入自行挖掘出的工控漏洞信息,不斷豐富,目前已經達到了近千條的規模。資產發現模塊用來對被測系統的資產清單進行管理,協議識別模塊與信息安全庫結合用來確保生成測試用例的全面性,通過測試用例對被測系統的檢測和比對,來確定被測系統是否存在已知的漏洞。
(2)工控漏洞挖掘系統[10-11]
基于模糊測試技術的工控漏洞挖掘系統由控制模塊、端口掃描模塊、測試數據配置與生成模塊、測試用例執行模塊和網絡/邏輯監控模塊組成,可對常用網絡協議以及工控協議進行漏洞挖掘。已經采用本漏洞挖掘系統進行漏洞挖掘試驗的工控協議包括ModbusTCP/IP、DNP3.0、EtherNet/IP-CIP、Foudation Fieldbus、IEC104、IEC61850、MMS和PROFINET,挖掘出的漏洞如某國產PLC產品經過IP分片語法測試可導致底層TCP/IP協議棧出現異常。
(3)網絡仿真與攻防試驗系統
網絡仿真與攻防試驗系統采用虛擬化技術、VM快速部署技術、虛實互聯技術等主要技術進行應用及研發,開發平臺使用Eclipse、PyCharm、WebStorm,系統運行環境使用Linux操作系統,開發環境包括Tomcat、MySQL、Nginx等,開發語言使用Java、Python、JS、C。目前系統已經處于測試階段。
網絡仿真軟件基于容器虛擬化技術,通過在容器中運行高逼真路由程序,達到與實際網絡一致的效果。網絡仿真軟件由網絡拓撲編輯器、仿真網絡管理模塊、流量仿真模塊、路由仿真模塊、流量采集與展示模塊和系統維護管理模塊組成,用于仿真不同規模的網絡,能夠支持網絡規模的擴展。網絡拓撲編輯界面如圖2所示。

圖2 網絡仿真軟件拓撲編輯界面
網絡仿真與攻防試驗系統通過網絡拓撲設計以及虛擬節點的部署來搭建出測試環境,根據虛擬節點的功能劃分,在虛擬機中安裝被測工業控制系統的組態及運行軟件或者安裝擬對被測系統進行測試的攻擊工具。這樣,網絡仿真與攻防試驗系統一方面可以對被測工業控制系統進行網絡環境仿真和擴充,另一方面也可以構建攻擊網絡對被測系統進行攻擊和滲透測試。
(4)虛實互聯技術
虛實互聯技術是網絡仿真與攻防試驗系統采用的主要技術之一,實現虛擬網絡與實物網絡設備之間的通信,將虛擬網絡與實物網絡有機結合成一個具備統一網絡拓撲結構和邏輯視圖的目標網絡[12]。虛擬互聯的核心是虛擬網絡通過虛實互聯服務器與實物網絡之間建立一個中間映射層以實現虛實網絡互聯,系統通過解析虛實網絡配置獲得虛實網絡邊界信息,根據轉發關系對相關實物網絡接口進行配置,使實物網絡設備與虛實互聯服務器能夠正常通信。圖3所示為某實物主機的端口設置窗口,圖4所示為實物交換機與虛擬網絡及實物主機的關聯設置窗口。

圖3 實物主機端口設置窗口

圖4 實物交換機關聯設置窗口
圍繞本文提出的工業控制系統信息安全測試平臺設計架構,主要的功能開發工作已經基本完成,下一步要開展的工作主要包括:
(1)系統接口及配置平臺開發。工業控制系統信息安全測試平臺作為一個產品形態,應該具有統一的操作入口,需要開發一套平臺配置與操作系統,并整合漏洞掃描系統、漏洞挖掘系統以及網絡仿真與攻防測試系統的通信接口和通信內容,形成統一的呈現界面。
(2)評估功能整合。結合等級保護的要求和工業控制系統的特點,設計一套測評的模型,并將漏洞掃描、漏洞挖掘以及攻防測試的結果整合進評估模型中,實現評估結果自動生成與導出功能。
(3)資源庫豐富。安全信息庫與運行場景庫都需要針對不同的測試場景不斷地進行豐富,協議指紋庫和測試案例庫至少要覆蓋國內主流的工業控制系統。
國內現有的一些工業控制系統信息安全測試平臺存在一定的局限性,比如電力電網仿真測試床具有鮮明的行業特征、漏洞掃描工具功能單一、某些測試平臺基于特定的控制系統型號開發而不具有普適性等,針對這些問題,本文提出了一種弱化控制系統型號和應用行業,集檢測、攻防、仿真、評估于一體的信息安全測試平臺設計架構,并論述了相關技術的開發進展情況。目前測試平臺的主要功能已經能夠實現,下一步主要進行人機界面開發、評估功能整合以及測試平臺的應用推廣工作,通過測試平臺的應用來發現工業控制系統的漏洞和缺陷,提出整改意見,保障工業控制系統信息安全。
[1] NIST.SP800-82, guide to industrial control systems(ICS) security[M].Gaithersburg:NIST,2011.
[2] 盧坦,林濤,梁頌.美國工控安全保障體系研究及啟示[J].保密科學技術,2014(4):24-33.
[3] 黃慧萍,肖世德,孟祥印.SCADA系統信息安全測試床研究進展[J].計算機應用研究,2012,32(7):1926-1930.
[4] 萬明.工業控制系統信息安全測試與防護技術趨勢[J].自動化博覽,2014(9):68-71.
[5] 李航.從“0”到“1”:我國自主研發工控協議通訊健壯性測試平臺[J].自動化博覽,2015(9):70-73.
[6] 周侃恒,吳清,謝新勤,等.便攜式化工生產流程控制信息安全測試平臺[J].工業控制計算機,2015,28(10):1-3.
[7] 陳云輝,劉東,凌萬水,等.主動配電網協調控制仿真測試平臺[J].電力系統自動化,2015,39(9):54-60.
[8] 王志強,王紅凱,張旭東,等.工業控制系統安全隱患及應對措施研究[J].信息網絡安全,2014(9):203-206.
[9] 秦媛媛,朱廣宇,田曉娜,等.基于CVE漏洞庫的工控漏洞發現和分析系統研究[J].信息通信技術,2017(3):54-59.
[10] 朱廣宇,秦媛媛,陳波,等.面向工業互聯網環境的模糊測試系統設計研究與實現[J].信息通信技術,2017(3):72-76.
[11] 李航,董偉,朱廣宇.基于Fuzzing測試的工業控制協議漏洞挖掘技術研究[J].信息網絡安全,2014(9):203-206.
[12]方濱興,賈焰,李愛平,等.網絡空間靶場技術研究[J].信息安全學報,2016,1(3):1-9.