孟 強 ,俞榮棟
(1.浙江省能源集團有限公司,浙江 杭州 310007;2.浙江浙能技術研究院有限公司,浙江 杭州 310012;3.浙能工業信息工程省級重點企業研究院,浙江 杭州310012)
工業控制系統是指用于生產、控制、輔助自動化過程的設備、系統、網絡及控制器的集合,被廣泛應用在電力、石化、汽車等關乎國計民生的關鍵信息基礎設施中。然而,隨著信息化和工業化的不斷深入融合,信息技術在給工業化進程帶來極大推動力的同時,也將信息系統中存在的安全風險帶入到工業系統中。根據美國計算機安全應急響應中心的數據統計顯示,伊朗“震網”事件之后,針對工業控制系統的網絡安全事件不斷增多[1,3]。
工業控制系統面對著脆弱的安全狀況以及日益嚴重的攻擊威脅。在國內,工業控制系統網絡安全管理工作中存在的諸如對工業控制系統安全問題認識程度不夠、管理制度不健全、相關標準規范缺失、技術防護措施不到位、安全防護和應急處置能力不高等問題引起了社會各界的高度重視,甚至提升到了國家安全戰略的高度。國家主管部門在政策層面已積極部署工業控制系統的安全保障工作[2]。
從控制系統基本情況和系統安全防護情況這兩個維度對火力發電廠控制系統現狀進行分析,當前面臨的安全風險主要包括系統架構風險、網絡通信安全風險、設備應用安全風險、日常管理安全風險等。
體系架構的脆弱性直接源自工業控制系統的基本架構。現代工業系統所使用的體系架構,與20世紀80年代和90年代使用的架構相比,在原則上沒有太大區別。不幸的是,控制系統從“孤立”環境遷移到一個開放的環境,從串行通信到TCP/IP通信,傳統的體系架構開始顯示出自己的局限性[3]。作業工程師利用現成的信息和通信技術,試圖解決新的安全問題,卻沒有考慮到在一些特殊的情況下,SCADA(Supervisory Control and Data Acquisition)系統與傳統的信息和通信技術的安全性限制不匹配,常見問題如下:
(1)現場網絡之間的弱分離。由于現場網絡是整個體系結構的內部部分,通常還沒有實時強分離,目標明確的入侵者一旦入侵成功,可以很容易到達控制網絡中的任何部分。
(2)控制系統的活動組件之間缺乏認證。由于傳統的現場網絡總是處于封閉的環境中,所以沒有必要對網絡上連接的不同元素之間集成身份驗證機制。然而缺乏身份驗證意味著體系架構的漏洞,該漏洞可以很容易被利用,造成各種形式的損害。
大部分的工業控制系統協議,例如Modbus、DNP、101協議是在很多年以前設計的,基于串行連接進行網絡訪問。當以太網連接成為廣泛使用的本地網絡的物理連接層時,工業控制系統協議可以基于IP協議之上實現。
工業控制系統協議缺乏保密和驗證機制,特別缺乏驗證一個主站和從站之間發送的消息的完整性技術。此外,工業控制系統協議也不包括任何不可抵賴性和防重放機制。攻擊者可以利用工業控制系統的這些安全限制,肆虐工業控制系統,一些可能發生的攻擊場景如下:
(1)拒絕服務攻擊。如攻擊模擬主站、向RTU(Remote Terminal Unit)發送無意義的信息、消耗控制網絡的處理器資源和帶寬資源。
(2)中間人攻擊。缺乏完整性檢查的漏洞使攻擊者可以訪問到生產網絡,修改合法消息或制造假消息,并將它們發送到從站。
(3)包重放攻擊。重復發送合法的工業SCADA系統消息,并將它們發送到從站設備,從而造成設備損毀、過程關閉等破壞。
(4)欺騙攻擊。向控制操作人員發送欺騙信息,導致操作中心不能正確了解生產控制現場的實際工況,誘使其執行錯誤操作。
設備應用安全風險分為軟件風險和硬件風險兩方面。在工業控制系統中的一切行為都是由軟件管理的,不太可能保證哪個軟件完全沒有漏洞。軟件脆弱性具有潛在威脅,它們使得攻擊者可以完全控制目標系統。由于工業控制系統內軟件類型的多樣,本文不可能列出工業控制系統所有典型的軟件脆弱性。典型的確定影響工業控制系統的漏洞有以下幾種:緩沖區溢出、SQL注入、格式化字符串、Web應用程序漏洞。
常見的硬件安全風險描述如下表1所示。
一個體系架構健壯的系統,在任何情況下,脆弱性很難被操控。管理策略則是用以規避系統中已有安全脆弱性的一項重要措施,然而事與愿違的是在工業系統中與安全防護事務相關的安全策略卻非常弱。一般來說現行策略的核心是從傳統的“信息和通信技術辦公室”復制而來的。可能存在下列管理策略安全風險:
(1)很少或不使用補丁策略。安全補丁很重要,特別是在Windows操作系統中。在工業控制系統中,很少能找到臨時的補丁軟件,補丁程序可能會對軟件產生嚴重的干擾。出于這個原因,安全補丁策略在控制網絡中并不普遍。
(2)很少或不使用防病毒更新策略。殺毒軟件可能影響SCADA軟件的運行,一般只是盡可能保持控制網絡的隔離。
(3)松散的訪問策略。通常訪問策略規劃得很好,但在現場實現卻很糟。

表1 工業控制系統常見的安全風險
火電廠控制網絡架構中涉及的控制系統眾多,主要包括:火電機組分散控制系統(DCS)、火電機組輔機控制系統(DCSPLC)、火電廠級信息監控系統、調速系統和自動發電控制功能AGC、勵磁系統和自動電壓控制功能AVC、梯級調度監控系統、網控系統、繼電保護、故障錄波、電能量采集裝置、電力市場報價終端等系統。火力發電廠控制系統在網絡安全方面存在如下問題。
電力行業在安全方面考慮比較早,也頒布實施了如《電力二次系統安全防護總體方案》等一系列文件。2015年國家能源局下發36號文《電力監控系統安全防護總體方案》指導電力行業實施工業控制系統的安全防護,該方案首次提出“綜合防護”,即在廠內區域形成“安全分區、網絡專用、橫向隔離、縱向認證”的總體原則。區域一般分為:生產控制大區(控制區+非控制區),管理信息大區。也有電廠會將區域分為4個區:實時控制區(安全Ⅰ區)、非控制生產區(安全Ⅱ區)、生產管理區(安全Ⅲ區)、管理信息區(安全Ⅳ區)。具體拓撲如下圖1所示。

圖1 電力二次系統安全防護總體示意
到目前為止,我國絕大多數火電廠已依照本方案實施防護工作。然而,不管是“電力二次系統安全防護”還是“36號文”,只是將電廠生產控制系統劃分為兩個安全域:實時控制區及非實時控制區,沒有考慮實時控制區內仍然包含有數據交互及業務聯系低耦合的多套業務系統,例如DCS主控系統、水煤灰等輔控系統,這些系統通過雙網口接口機與電廠 SIS系統(Supervisory Information System)連接。接口機成為系統間互聯互通的跳板,因為缺少訪問控制,存在信息探測、權限提升等安全隱患。
工業控制系統中的控制設備和組態軟件以美國艾默生、德國西門子、法國施耐德、美國GE等公司的產品為主,這類控制設備的核心技術也由國外廠商掌握,技術上不能實現安全可控。部分發電控制設備老舊,如很多監控主機中依然運行Windows 95、98、XP操作系統。根據國家信息安全漏洞庫(CNNVD)的統計,艾默生、西門子、施耐德和GE等公司的多款控制器設備均爆出大量漏洞。目前在工業控制系統存在公開漏洞的廠商中,西門子占28%,GE占7%,施耐德占5%,這3個廠商的公開漏洞數已超過漏洞總數的40%。在這些公開漏洞中,可引起業務中斷的拒絕服務類漏洞占33%,緩沖區溢出類漏洞占20%,信息泄露類漏洞占16%,遠程控制類漏洞占8%[4]。
調研發現,火力發電廠的工業控制系統安全通常由負責工業控制系統運維的設備管理部門與負責安全工作的信息化工作部門共同承擔。由于兩個部門的工作職責和工作重點各不相同,導致缺乏全職從事工業控制系統安全工作人員。
仍有很大一部分發電廠工業控制系統作業人員抱有“物理隔離的獨立工業控制系統就是絕對安全”,“只要部署了防火墻設備,就不存在網絡安全問題”等錯誤認識。人員安全意識的不足可能會造成管理的疏忽或政策落實的不到位,影響到發電廠工業控制系統本身的安全。
此外,一些電廠僅有生產車間停電、發生生產安全事故的應急預案,缺少針對服務器軟硬件故障、感染惡意代碼、工業控制網絡中斷等方面的工業控制系統應急預案。一旦發生網絡安全事件,將對生產業務活動造成嚴重影響[5]。
發電廠工業控制系統安全建設是一個包含技術和管理的系統性建設工程,其建設過程需要對人員、資金、軟硬件設備等進行規劃設計,實現工業控制系統的功能安全與信息安全的全方位融合。在加強電廠控制系統安全防護的同時,還需要加強安全意識培訓,改善安全管理制度。
要建立工業控制系統正式上線前的安全評估機制。工業控制系統的安全評估,是對工業企業工業控制系統規劃、設計、建設、運行、維護等全生命周期各階段開展的安全防護能力綜合評估。組織內部專家或聘請專業機構定期對電廠內工業控制系統進行安全評估,發現潛在的安全漏洞、隱患、風險和問題并及時組織整改。與傳統信息安全相比,工業控制系統具有運行實時性要求高、系統升級難度大等特點,因此開展工業控制系統等保測評和風險評估要更加謹慎,確保將對工業控制系統的影響降到最低[3]。
從風險評估入手,使用符合工業控制系統特點的理論、方法和工具,準確發現工業控制系統存在的主要問題和潛在風險,才能更好指導工業控制系統的安全防護和建立滿足生產需要的工業控制信息安全防御體系。
應建立具備安全防御能力的技術體系,實現“邊界—網絡—終端”的立體防御。在工業控制網絡邊界處,通過物理隔離或邏輯隔離的方式進行防護。據統計數據表明,89%的工業控制系統為實現準確的區域劃分及邊界隔離,針對發電廠控制系統基于“區域”和“管道”模型安全防護技術可以有效實現電廠的工控系統網絡安全防御。在電廠生產控制大區中可將控制區劃分多個安全域,分別為DCS機組安全域、水網控制、灰處理控制安全域及煤處理控制安全域。通過防火墻來實現訪問控制、地址轉換、事件審核和告警等安全功能。工業控制網絡內部各安全域之間需要可識別工業控制協議數據包的工控安全防火墻,對常用工業控制協議和應用數據內容的數據包進行解析、檢查及過濾,阻斷非授權訪問或疑似攻擊、病毒、木馬等[6]。
在安全域內部實時抓取并分析控制網絡中的報文數據,監測通信行為、控制指令,及時發現網絡流量的異常、惡意代碼傳播、網絡掃描等攻擊行為。在工業控制系統中的各個終端上,通過端口綁定等方式加固終端設備的防護能力。例如綁定IP地址或交換機端口限定對PLC的訪問,工程師站和操作員站中安裝應用程序白名單程序,確保主機運行可信程序。
通過構建安全防護體系,提升系統的安全防御和威脅檢測能力,降低網絡安全攻擊帶來的風險。
加強發電廠工業控制系統安全監督檢查職責,通過建立工控安全管理機制、成立信息安全協調小組等方式,明確工控安全管理責任人,落實工控安全責任制。同時,制定工控安全事件應急響應預案,當遭受安全威脅導致工業控制系統出現異常或故障時,應立即采取緊急防護措施,防止事態擴大,并逐級報送至屬地省級工業和信息化主管部門,同時注意保護現場,以便進行調查取證。同時,定期對工業控制系統的應急響應預案進行演練,必要時對應急響應預案進行修訂[7、8]。
除了技術、制度外,人員良好的網絡安全素質是發電廠工業控制系統網絡安全的重要保證。因此需要定期組織開展安全意識和安全技能培訓,加強網絡安全管理重要性的宣貫。
綜合提高發電廠工業控制系統各方面安全防護能力,將有力保證電廠生產經營的健康可持續發展。本文系統地分析了火力發電廠工業控制系統面臨的安全威脅和安全建設現狀,基于風險分析提出了構建發電廠工業控制系統安全防護的思路,并對涉及的關鍵技術及其實現方式進行了詳細論述;同時也介紹了關于工業控制系統安全保障的管理體系的重要要求。