1 工業控制系統的脆弱性
由于工業控制系統正向復雜化、IT化和通用化趨勢發展,基于PC+Windows的工業控制網絡面臨安全挑戰,這些年不僅國外發生了一些安全事件,同時國內也暴露出了一系列的工業控制系統信息安全的問題。比如2010年齊魯石化、2011年大慶石化煉油廠,某裝置控制系統分別感染Conficker病毒,都造成控制系統服務器與控制器通訊不同程度的中斷。
ICS-CERT安全報告指出“近三年針對工業控制系統的安全事件呈明顯上升趨勢,僅2013年度,針對關鍵基礎設施的攻擊報告已達到257起。”主要集中在能源、關鍵制造業、交通、通信、水利、核能等領域,而能源行業的安全事故則超過了一半。如圖1所示。
圖1 近三年各領域發生工業控制系統的安全事件比例
我們認為,歸根結底就是工業控制系統的漏洞問題,截止到2013年12月底,公開的工業控制系統漏洞數總體仍呈增長趨勢。2010年6月出現的Stuxnet病毒,是世界上首個專門針對工業控制系統編寫的席卷全球工業界破壞性病毒,它同時利用7個最新漏洞進行攻擊。這7個漏洞中,有5個是針對windows系統,2個是針對西門子SIMATIC WinCC系統。
工業控制系統的漏洞主要包括5個方面,如下:
(1)通信協議漏洞
兩化融合和物聯網的發展使得TCP/IP協議等通用協議越來越廣泛地應用在工業控制網絡中,隨之而來的通信協議漏洞問題也日益突出。
(2)操作系統漏洞
目前大多數工業控制系統的工程師站/操作站/HMI都是Windows平臺的,通常現場工程師在系統開啟后不會對windows平臺安全任何補丁,埋下了安全隱患。
(3)應用軟件漏洞
由于應用軟件多種多樣,很難形成統一的防護規范以應對安全問題,另外當應用軟件面向網絡應用時,就必須開放其應用端口,是重要的攻擊途徑。
(4)安全策略和管理流程漏洞
追求可用性而犧牲安全性,是很多工業控制系統存在的普遍現象,缺乏完整有效的安全策略與管理流程也給工業控制系統信息安全帶來一定的威脅。
(5)殺毒軟件漏洞
為了保證工控應用軟件的可用性,許多工控系統操作站通常不會安裝殺毒軟件,即使安裝了殺毒軟件,病毒庫也不會定期更新。
2 工業控制系統的安全需求
表1給出了工控系統與傳統IT系統的不同。
表1所示的這些不同,導致了工控安全與傳統IT安全的差異,傳統IT安全更注重機密性,其次是完整性,之后是可用性,但是工控系統的安全,則是可用性排在第一位,接下來是完整性,最后才是機密性。所以,傳統網絡安全技術不適于應用到工業控制系統。
美國國土安全部下屬的ICS-CERT(工業控制系統應急響應小組)及CSSP(控制系統安全項目)通過對工業控制系統軟件的缺陷性分析發現,工業控制系統軟件的安全脆弱性問題主要涉及錯誤輸入驗證、密碼管理、越權訪問、不適當的認證、系統配置等方面。
典型工控系統的安全問題,如圖2所示。
3 工業控制系統的安全測試技術趨勢
3.1 工業控制系統的特點
(1)封閉性:SCADA、ICS系統的設計之初安全機制不完善;
(2)多樣性:多種數據接口(如RJ45、RS485、RS232等),協議規約實現多樣;
(3)復雜性:專用的通信協議或規約(如OPC、Modbus、DNP3、 Profibus等);
(4)不可改變性:工控系統程序升級困難。
傳統IT安全測試技術不適合工業控制系統,所以急需針對工業控制系統的安全測試技術。針對SCADA、ICS系統自身脆弱性(漏洞)和通信規約的安全性,研究工業控制系統的安全測試技術,分析工業控制系統中已知的與未知的安全威脅,指導其對安全威脅進行有效的防御。
3.2 工控系統安全測試技術已成為重要的發展方向
3.2.1 美國能源部SCADA測試平臺計劃(2008-2013)
美國能源部自2008年就開始了搭建SCADA測試平臺計劃(2008-2013),通過聯合其下屬Idaho等6個國家實驗室的技術力量,提供各種工業控制系統的真實測試環境,實現對石油、電力等行業控制系統的安全測評。
美國能源部SCADA測試平臺計劃中主要包括4個典型測試平臺,如下。
(1)SCADA/控制系統測試平臺;
(2)信息安全測試平臺;
(3)電網測試平臺;
(4)無線技術測試平臺。
圖3所示是一個SCADA/控制系統測試平臺實例。
3.2.2 歐洲SCADA安全測試平臺
歐洲也搭建了SCADA安全測試平臺,主要特點如下:
(1)采用現場系統的滲透測試,建立風險分析方法,測試、評估SCADA系統的安全性;
(2)對于Computer Emergency Response Team (CERT)發布的SCADA安全信息能夠快速處理,以保護世界各地的運行系統;
(3)具有高度重構,與其它SCADA系統安全、遠距離通信連接,構建先進的分布式測試環境。
3.2.3 學術界工控系統安全測試技術研究
國外學者致力于搭建SCADA系統真實測試環境,模擬攻擊行為,通過仿真和建模分析SCADA系統的安全性。
國際知名工業安全測試公司相關產品和解決方案如下:
(1)加拿大 Wurldtech的Achilles 測試工具采用漏洞掃描和模糊測試的方法,測試工控系統中設備和軟件的安全問題;
(2)加拿大的ICS Sandbox測試平臺采用滲透測試的方法,通過模擬真實的網絡攻擊,測試SCADA系統中關鍵基礎設施的脆弱性;
(3)芬蘭科諾康Codenomicon Defensics工控健壯性/安全性測試平臺,采用基于主動性安全漏洞挖掘的健壯性評估與管理方案,與ISASecure合作,遵循IEC 62443標準。
3.3 工控系統安全測試的關鍵技術
(1)構建工控系統漏洞庫
由于通信協議的特殊性,傳統漏洞庫并不適應于工業控制系統安全測試領域,需要構建工控系統專有漏洞庫。如圖4所示。
圖4 漏洞數據庫
(2)基于工業漏洞庫的漏洞掃描技術,如圖5所示。依靠漏洞掃描引擎、檢測規則的自動匹配,通過工控系統漏洞庫,掃描系統中的關鍵設備,檢測系統的脆弱性;
支持Modbus、DNP3、Profinet等工業通信協議漏洞;
支持ICMP Ping掃描、端口掃描等傳統掃描技術。
圖5 基于工業漏洞庫的漏洞掃描技術
(3)面向工業控制協議的Fuzzing測試,如圖6所示。
圖6 面向工業控制協議的Fuzzing測試
運用模糊測試的原理,設計變異測試用例并構造變異報文,檢查工控協議實現的缺陷。
構建完整、可擴展的動態隨機分析測試框架,監控測試目標,管理測試結果,并支持多目標(如文件、網絡協議等等)、多種協議(如Modbus TCP、DNP3等不同類型的協議)、多線程(加速測試進度)
(4)工業病毒行為特征提取與攻擊模擬技術,如圖7所示。
數據挖掘智能認知工業病毒攻擊行為,實現工業病毒行為判定,提取工業病毒行為特征;
根據網絡流量情況、具體協議內容、交互模式以及主機或設備行為,檢測工控環境特種木馬等復雜攻擊。
4 工業控制系統的安全防護技術趨勢
保證工業控制系統安全穩定運行,工業控制系統的安全防護必須達到以下三個目標,如表2所示。
4.1 工業控制系統防火墻技術
防火墻是基于訪問控制技術,它可以保障不同安全區域之間進行安全通信,通過設置訪問控制規則,管理和控制出入不同安全區域的信息流,保障資源在合法范圍內得以有效使用和管理。
目前傳統的IT防火墻都是根據“白名單”或者“黑名單”的方式進行規則設置,而工業防火墻大都是根據“白名單”設置規則。對于“白名單”,可以設置允許規則,也就是說只有符合該規則的數據流才能通過,其它的任何數據流都可以被看做攻擊而過濾掉,這樣就保障了資源的合法使用;而對于“黑名單”,可以設置禁止規則,禁止不合法的客戶端對資源的訪問。
工業控制系統防火墻技術可以實現區域管控,劃分控制系統安全區域,對安全區域實現隔離保護,保護合法用戶訪問網絡資源;
同時,可以對控制協議進行深度解析,可以解析Modbus、DNP3等應用層異常數據流量,并對OPC端口進行動態追蹤,對關鍵寄存器和操作進行保護。
工業控制系統防火墻技術目前存在一個問題,就是規則粒度問題(Modbus規則設置為例)。防火墻的規則設置應該能夠支持到具體數據字段的匹配,但是規則深度越深帶來防火墻的效率問題。
4.2 工業控制系統入侵檢測技術
工業控制系統入侵檢測技術是面向控制系統通信協議,根據控制異常行為模式庫,對控制系統網絡或主機進行異常監測:
(1)監視、分析控制終端行為活動;
(2)審計控制系統的配置和弱點;
(3)識別已知進攻模式;
(4)異常活動的統計分析。
目前工業控制系統入侵檢測技術主要包括兩個方面,第一個就是基于特征的入侵檢測,第二個是基于異常的入侵檢測,目前這種方式大多數處于理論研究階段。如圖8所示。
圖8 兩個主要的工業控制系統入侵檢測技術
目前工業控制系統入侵檢測技術的主要問題是,工業控制系統以可用性為先,入侵檢測技術的漏報和誤報將難以商業化應用。
摘自《自動化博覽》2014年9月