張 帥 孟慶森
北京啟明星辰信息安全技術有限公司 北京 100193
工業控制網絡由最初的分散型控制系統,后來逐漸演變成以現場總線技術為基礎的網絡。由于沒有通行標準,很多廠商推出了私有的現場總線標準,形成了所謂的“自動化孤島”,不符合現代企業對數據通信的要求。隨著以太網進入工業領域,形成工業以太網,使得企業實現從現場設備層到管理層間全面的無縫信息集成,并提供了開放的基礎構架。
工業以太網具有開放、低成本和易組網等優勢,解決了工業網絡中設備兼容性、互操作性和信息的流通性等問題。但是由于管理網和生產網的融合,使得傳統的網絡安全威脅逐漸遷入到工業控制網絡中,尤其針對工業控制系統的高級持續性的攻擊方式(Advance Persistent Threat,APT)引發了一系列震驚世界的工業網絡安全事件,標志著網絡安全威脅從“開放”的互聯網已經進入到原本“封閉”的工控網。據統計超過80%涉及國計民生的關鍵基礎設施依靠工業控制系統來實現自動化作業,因此國家已經把工業控制系統安全作為國家安全戰略的重要組成部分。
本文首先完成了面向工業系統安全相關的研究綜述,同時對工業網絡的脆弱性和相應威脅進行了分析;其次基于對工業系統網絡安全需求的研究,提出了基于MSEM的工業網絡安全防護模型。最后在該模型理論支撐下,完成了基于協同防御架構工業安全防護系統。
國外工業網絡安全相關研究起步較早,在學術領域,Eric J.Byres自2000年以來陸續發表了關于工業系統安全的一系列論文,分析工業空間安全威脅[1],利用攻擊樹理論詳細分析工業SCADA系統的脆弱性[2],并設計了面向工業控制系統的安全網絡[3-4];同時他于2009年創立了Tofino公司,致力于開發工業網絡安全產品,其中包括工業防火墻和工業VPN[5]等。Dzung提出工業通信系統中的安全解決方案包括工業VPN等[6],Igure分析了SCADA系統中如何實現安全防護[7],Walters分析了在工業無線傳感器網絡中的安全解決方案[8]。在安全標準方面,美國早在2007年就推出工業安全指南[9]。在安全產品方面,國外公司具有一定的領先優勢,Tofino公司以工業防火墻產品為主,Innominate公司主要開發工業VPN[10]產品,Industrial defender主要側重工業安全審計產品[11],SIEMENS推出基于縱深防御的安全防護系統[12]。
國內相關研究相對較少,工業和信息化部發布了《關于加強工業控制系統信息安全管理的通知》[13],強調加強工業信息安全的重要性、緊迫性,并明確重點領域工業控制系統信息安全的管理要求。學術方面,包括構建基于區域安全的DMZ模型[14]、針對工業網絡安全服務框架的研究[15]、面向工業網絡的可靠性分析[16]等。從安全產品來看,啟明星辰開發了工業安全網閘、防火墻和工業終端防護等產品。海天煒業、30衛士和中科網威等廠商均推出工業防火墻,力控華康推出工業安全網閘等。
傳統的信息系統對可用性、完整性和保密性的安全需求優先級依次升高,其中保密性是優先級最高的安全需求。而工業嚴苛的現場環境以及工業生產需求決定了工業系統對網絡的實時性和可用性要求最高,因此工業系統安全需求分析以及系統防護方案以可用性為首要參考標準。
工業控制系統的脆弱性主要集中在以下兩點,同時也由此帶來了相應的安全威脅和安全需求,具體分析如下。
1) 工控網絡互連互通帶來的脆弱性。工業以太網在提高信息互連的同時,包括通過基于OPC(OLE for Process Control,用于過程控制的OLE)的工業數據交換、基于FTP協議的DNC(Distributed Numerical Control,分布式數控)網絡的指令傳遞等,使傳統安全威脅很快滲透到工業網絡中。而原本封閉的工控網絡早期并沒有考慮相應的安全防護措施,包括缺失的數據通信加密、數據流及控制流的訪問控制、用戶認證機制、無線安全連接和安全審計監控等。而同時由于大量的廠家或協會公布了工控協議的實現細節和標準(如modbus、hse、ethernet/ip),使得攻擊者可以深入挖掘其中的漏洞,并借此展開攻擊。本節通過對工業網絡的互連互通進行分析,進而得到其網絡防護安全需求。
典型工控網是由三層網絡組成(如圖1所示),包括管理層、監控層和設備層。
①管理層是傳統的辦公網。其中包括管理信息系統,通過此系統可以獲取下層網絡的生產信息和數據,使管理者及時了解和掌握生產工藝各流程的運行狀況和工藝參數的變化,實現對工藝的過程監視與控制。②監控層主要功能是對下層設備層進行全面監控和維護。③設備層是生產的核心,它通過相應的指令對現場設備進行控制,完成生產任務。其中硬件主要包括PLC、RTU和Controller等。除此之外還包括運維設備(如HMI、工程師站等控制計算機),實現功能包括組態下層PLC上傳信息、顯示組態畫面、對PLC進行程序的編制、更改任務等,主要通過軟件實現,包括上位組態軟件和應用軟件等。通過對工業網絡的理解,以及對工業網絡的安全威脅遷入點(如圖2所示)的分析,即可得到相應的安全防護需求(如表1所示)。

圖1 工業網絡組成與劃分示意圖
2) 工業控制系統平臺自身的脆弱性。由于工業網絡早期是封閉的,系統在最初設計時,并沒有把其自身的安全性作為主要考慮目標。同時工業系統對穩定性要求非常高,企業即使發現了系統組件的漏洞,也很少或很難對系統進行升級。因此平臺的自身脆弱性是目前工業控制系統所面臨的嚴峻挑戰。
生產設備硬件的漏洞是指控制系統中的PLC/RTU等設備往往都存在的嚴重漏洞,這些漏洞可以直接被黑客(如震網病毒)利用破壞生產網絡。無論是國外的SIMENS、Schneider等工業巨頭還是國內的三維力控、亞控科技等廠商都公布了大量的關于設備硬件的漏洞。

圖2 工業網絡安全威脅遷入點示意圖

表1 工業網絡安全需求列表
系統平臺軟件包括設備操作系統、組態軟件和管理系統等。漏洞分類從操作系統上來看,很多工程師站、服務器、HMI,同時包括一些嵌入式的設備都采用Windows XP系統,那么微軟停止XP安全漏洞的更新將會給工控系統帶來更大風險隱患,同時其它一些嵌入式系統也存在很多漏洞;從組態軟件和管理系統看,它們可以直接控制生產設備,因此其漏洞也會直接威脅到工控網絡中的設備,如亞控公司的組態王(KingView)軟件曾曝出存在嚴重漏洞等。
工業網絡中的攻擊更多地體現出APT的攻擊方式(如“震網”病毒、“火焰”病毒等)。攻擊者有目的大規模搜集目標對象的漏洞,并長期持續利用各種攻擊手段對目標實施滲透攻擊,直到攻陷系統為止。
如圖3所示,紅色路徑和藍色路徑各代表著一些典型攻擊路徑,黑客通過漏洞來攻占某臺服務器或者工程師站,以此為支點(Pivoting)逐漸滲透到過程控制網絡中。相應可能攻擊路徑描述如下。

圖3 工業網絡攻擊路徑與數據流圖
1)攻擊歷史數據站(Historian),然后可以摧毀企業的健康和安全記錄,修改工廠的狀態報表,或以此支點攻擊下一目標。2)攻擊HMI,使得工廠處于盲人狀態;修改控制參數損害設備,或以此支點攻擊下一目標。3)攻擊應用服務器,篡改顯示現場設備運行狀態畫面,阻止同步現場數據,篡改數據庫等,或以此支點攻擊下一目標。4)攻擊工程師站(EWS),刪除已經設置好的安全邏輯,盜取PLC代碼,篡改PLC邏輯,或以此支點攻擊下一目標。5)攻擊PLC,寫任意內存破壞PLC。
通過對典型的工業入侵路徑和數據流的分析,工業網絡是一個典型的多級、多點滲透進攻的載體,同時結合上一節針對工業網絡聯通性和平臺自身脆弱性的分析,發現要實現工控系統的安全防護,必須要采用分布式協同防御的安全體系。本文提出基于MSEM的安全防護模型(如圖4所示),將工業網絡分為實體對象(entity object)、安全對象(security object)和管理對象(manager object)。

圖4 協同防御模型
1) 實體對象:指工業網絡中的設備實體(被檢測實體)。實體間通過消息傳遞來完成工業生產任務,是模型監控的對象。工業控制系統在上線調試完成后,正常運轉時所下發的指令和采集的數據相較于傳統的信息系統來說更加固定和可控,是一個相對穩定的小集合。因此模型通過對實體對象信息的全局監控來為協同防御提供依據。設備實體在應用中具體是指包括HMI、工程師站、PLC和RTU等在內的工業系統組件;消息主要包括控制算法、受控變量、操作變量和現場數據等。
2) 安全對象:指工業網絡中的安全防護對象。該對象被部署在系統中的各個檢測點,通過截獲實體對象之間的消息,并依據管理對象發布的策略,對消息內容進行檢測,執行分布式防御任務。同時將可疑信息及執行路徑發送到管理對象,由管理對象執行認證以及協同防御策略下發。具體是指包括安全網關、數據采集和主機防護在內的安全產品等。
3) 管理對象:工業網絡更多是多點滲透和高級持續性攻擊行為,因此要求管理對象具有分布式協同防御能力,通過場景檢測器,對整個系統中的安全威脅進行分析和行為認證,并協調多個安全對象對實體對象進行防護。具體是指綜合預警聯動平臺。
模型的運行機制包括以下幾個方面。1)各個安全對象開啟學習模式,由管理員完成合法操作,并采集實體對象之間的消息通信,數據提交管理對象,并建立正常的通信和應用場景。在完成學習后,整個系統可以上線運行。2)當實際運行時,由各個安全對象采集實體的相關信息,當某個安全對象發現異常時,提交問題Q(ti)給管理中心,由管理中心將問題進行模擬執行或者于特征中心進行比對,對問題進行解答,獲得該問題的可疑度S(ti)。3)將S(ti)和設定的臨界值進行比較,如果超過臨界值,由管理對象觸發協同防御。
模型的優勢如下所示。1)動態開放性,實體對象能動態地加入和退出模型,體現了開放性;安全對象能動態綁定實體檢測對象;管理對象可以通過規則驅動改變安全結構和策略。2)防御協同性,通過管理中心對安全事件的綜合分析,制定綜合防御方案,可以有效提高工業網絡的安全防護能力。
本文在MSEM安全防護模型的基礎上實現了基于協同防御架構的工業網絡安全防護系統(架構圖見圖5,組成示意圖見圖6)。

圖5 防護系統架構圖

圖6 協同防御系統組成示意圖
防護系統的安全對象部署在多個安全檢測點,分別由網絡防護安全對象和主機防護安全對象構成。網絡防護安全對象主要是指工業網絡安全網關,具備工業網絡數據DPI(Deep Packet Inspection,深度包檢測)、入侵防護、工業協議訪問控制、審計和預警等功能,通過該對象可以分布式防御工業網絡連通性所帶來的安全威脅。主機防護安全對象具備工控系統多級代碼完整性檢查、主機監控、主機控制和主機審計功能,通過該對象可以有效防御工業系統平臺自身脆弱性所帶來的安全威脅。
防護系統的管理對象由綜合預警聯動平臺構成,通過集中收集實體對象之間的消息通信、主機防護安全對象的基線變化情況以及網絡防護安全對象的異常檢測情況來進行綜合分析,同時根據威脅級別,協調不同的安全對象對實體對象進行立體防護。流程示例如下。
1) 綜合預警聯動平臺不斷收集實體對象的信息、安全對象的日志和審計信息,通過不斷積累,逐漸建立起正常基線和防御場景。
2) 觸發協同防御分析的可能性:①如當某個主機防護安全對象檢測到某臺工程師站的代碼與中心服務器運行代碼不一致,會將異常發到預警平臺,觸發協同防御分析;②當某個網絡防護安全對象檢測到有入侵事件;③當主機監控發現有核心文件被篡改、當網絡邊界突然有流量遞增等。
3) 防護系統還預置多種安全協同防御觸發機制,以上只是典型的觸發點。
4) 綜合預警聯動平臺收到安全威脅后,通過觸發的安全威脅數據和安全基線進行對比,得到安全威脅指數,當安全威脅指數超過預設值后,就會觸發協同防御。
5) 預警平臺會將安全威脅影響到的安全區域進行隔離,同時針對核心設備層中的PLC等進行只讀保護,在不中斷安全生產的情況下,及時進行安全預警,避免發生設備層的停車;及時將整體分析結果反饋給管理員,由管理員進行排查,解決問題后,恢復正常生產模式,并不斷學習,增加安全基線的模型組成數據。
安全對象中核心的技術是工業協議深度包過濾技術,只有深入理解工業網絡數據,才能真正判斷出安全威脅。本系統支持50種以上被廣泛應用的工業協議的深度解析功能,并根據協議的不同字段實現了如讀寫控制和參數預警等功能。
系統實現了工業報文的識別引擎,可以快速自定義和增加工業協議的特征。協議識別引擎由協議特征狀態樹和識別參數構成,如圖7所示。

圖7 工控協議特別識別樹結構
通過現場和仿真環境,對不同協議的報文特征進行深入分析和大量試驗,本文完成了工業協議報文特征庫的建立,并實現了工業協議的完整性檢查,以OPC協議的報文特征為例,說明如下。OPC通過端口135進行協商,協商出動態端口,然后通過數據連接進行通訊。OPC的動態端口存在于激活操作的響應報文中StringBinding數組中。
除了可以識別工業協議外,防護系統還實現了工業協議的完整性檢查功能,同樣以OPC為例:OPC協議在連接創建后,會進行一個協商過程,分為Bind、Bind_ack和AUTH3的過程。如果會話流不符合完整性檢查的規則,系統就會預警。
工業網絡產品與傳統信息系統在實時性上要求不同,工業網絡產品最核心的性能指標就是實時性。工業網絡特點體現在:1)信息長度小;2)周期與非周期信息同時存在,正常工作狀態下,周期性信息(如過程測量與控制信息、監控信息等)較多,而非周期信息(如突發事件報警、程序上下載)較少;3)信息流有明顯的方向性;4)測量控制信息的傳送有一定次序。
本文工業協議的解析在用戶空間,通過基于NetMap[10]快速報文I/O框架,有效提高了工業協議的解析處理性能,滿足了工業對實時性的嚴苛要求。
在實驗中,本文總結了典型的10種工業安全攻擊樹,共實現了50種攻擊路徑。本文選取了其中一個攻擊樹和9條攻擊路徑[2],如圖8所示。

圖8 SCADA攻擊樹
經過測試,系統安全預警41例,預警成功率達到82%;協同防護成功34例,防護成功率達到68%。漏報3例,漏報率6%;誤報2例,誤報率4%。
本文在研究工控安全威脅需求的基礎上,提出基于MSEM的工業網絡安全防護模型,并在此基礎上實現了分布式的工業安全防御系統,通過對系統關鍵技術的研究,經過實際測試,系統達到較好的防護水平。但系統還有很大提升的空間,需要繼續研究以提升系統的成功防護率。
參考文獻
[1]Byres Eric,Justin Lowe.The myths and facts behind cyber security risks for industrial control systems[C].Proceedings of the VDE Congress,2004
[2]Byres E J,Franz M,Miller D.The use of attack trees in assessing vulnerabilities in SCADA systems[C].Proceedings of the International Infrastructure Survivability Workshop,2004
[3]Byres E J.Designing secure networks for process control[J].Industry Applications Magazine,IEEE.2000,6(5): 33-39
[4]Creery A,Byres E J.Industrial cybersecurity for power system and SCADA networks[C]//Petroleum and Chemical Industry Conference,2005
[5]Joe S,Byres E.High Security Integration Using OPC[EB/OL].[2015-01-07].http://www.iceweb.com.au/sis/HighSecurityIntegrationUsingOPC.pdf
[6]Dacfey D,Naedele M,Von Hoff T P,et al.Security for industrial communication systems[J].Proceedings of the IEEE,2005,93(6):1152-1177
[7]Igure V M,Laughter S A,Williams R D.Security issues in SCADA networks[J].Computers &Security 2006,25(7):498-506
[8]Walters J P,Liang Z Q,Shi W S,et al.Wireless sensor network security:A survey[M]//Xiao Y.Security in distributed,grid,mobile,and pervasive computing.Auerbach publications,CRC Press
[9]Stouffer K,Falco J,Scarfone K.Guide to industrial control systems (ICS)security[S].NIST Special Publication 800-82,2007
[10]Innominate mGuard[EB/OL].[2015-01-07].http://www.innominate.com/data/downloads/manuals/handbuch_mguard_420_de.pdf
[11]Industrial defender[EB/OL].[2015-01-07].http://id.lockheedmartin.com/
[12]SIEMENS[EB/OL].[2015-01-07].http://www.industry.siemens.com/topics/global/en/industrial-security/pages/Default.aspx
[13]中華人民共和國工業和信息化部.關于加強工業控制系統信息安全管理的通知[S]
[14]王浩,吳中福,王平.工業控制網絡安全模型研究[J].計算機科學,2007,34(5):96-98
[15]蘭昆,饒志宏,唐林,等.工業SCADA系統網絡的安全服務框架研究[J].信息安全與通信保密,2010(3):47-49
[16]車勇,黃之初.面向網絡的過程工業安全與可靠性分析及實現[J].中國安全科學學報,2007,17(7):162-166