烏克蘭停電事件和伊朗核電事件等電網(wǎng)事故的發(fā)生,引起業(yè)內(nèi)對(duì)電網(wǎng)信息安全的重視。計(jì)算機(jī)、通信、互聯(lián)網(wǎng)、視頻、紅外傳感等技術(shù)在智能變電站的應(yīng)用,使得一、二次設(shè)備信息的產(chǎn)生、處理、傳輸、存儲(chǔ)等各個(gè)環(huán)節(jié)數(shù)據(jù)處理呈現(xiàn)網(wǎng)絡(luò)化特征,形成人、機(jī)、物等實(shí)體深度交互和相互作用的人-機(jī)-物動(dòng)態(tài)虛擬網(wǎng)絡(luò)空間(cyperspace)。攻擊者對(duì)其各環(huán)節(jié)所進(jìn)行的破壞對(duì)整站都可能造成嚴(yán)重影響。
相關(guān)學(xué)者從信息物理系統(tǒng)(cyber-physical system, CPS)角度對(duì)電網(wǎng)中的網(wǎng)絡(luò)攻擊安全進(jìn)行分析和討論,認(rèn)為電力CPS通過3C(computating, communication, control)技術(shù)將計(jì)算系統(tǒng)、通信網(wǎng)絡(luò)和電力系統(tǒng)的物理環(huán)境融為了一體,形成一個(gè)實(shí)時(shí)感知、動(dòng)態(tài)控制與信息服務(wù)融合的多維異構(gòu)復(fù)雜系統(tǒng),而在電力CPS環(huán)境下,攻擊者依然可以通過注入虛假信息等方式,達(dá)到攻擊電網(wǎng)的目的。
為智能變電站二次設(shè)備或系統(tǒng)配套提供的配置工具可完成IEC 61850模型配置及運(yùn)行參數(shù)設(shè)置等工作,并可對(duì)設(shè)備進(jìn)行監(jiān)視、調(diào)試甚至可進(jìn)行如刀閘遙控等控制操作。若配置工具不加任何安全防護(hù)就直接訪問設(shè)備,則將給非法用戶提供攻擊或蓄意破壞設(shè)備的可乘之機(jī)。
本文結(jié)合工程需求以配置工具的C/S網(wǎng)絡(luò)架構(gòu)體系為研究對(duì)象,參照2019年發(fā)布的信息安全技術(shù)網(wǎng)絡(luò)空間等級(jí)保護(hù)基本要求(下文簡稱等保)中的等保3級(jí)要求,基于國密算法通信加密、四權(quán)分立訪問控制、數(shù)據(jù)安全、代碼安全、審計(jì)日志等安全加固技術(shù),來提升配置工具的安全防護(hù)能力。
智能變電站采用IEC 61850相關(guān)技術(shù)規(guī)范,將二次設(shè)備網(wǎng)絡(luò)劃分為“三層兩網(wǎng)”,如圖1所示。
圖1 智能變電站網(wǎng)絡(luò)結(jié)構(gòu)示意圖
二次設(shè)備配置工具主要采用C/S架構(gòu),運(yùn)行在工程師站上或者便攜式電腦上,通過交換機(jī)或網(wǎng)絡(luò)直連與監(jiān)控、遠(yuǎn)動(dòng)、保護(hù)、測(cè)控等裝置建立通信后再進(jìn)行相關(guān)的配置操作,如向保護(hù)裝置下載IEC 61850模型文件、信息查看、控制操作等,其交互過程如圖2所示。
各個(gè)過程功能為:①在工程師站本地讀取啟動(dòng)配置項(xiàng);②與裝置建立通道;③下裝配置信息到裝置本地;④應(yīng)用程序更新配置參數(shù);⑤應(yīng)用程序更新實(shí)時(shí)信息;⑥二次設(shè)備實(shí)時(shí)信息傳遞給配置工具進(jìn)行聯(lián)調(diào)測(cè)試。
若配置工具無安全加固,則攻擊者可從上述各個(gè)過程獲取并篡改設(shè)備的配置或?qū)崟r(shí)控制信息。
圖2 配置工具與二次設(shè)備業(yè)務(wù)流程圖
參照等保要求,從技術(shù)層面上,配置工具需要滿足通信保密性、訪問控制、安全審計(jì)、入侵防范、惡意代碼防范、網(wǎng)絡(luò)安全、身份鑒別、通信完整性、抗抵賴、軟件容錯(cuò)、資源控制、數(shù)據(jù)完整性、數(shù)據(jù)保密性、數(shù)據(jù)備份和恢復(fù)等基本要求。結(jié)合工程安全加固要求,本文主要從以下幾個(gè)技術(shù)方面對(duì)配置工具進(jìn)行安全加固,其安全加固層次架構(gòu)如圖3所示。
圖3 安全加固層次架構(gòu)圖
1)網(wǎng)絡(luò)通信加密。基于安全套接層(secure sockets layer, SSL)和國密算法SM2對(duì)網(wǎng)絡(luò)通信數(shù)據(jù)加密。
2)數(shù)據(jù)安全存儲(chǔ)。數(shù)據(jù)進(jìn)行SM4加密存儲(chǔ),防止非法用戶入侵裝置后可直接查看配置數(shù)據(jù)。
3)用戶訪問控制。對(duì)用戶進(jìn)行雙因子認(rèn)證鑒別,將用戶權(quán)限最小化,防止其非法修改其他關(guān)鍵數(shù)據(jù)。
4)數(shù)據(jù)完整性。對(duì)通信報(bào)文、應(yīng)用數(shù)據(jù)、配置數(shù)據(jù)等進(jìn)行SM3完整性校驗(yàn),防止數(shù)據(jù)被篡改。
5)代碼安全。
6)審計(jì)系統(tǒng)。對(duì)用戶行為進(jìn)行安全審計(jì)。
3.1 數(shù)據(jù)通信保密性
1)安全套接層安全傳輸協(xié)議
SSL是為網(wǎng)絡(luò)中任意兩臺(tái)機(jī)器提供上層通信安全傳輸保障的一種協(xié)議,提供雙向身份認(rèn)證功能,對(duì)客戶端和服務(wù)端傳輸數(shù)據(jù)進(jìn)行加密處理。
圖4 SSL在網(wǎng)絡(luò)通信中的層次
SSL握手過程如圖5所示。
圖5 SSL握手過程
若雙方握手成功,則客戶端與服務(wù)端可以使用會(huì)話密鑰對(duì)應(yīng)用數(shù)據(jù)進(jìn)行加解密傳輸。
2)SM2國密算法
SM2橢圓曲線公鑰密碼算法具有中國知識(shí)產(chǎn)權(quán),安全性更高,無國外可利用的后門,在相同安全程度要求下,橢圓曲線密碼較其他公鑰密碼所需的密鑰規(guī)模要小很多,同比常用的1024位RSA算法可提高其安全性。
SM2國密算法主要包括數(shù)字簽名算法、密鑰交換協(xié)議和公鑰加密算法等。數(shù)字簽名算法和密鑰交換協(xié)議使用SM3密碼雜湊算法實(shí)現(xiàn)。在保密通信過程中,實(shí)時(shí)數(shù)據(jù)可采用SM2或SM4進(jìn)行加密處理,SM2比SM4安全性較高,但算法復(fù)雜,實(shí)時(shí)性相對(duì)弱。若采用SM4算法,則通過SM2對(duì)SM4的密鑰進(jìn)行加密傳輸,實(shí)時(shí)數(shù)據(jù)采用SM4進(jìn)行加密處理。
3)通信加密測(cè)試驗(yàn)證
使用抓包工具獲取網(wǎng)絡(luò)通信報(bào)文,數(shù)據(jù)經(jīng)過加密后未發(fā)現(xiàn)明文。客戶端和服務(wù)端發(fā)出的加密報(bào)文如圖6和圖7所示。
圖6 客戶端發(fā)出的加密報(bào)文
圖7 服務(wù)端發(fā)出的加密報(bào)文
3.2 用戶資源訪問控制
1)基于雙因子認(rèn)證的用戶鑒別
提供基于口令、指紋卡、數(shù)據(jù)證書(如UKey)等鑒別技術(shù)中的兩種或兩種以上組合方式對(duì)用戶身份進(jìn)行鑒別。主要包括登錄鑒別和實(shí)時(shí)鑒別(如對(duì)數(shù)據(jù)證書UKey實(shí)時(shí)監(jiān)測(cè)),若鑒別失敗,則禁止客戶端進(jìn)行任何操作。
2)面向資源的訪問控制
在現(xiàn)有系統(tǒng)中,常采用三權(quán)分立策略進(jìn)行訪問控制,將用戶角色劃分為系統(tǒng)管理員、操作員、審計(jì)員。在這種情況下,系統(tǒng)管理員成為超級(jí)用戶,存在其可對(duì)審計(jì)員業(yè)務(wù)進(jìn)行操作的風(fēng)險(xiǎn)。因此,從業(yè)務(wù)角度考慮,將審計(jì)功能劃分成獨(dú)立的審計(jì)子系統(tǒng),形成系統(tǒng)管理員、操作員、審計(jì)管理員、審計(jì)員等四權(quán)分立的角色控制。
將強(qiáng)制訪問控制應(yīng)用于所有主體與客體,每個(gè)用戶客體對(duì)每類主體對(duì)象都設(shè)置相應(yīng)的訪問控制權(quán)限,操作前檢查用戶是否有相應(yīng)權(quán)限;在權(quán)限分配策略上,每個(gè)用戶客體的權(quán)限達(dá)到最小,不同角色的用戶權(quán)限應(yīng)互斥。以資源訪問的CRUD(create,增加;retrieve,讀取查詢;update,更新;delete,刪除)權(quán)限為例,建立4個(gè)用戶的權(quán)限控制矩陣,示例見表1。
表1 面向資源的訪問控制矩陣
3)雙向訪問控制認(rèn)證
如果只在客戶端進(jìn)行訪問控制,攻擊者就可通過修改客戶端內(nèi)存數(shù)據(jù)進(jìn)行權(quán)限篡改,然后直接訪問到裝置。因此需要在服務(wù)端和客戶端進(jìn)行雙側(cè)權(quán)限認(rèn)證,以避免配置工具側(cè)權(quán)限被攻擊篡改之后導(dǎo)致裝置側(cè)權(quán)限被攻擊。
3.3 數(shù)據(jù)完整性及容錯(cuò)處理
1)數(shù)據(jù)安全存儲(chǔ)
對(duì)關(guān)鍵數(shù)據(jù)(如用戶名及密碼)采用SM4算法進(jìn)行存儲(chǔ),如圖8所示。
圖8 數(shù)據(jù)加密存儲(chǔ)
2)配置參數(shù)完整性校驗(yàn)
為了防止數(shù)據(jù)被竊聽者篡改,需要對(duì)配置數(shù)據(jù)進(jìn)行完整性校驗(yàn)。通常采用數(shù)據(jù)完整性的方式有MD5、CRC等,由于SM3采用了不可逆的摘要計(jì)算方法,所以可通過SM3進(jìn)行Hash值計(jì)算。在數(shù)據(jù)完整性檢查時(shí),使用SM3對(duì)數(shù)據(jù)進(jìn)行Hash摘要計(jì)算,與前一次Hash值進(jìn)行比較。若不一致,則認(rèn)為配置數(shù)據(jù)存在完整性缺失,需在工具側(cè)進(jìn)行區(qū)別標(biāo)記,如圖9所示,第1條配置參數(shù)被標(biāo)記出有改動(dòng)。
3)配置參數(shù)防誤容錯(cuò)處理
圖9 檢測(cè)數(shù)據(jù)完整性
智能變電站二次設(shè)備各個(gè)參數(shù)配置項(xiàng)具有一定的物理意義,都有設(shè)定的值域范圍。從配置工具上對(duì)參數(shù)進(jìn)行配置時(shí)需要對(duì)其范圍嚴(yán)格檢查,防止人工操作造成的配置錯(cuò)誤。這些檢查包括以下幾個(gè)方面:
(1)整數(shù)或浮點(diǎn)型數(shù)據(jù)范圍的有效性檢查,如定值區(qū)設(shè)置范圍應(yīng)為整數(shù)區(qū)間0~31;(2)字符串長度的限制;(3)IP地址非法性檢查;(4)網(wǎng)絡(luò)端口合法性檢查;(5)定值范圍、步長、量綱等檢查;(6)裝置的IP地址重復(fù)檢查。
3.4 代碼安全
代碼安全反映了正常的業(yè)務(wù)邏輯、代碼邏輯和代碼本身的安全,如防止內(nèi)存泄漏、程序異常處理、在特定條件下進(jìn)入死循環(huán)、關(guān)鍵數(shù)據(jù)在代碼中明文顯示等。
對(duì)代碼進(jìn)行靜態(tài)分析時(shí)不應(yīng)包含以下缺陷:①內(nèi)存泄露缺陷;②數(shù)組越界缺陷;③空指針缺陷;④代碼不可達(dá)缺陷;⑤內(nèi)在釋放后引用缺陷;⑥并發(fā)機(jī)制缺陷;⑦資源利用缺陷;⑧防止反匯編。使用反匯編工具進(jìn)行反匯編檢查,未發(fā)現(xiàn)明顯數(shù)據(jù)暴露,防止從代碼級(jí)進(jìn)行篡改數(shù)據(jù),如圖10所示。
圖10 反匯編檢查
3.5 安全審計(jì)系統(tǒng)
建立獨(dú)立的審計(jì)系統(tǒng)并且只能由審計(jì)員操作,提供審計(jì)服務(wù)接口、審計(jì)進(jìn)程和審計(jì)分析模塊。審計(jì)內(nèi)容包括登錄、增加、刪除、修改等行為,還包括用戶名、用戶惟一標(biāo)識(shí)ID、操作時(shí)間、事件類型、事件等級(jí)、操作內(nèi)容、操作結(jié)果等。通過審計(jì)可分析用戶操作行為及追蹤設(shè)備配置變化過程。審計(jì)信息如圖11所示,通過安全審計(jì)系統(tǒng)可進(jìn)行查看用戶操作的完整記錄。
圖11 審計(jì)信息
本文根據(jù)上述安全加固的技術(shù)應(yīng)用研究,結(jié)合工程需求,實(shí)現(xiàn)了變電站電力監(jiān)控系統(tǒng)網(wǎng)絡(luò)安全監(jiān)測(cè)裝置配置工具的安全加固。該裝置在智能變電站中進(jìn)行了工程實(shí)施,與此配套的配置工具在通信加密、用戶訪問控制、數(shù)據(jù)完整性、數(shù)據(jù)保密性、代碼安全、安全審計(jì)等方面進(jìn)行了安全加固,可在一定程度防止對(duì)該裝置的惡意篡改操作等非法行為,提升了裝置的安全運(yùn)行能力,可滿足用戶安全加固要求。
本文通過對(duì)二次設(shè)備配置工具的安全加固,可防止非法用戶對(duì)二次設(shè)備的配置和控制操作,在一定程度上提高了整個(gè)智能變電站的安全防御能力。
由于本文的安全加固主要針對(duì)二次設(shè)備配置信息的讀寫,對(duì)設(shè)備功能的主要影響是裝置起動(dòng)后加載配置信息時(shí)需要加解密和完整性檢查,因此對(duì)其原有實(shí)時(shí)功能的影響微乎其微。
配置工具的安全不僅應(yīng)從信息安全方面考慮,而且在實(shí)現(xiàn)、部署應(yīng)用、物理環(huán)境、運(yùn)行管理等各個(gè)環(huán)節(jié)都應(yīng)進(jìn)行整體考慮和加強(qiáng)防范。本文以等保3級(jí)為原則進(jìn)行安全加固設(shè)計(jì)及實(shí)現(xiàn),然而安全無邊界,后續(xù)還需要進(jìn)行更高等級(jí)要求的技術(shù)研究及實(shí)現(xiàn),以進(jìn)一步提升安全防護(hù)能力。