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