謝秋華,姜德政,楊廷勇,楊之圣
(中國長江電力股份有限公司,湖北 宜昌 443000)
隨著計算機和網絡技術的發(fā)展,特別是兩化融合以及物聯網的快速發(fā)展,越來越多的通用協議、硬件和軟件在工業(yè)控制系統(tǒng)產品中采用,并以各種方式與互聯網等公共網絡連接,使得針對工業(yè)控制系統(tǒng)的攻擊行為大幅度增長,常見的攻擊方式就是利用工業(yè)控制系統(tǒng)的漏洞,具體包括PLC、DCS(分布式控制系統(tǒng))、SCADA(數據采集與監(jiān)視控制系統(tǒng))乃至應用軟件中的信息安全漏洞。
近年來,工業(yè)控制系統(tǒng)信息安全風險和事件數量呈上升趨勢,“震網”、“火焰”、“毒區(qū)”、“Havex”等惡意軟件嚴重影響了關鍵工業(yè)基礎設施的穩(wěn)定運行,工業(yè)控制系統(tǒng)信息安全漏洞如不能及時發(fā)現并防范,將對工業(yè)生產運行和國家經濟安全造成重大隱患。
以水電站計算機監(jiān)控系統(tǒng)為例設計電力監(jiān)控系統(tǒng)網絡安全攻防演練平臺,可有效驗證控制系統(tǒng)安全性并挖掘系統(tǒng)及關鍵控制設備的安全漏洞,研究針對控制系統(tǒng)的攻擊方法并展現攻擊效果。試驗結果能夠為水電站電力監(jiān)控系統(tǒng)真實環(huán)境的安全評估、安全加固及安全改造提供指導性建議[1],為水電站網絡安全管理人才培養(yǎng)提供支撐。
水電站電力監(jiān)控系統(tǒng)作為重要領域的工業(yè)控制系統(tǒng),其網絡安全管理工作除按照國家法律法規(guī)以及行業(yè)標準做好“技防、人防、物防”等各項管控措施外,還有必要通過開展水電站電力監(jiān)控系統(tǒng)網絡安全攻防平臺的研發(fā)與實踐,實戰(zhàn)演練網絡安全攻防手段,通過演練--改進--提高,有效提升水電站電力監(jiān)控系統(tǒng)網絡安全防護整體水平。
水電站電力監(jiān)控系統(tǒng)攻防平臺設計時遵循系統(tǒng)要求、覆蓋關鍵工藝、選擇典型系統(tǒng)的原則[1],首先應搭建一個典型的計算機監(jiān)控系統(tǒng)仿真平臺,該平臺部署水電站監(jiān)控系統(tǒng)典型硬件設備、安裝系統(tǒng)常用的應用軟件,具備監(jiān)控系統(tǒng)相關功能,同時根據國家法律法規(guī)和行業(yè)標準配備完整的網絡安全防護措施,具體平臺設計如圖1所示。
圖1 典型的計算機監(jiān)控系統(tǒng)仿真平臺
該平臺配置兩臺操作員站、兩臺數據采集服務器和兩臺歷史數據服務器,服務器采用國產自主的浪潮和曙光品牌,并部署可信密碼模塊和可信軟件基;操作系統(tǒng)采用凝思國產操作系統(tǒng);應用軟件采用中水科技的H9000系統(tǒng);歷史服務器安裝達夢國產數據庫;交換機選用華為交換機S572-32P-EI-AC,現地層PLC選用施耐德M580 ePAC level40和傲拓科技自主可控NJ-600PLC。
根據水電站電力監(jiān)控系統(tǒng)攻防平臺的結構特點和應用情況,攻防演練主要針對平臺網絡層、系統(tǒng)層、應用層3個方面進行滲透測試。系統(tǒng)應支持采用當前主流、先進的測試手段發(fā)現平臺漏洞,現場演示利用該漏洞可能造成的損失或后果,并提供避免或防范此類威脅、風險或漏洞的具體改進或加固措施。具體包含:網絡層測試、系統(tǒng)層測試和應用層測試;測試過程中發(fā)現的漏洞報告及改進措施建議;平臺加固方案及最終的測試報告。
平臺建設應基于當前電力監(jiān)控系統(tǒng)的實際防護水平,應用當前主流的自主可控軟硬件設備,包括自主可控的廠站層服務器、交換機、網絡安全防護設備及系統(tǒng)軟件、應用軟件;現地層應用自主可控大型冗余PLC,整體配置為水電站監(jiān)控系統(tǒng)全面國產化提供技術支持,提升監(jiān)控系統(tǒng)自身可靠性。同時應用國產密碼技術,變被動防御為主動免疫,為三峽電站監(jiān)控系統(tǒng)應對網絡威脅的能力和快速恢復能力提供支持。
通過邀請紅客對已建設好的攻防平臺進行攻防測試,尋找當前平臺的安全防護短板并進行整改,同時挖掘信息安全人員的弱點,提升信息安全人員的安全習慣,提升安全管理能力,最終進一步健全水電站電力監(jiān)控系統(tǒng)安全防護體系建設。
完善后的平臺可用作開展常態(tài)化的攻防演練,集系統(tǒng)測評和操作培訓于一體,作為后續(xù)開展系統(tǒng)等保測試和攻防演習人員培訓的仿真環(huán)境。
為仿真電力監(jiān)控系統(tǒng)可能的攻擊行為,攻防平臺設計從攻擊方式來分,分為黑盒測試和白盒測試。黑盒測試模擬攻擊者處于不了解系統(tǒng)相關信息的狀態(tài),白盒測試與黑箱測試恰恰相反,模擬測試者已掌握測試平臺的各種資料,包括網絡拓撲、員工資料甚至程序的代碼片斷等,主要模擬企業(yè)內部雇員的越權操作。
從攻擊路徑來分,分為外部網絡攻擊和內部網絡攻擊。前者模擬的是系統(tǒng)外部網絡上可能存在的惡意攻擊行為,后者模擬企業(yè)內部違規(guī)操作者的行為、測試系統(tǒng)內部缺陷。
紅客開展?jié)B透測試時模擬黑客入侵攻擊的過程,具體可以使用操作系統(tǒng)自帶的網絡應用、管理和診斷工具,或在網絡上免費下載的掃描器、遠程入侵代碼和本地提升權限代碼以及測試人員自主開發(fā)的安全掃描工具等。
滲透測試使用的通用軟件或自主開發(fā)的滲透測試工具應技術成熟,能夠實現網絡檢查和安全測試的高度可控性,能夠根據使用者的實際要求進行有針對性的測試。
滲透攻擊路徑分別在圖2中A點和B點進行。A點測試主要測試電力監(jiān)控系統(tǒng)專用隔離裝置是否存在突破或被繞過的可能,B點測試模擬企業(yè)內部違規(guī)操作者的行為。
圖2 水電站電力監(jiān)控系統(tǒng)攻防平臺滲透測試路徑
根據攻防平臺的結構特點和應用情況,滲透測試主要針對平臺網絡層、系統(tǒng)層、應用層3個方面進行。紅客應通過采用適當的測試手段發(fā)現平臺漏洞,實時演示該漏洞可能造成的損失,并提出有針對性的改進措施。
3.2.1 網絡層測試
測試服務器系統(tǒng)和網絡設備研發(fā)生產過程中所固有的安全隱患及系統(tǒng)管理員或網絡管理員的管理疏忽,網絡層測試包含但不限于以下內容:
(1)跨隔離裝置訪問測試
如圖2所示,嘗試在攻擊點A訪問攻防平臺隔離裝置內的服務器或文件,確認隔離裝置是否存在被突破或被繞過的可能。
(2)密碼破解、登錄超時、AAA認證測試
通過攻防測試,檢測是否存在弱口令、登錄系統(tǒng)未及時退出以及不規(guī)范的權限管理漏洞,進行數據分析及漏洞驗證。
(3)管理ACL測試
若交換機未配置管理IP的ACL,可導致任意地址訪問設備,需進行數據分析及漏洞驗證。
(4)其它配置測試
針對服務器系統(tǒng)、數據庫系統(tǒng)及網絡設備在使用過程中由于管理人員或開發(fā)人員的疏忽可能造成的安全漏洞進行測試,并開展數據分析及漏洞驗證。
3.2.2 系統(tǒng)層測試
(1)軟件漏洞、遠程溢出漏洞、本地提權漏洞測試
操作系統(tǒng)等系統(tǒng)應用軟件未能及時更新或升級,導致系統(tǒng)存在未修復的安全漏洞;程序中使用的輸入函數(使用者輸入參數)對所接收數據的邊界驗證不嚴密而造成溢出漏洞;本地低權限、受限制的用戶通過非常規(guī)手段提升到系統(tǒng)最高權限或比較大的權限,從而取得對服務器的控制權的漏洞等。
(2)弱口令、權限過大測試
測試系統(tǒng)、應用程序、數據庫是否存在弱口令可以導致入侵者直接得到系統(tǒng)權限、修改盜取數據庫中敏感數據、任意篡改頁面等;測試是否存在某用戶操作權限超出他本身安全操作權限范圍之外而導致的安全風險。
(3)高危服務/端口開放、匿名連接測試
測試系統(tǒng)中是否存在默認開放的高危服務和端口及其帶來的安全問題;測試系統(tǒng)是否存在匿名的IPC﹩連接及可能的安全風險。
(4)操作系統(tǒng)系統(tǒng)脆弱性測試
主要包括系統(tǒng)基本信息測試、系統(tǒng)壓力測試和異常測試,包括弱口令測試、專業(yè)漏洞掃描工具掃描、漏洞庫匹配、大流量報文發(fā)送等,并進行相關數據分析及漏洞驗證。
3.2.3 應用層測試
測試應用程序及代碼在開發(fā)過程中是否存在因安全意識不足、程序員疏忽導致的應用系統(tǒng)可利用的安全漏洞。一般包括SQL注入漏洞、敏感信息泄露漏洞、惡意代碼、脆弱性測試等。
(1)登錄限制測試
測試應用程序是否存在未經授權的用戶登錄及非法權限獲取,從而實現對程序的篡改、刪減。
(2)SQL注入漏洞測試
將惡意的SQL命令注入到后臺數據庫引擎,測試應用程序中是否存在沒有對用戶輸入數據的合法性進行判斷、特殊字符繞過對合法用戶的認證體系等安全隱患。
(3)惡意代碼植入
嘗試在應用程序層植入惡意代碼以獲取相應權限或用以傳播病毒,并進行相關的數據分析和漏洞驗證。
(4)不安全對象引用及安全配置錯誤
測試應用程序中是否存在不安全的對象引用或使用第三方插件時未進行必要的安全配置和修改,而導致的安全隱患,對此進行數據分析及漏洞驗證。
(5)應用協議脆弱性、應用軟件脆弱性測試
通過專業(yè)工具對系統(tǒng)中使用的應用協議進行測試,包含協議規(guī)范測試、協議實現測試及協議棧壓力和異常測試。
通過專業(yè)工具進行業(yè)務邏輯壓力和異常測試及數據庫壓力和異常測試。
3.2.4 PLC 漏洞攻擊
利用現有PLC和通信協議的已知漏洞開展對現地LCU的攻擊,測試是否存在因異常通信導致PLC異常停運、或非正常開出的現象。
在滲透測試工作結束后,針對測試中發(fā)現的高危、嚴重級漏洞、配置錯誤、管理不當等問題,紅客應及時提交完整的記錄、總結報告,并提供改進措施及對策;用戶側根據測試報告及時開展技術、管理層面的整改;針對現地LCU中選型不同的兩種類型PLC,對比分析其安全防護整體水平。
根據滲透測試的整體情況,整改可能是一次完成或需要多輪整改;整改完成后需再次組織對整改項實施復測,以驗證整改的有效性;同時隨著新的漏洞信息發(fā)布,可開展多輪測試、持續(xù)改進。
隨著電力監(jiān)控系統(tǒng)網絡安全及關鍵信息基礎設施安全的重要性日益凸顯,水電站電力監(jiān)控系統(tǒng)運維團隊在技術防護裝備、安全防護意識方面都有了很大的提升,但當前的防護措施是否充分、足夠,系統(tǒng)中是否存在未知的安全隱患,運維團隊的安全防護水平如何應對新的安全漏洞與攻擊手段等,是水電站電力監(jiān)控系統(tǒng)安全防護的一個新課題。本項目中的水電站電力監(jiān)控系統(tǒng)攻防平臺是一個最小化的水電站計算機監(jiān)控系統(tǒng),代表了水電站電力監(jiān)控系統(tǒng)安全防護的最高要求,攻防平臺一方面是一個裝備試驗場,需與時俱進,試點應用安全可靠的軟硬件設備,部署新型、可靠的安全防護設備,同時優(yōu)化完善系統(tǒng)、應用程序;另一方面需作為一個人才培訓基地,使更多的運維人員深入了解安全防護設備的配置、可能的攻擊手段及應對措施,有效提升系統(tǒng)運維人員的網絡安全防護技能。