汪 洋,張 云,葛雅川,李 楠,呂佩吾
(南京國(guó)電南自電網(wǎng)自動(dòng)化有限公司,南京 211153)
電力系統(tǒng)作為國(guó)家關(guān)鍵基礎(chǔ)設(shè)施,能否安全平穩(wěn)運(yùn)行關(guān)系到國(guó)計(jì)民生。近年爆發(fā)的烏克蘭電網(wǎng)遭受攻擊[1],伊朗核設(shè)施遭受攻擊事件,顯示出網(wǎng)絡(luò)安全在電網(wǎng)運(yùn)行中的極端重要性。
IEC 61850[2]是變電站的主要通信規(guī)約之一,站控層使用明文通信,存在安全隱患。IEC 62351[3]針對(duì)這種情況提出MMS的加密措施,極大地提高了安全性,但沒有針對(duì)報(bào)文應(yīng)用層內(nèi)容的安全性提出解決方案。本文提出IEC 61850應(yīng)用層網(wǎng)絡(luò)安全的解決方案,可作為IEC 62351的補(bǔ)充,可以從語義層面漆層次加強(qiáng)繼電保護(hù)裝置的抗攻擊能力。
IEC 62351-4提出利用TLS技術(shù)[4]對(duì)MMS報(bào)文的加密安全措施,TLS架設(shè)在TCP之上可以提供以下安全防護(hù):認(rèn)證;機(jī)密性;數(shù)據(jù)完整性;不可抵賴性。
IEC 62351指出:“TCP/IP的TLS為通信協(xié)議集的傳輸層提供安全防護(hù)。TLS并不提供應(yīng)用層安全防護(hù),所以應(yīng)用層安全應(yīng)由其他安全措施提供?!庇捎诰唧w應(yīng)用場(chǎng)景不同,IEC 62351無法提出應(yīng)用層防護(hù)建議,無法檢查客戶端/服務(wù)器交互過程的邏輯性與服務(wù)請(qǐng)求的合理性,無法檢測(cè)出隱藏在應(yīng)用層的攻擊。
防火墻是網(wǎng)絡(luò)之間的安全屏障,保護(hù)內(nèi)網(wǎng)免受非法侵入。防火墻可分為包過濾防火墻、應(yīng)用層防火墻、代理服務(wù)防火墻。
防火墻既可部署在專門的硬件上,也可通過軟件形式部署在主機(jī)本身。
傳統(tǒng)的報(bào)文檢測(cè)技術(shù)僅涉及TCP/IP協(xié)議棧各層的頭部,如MAC地址、IP地址、TCP端口號(hào)。深度報(bào)文檢測(cè)是在傳統(tǒng)檢測(cè)的基礎(chǔ)上,增加對(duì)應(yīng)用層具體內(nèi)容的檢測(cè)。
DPI技術(shù)主要有:基于特征字的識(shí)別技術(shù)、應(yīng)用層網(wǎng)關(guān)識(shí)別技術(shù)、行為模式識(shí)別技術(shù)。
本文提出“MMS行為特征檢測(cè)(MMS behavior feature detection,簡(jiǎn)稱MMS-BFD)”方案,構(gòu)造MMS行為特征庫(kù),深度解析客戶端的服務(wù)請(qǐng)求報(bào)文,采取安全措施進(jìn)行防護(hù)。MMS-BFD既具備應(yīng)用層防火墻的深度報(bào)文檢測(cè)功能,又突破了獨(dú)立硬件防火墻不能解析密文的局限。
IEC 61850應(yīng)用層攻擊主要分為三種。
(1) 畸形報(bào)文攻擊。通過向目標(biāo)系統(tǒng)發(fā)送應(yīng)用層有缺陷的報(bào)文,使得目標(biāo)系統(tǒng)在處理這樣的報(bào)文時(shí)會(huì)出現(xiàn)崩潰。
(2) DOS攻擊。利用合理的服務(wù)請(qǐng)求來占用過多的服務(wù)資源,目標(biāo)服務(wù)系統(tǒng)無法提供正常的服務(wù)或資源訪問,停止響應(yīng)甚至崩潰,從而使合法用戶無法得到服務(wù)的響應(yīng)。
(3)錯(cuò)誤邏輯請(qǐng)求。利用通信規(guī)約和系統(tǒng)邏輯漏洞,制造符合語法要求,但業(yè)務(wù)邏輯不合理的服務(wù)請(qǐng)求。
IEC 61850對(duì)裝置的行為并沒有做出硬性約束。一些ACSI/MMS服務(wù)超出一般需求范圍,屬于DOS攻擊和反邏輯請(qǐng)求。
(1) 頻繁請(qǐng)求Read服務(wù),如高頻率注冊(cè)報(bào)告控制塊,高頻率總召,超出正常需求。
(2) 頻繁請(qǐng)求Write服務(wù),如短時(shí)間內(nèi)連續(xù)多次切換定值區(qū)、修改定值、投退壓板和斷路器。
(3) 多客戶端服務(wù)不合邏輯,如使用FileClose服務(wù)關(guān)閉其他客戶端通過FileOpen創(chuàng)建和FileRead使用的讀寫句柄(系統(tǒng)總是從一個(gè)整數(shù)開始按照規(guī)則順序分配句柄,試探攻擊者并不需要試探整個(gè)句柄空間),一個(gè)客戶端切換定值區(qū)后另一個(gè)客戶端緊接著切換到另一個(gè)定值區(qū)。
(4) 頻繁通斷TCP連接。
(5) 不完整流程,如投退壓板時(shí)僅預(yù)選但不執(zhí)行,讀錄波文件僅讀取其中部分就結(jié)束。
這些行為雖完全符合IEC 61850規(guī)范,但對(duì)一般變電站而言屬于異常行為范疇,是隱藏在合法報(bào)文中的非法操作。
針對(duì)這些攻擊,MMS-BFD在TLS解密報(bào)文后,接下來先后分三個(gè)模塊處理,見圖1。
(1) MMS解碼模塊。解析MMS報(bào)文,過濾畸形報(bào)文。
(2) 特征檢測(cè)模塊。根據(jù)具體場(chǎng)景,檢測(cè)服務(wù)請(qǐng)求是否合理,是否允許執(zhí)行。
(3) 服務(wù)模塊。執(zhí)行服務(wù),或拒絕服務(wù)(如向客戶端發(fā)送否定響應(yīng)報(bào)文)。這是最后一道防護(hù),執(zhí)行服務(wù)程序根據(jù)裝置狀態(tài)執(zhí)行成功或失敗。
圖1 三層安全防護(hù)結(jié)構(gòu)
MMS解碼模塊、服務(wù)模塊是實(shí)現(xiàn)IEC 61850通信必不可缺的基本模塊。MMS解碼模塊對(duì)畸形報(bào)文檢測(cè)的強(qiáng)度隨系統(tǒng)不同而有所差異,本文不深入探討。
特征檢測(cè)模塊是防DOS攻擊和反邏輯請(qǐng)求的主要模塊,是一般IEC 61850程序中不具備的功能。
特征檢測(cè)模塊針對(duì)解析MMS后得到的客戶端服務(wù)請(qǐng)求,做深層次行為解析,判斷其是否合理,是否符合正常業(yè)務(wù)邏輯。
客戶端的服務(wù)請(qǐng)求可抽象為兩類行為特征。
(1) 獨(dú)立行為特征。這類特征僅跟一個(gè)特定客戶端的行為有關(guān),不涉及其他客戶端。例如:?jiǎn)蝹€(gè)客戶端注冊(cè)報(bào)告控制塊頻率、單個(gè)客戶端獲取VMD中的對(duì)象列表的次數(shù)。
(2) 關(guān)聯(lián)行為特征。這類行為特征跟多個(gè)客戶端的行為相關(guān)。例如:某客戶端在其他客戶端切換定值區(qū)后,又下達(dá)切區(qū)命令切回去。從單個(gè)客戶端來看,切區(qū)是正常操作;而從多客戶端角度連貫起來看,屬于可疑操作。
根據(jù)繼電保護(hù)裝置的部署環(huán)境,裝置行為特征用計(jì)數(shù)器、計(jì)時(shí)器、行為鏈等形式表示,但不局限于這些形式。
(1) 計(jì)數(shù)器。計(jì)數(shù)器用于統(tǒng)計(jì)客戶端在一段時(shí)間內(nèi)同一類行為發(fā)生次數(shù)。一旦次數(shù)超過閾值,裝置就啟動(dòng)防護(hù)。
(2) 計(jì)時(shí)器。計(jì)時(shí)器用于記錄一個(gè)行為在多久之前發(fā)生。
(3) 行為鏈。行為鏈記錄客戶端一連串相關(guān)行為及行為的時(shí)間間隔。行為鏈的每個(gè)節(jié)點(diǎn)表示一個(gè)行為的發(fā)生,用五元組表示:
Action = {Client,Time,Code,Object,Para}
其中,Client為客戶端識(shí)別碼;Time為距上一行為的時(shí)間;Code為操作碼;Object為操作對(duì)象;Para為操作參數(shù)。
例如,把“客戶端A切換定值區(qū)至1,過了0.5 s后B客戶端切至2,再過0.3 s后A又切換至3”,切區(qū)為鏈如圖2所示。
圖2 切區(qū)行為鏈
為了不占用過多內(nèi)存,行為鏈在數(shù)據(jù)結(jié)構(gòu)上采用隊(duì)列的形式。節(jié)點(diǎn)數(shù)達(dá)到閾值時(shí),刪除最早入隊(duì)的行為節(jié)點(diǎn)。
一條行為鏈要求操作碼Code必須具有關(guān)聯(lián)性,操作碼可在裝置配置文件中約定。
MMS-BFD通過入侵檢測(cè),來防御客戶端攻擊。入侵檢測(cè)采用DPI方法,把客戶端報(bào)文的語義歸結(jié)并反映成行為特征,再根據(jù)行為特征判斷是否遭遇攻擊,再通過防御策略抵御攻擊。
MMS-BFD部署的前提是能夠解密報(bào)文,暴露應(yīng)用層內(nèi)容。根據(jù)IEC 62351對(duì)MMS報(bào)文加密后,只有通信兩端能加解密報(bào)文。因此,把DPI部署到保護(hù)測(cè)控裝置上,作為IEC 61850程序的一部分。
MMS深度報(bào)文檢測(cè)模塊分為四層。
(1)分揀層。接收MMS解析模塊的解析結(jié)果(參數(shù)集),把參數(shù)規(guī)格化后分揀,形成若干參數(shù)子集,輸入至特征層節(jié)點(diǎn)。
(2)特征層。本層節(jié)點(diǎn)是一系列計(jì)數(shù)器、計(jì)時(shí)器、行為鏈。設(shè)單客戶特征有n個(gè),對(duì)應(yīng)標(biāo)號(hào)為FS1,FS2,…,FSn,n∈[0,+∞),多客戶端特征有m個(gè),對(duì)應(yīng)標(biāo)號(hào)為FM1,FM2,…,FMm,m∈[0,+∞)。特征層節(jié)點(diǎn)接收分揀層格式化后的參數(shù)集,計(jì)算相應(yīng)結(jié)果。
(3)狀態(tài)層。本層節(jié)點(diǎn)是一系列狀態(tài)機(jī),單客戶特征有p個(gè),對(duì)應(yīng)標(biāo)號(hào)為SS1,SS2,…,SSp,p∈[0,+∞),多客戶端特征有q個(gè),對(duì)應(yīng)標(biāo)號(hào)為FM1,FM2,…,FMq,q∈[0,+∞)。狀態(tài)層節(jié)點(diǎn)接收特征層的特征計(jì)算結(jié)果,經(jīng)過狀態(tài)變遷運(yùn)算,得出新的狀態(tài)。
(4)決策層。本層綜合各個(gè)狀態(tài)層節(jié)點(diǎn)的輸出狀態(tài),計(jì)算出是否提供客戶端請(qǐng)求的服務(wù)。
MMS深度檢測(cè)結(jié)構(gòu)見圖3。
圖3 MMS深度檢測(cè)結(jié)構(gòu)
基于MMS深度檢測(cè)結(jié)構(gòu),裝置根據(jù)一系列配置的閾值來探測(cè)攻擊的發(fā)生。
決策層為裝置是否響應(yīng)客戶端服務(wù)請(qǐng)求提供了依據(jù),但決策結(jié)果不應(yīng)僅僅影響本次服務(wù)。
決策層應(yīng)當(dāng)具有反饋機(jī)制,影響前面流程的執(zhí)行。在拒絕服務(wù)后,分揀層的MMS解碼模塊甚至TCP/IP協(xié)議棧,都可對(duì)相應(yīng)客戶端采取處罰措施,丟棄相關(guān)請(qǐng)求或閉鎖相關(guān)功能。
控制塊的配置與具體應(yīng)用部署相關(guān)。既可將配置以xml格式嵌入擴(kuò)展的ICD模型文件,也可在裝置flash中新建專門的配置文件。
配置的主要目的是設(shè)置防御參數(shù),建立檢測(cè)和防御體系。
根據(jù)典型變電站特性,客戶端關(guān)閉comtrade文件句柄行為的限制如下。
R1:該句柄必須為本客戶端打開;
R2:不能頻繁讀取同一個(gè)錄波文件。設(shè)1 h內(nèi)只能讀一次;
R3:一個(gè)客戶端不得關(guān)閉其他客戶端打開的句柄。
根據(jù)這些需求,構(gòu)造狀態(tài)層節(jié)點(diǎn)。
SS1:該客戶端的讀文件狀態(tài),分為離線、在讀、異常三個(gè)狀態(tài),見圖4。
圖4 文件操作狀態(tài)層節(jié)點(diǎn)SS1
為R1在特征層設(shè)置行為鏈FS1,行為鏈節(jié)點(diǎn)的Para字段為客戶端Client操縱的文件句柄FileID。
為R2在特征層設(shè)置計(jì)時(shí)器FS2,記錄從上一次讀取該comtrade文件開始所經(jīng)歷的時(shí)間t,用min_t表示讀同一錄波文件的最短間隔時(shí)間。
R3復(fù)用FS1,若FileClose節(jié)點(diǎn)的FileID與前一行為節(jié)點(diǎn)一致,則FS1向SS1傳入“合法FileClose”信號(hào),否則傳入“違反R3的FileClose”。
SS1在狀態(tài)躍遷后,向決策層傳達(dá)MMS指令及狀態(tài)。向裝置執(zhí)行模塊程序下達(dá)提供或拒絕服務(wù)的指令,由執(zhí)行模塊執(zhí)行相關(guān)操作并生產(chǎn)應(yīng)答報(bào)文。
本文提出的MMS行為特征檢測(cè),是對(duì)TLS安全防護(hù)的有效補(bǔ)充。即使客戶端被物理的、網(wǎng)絡(luò)的方式攻破,裝置也能在一定程度上,從語義層面抵御非法服務(wù)請(qǐng)求。
三層安全防護(hù)結(jié)構(gòu)需消耗CPU資源,如何在有限的軟硬件資源下實(shí)現(xiàn)最大化防護(hù),盡量減小對(duì)繼電保護(hù)裝置工作效率的影響,是下一步研究?jī)?nèi)容。
參考文獻(xiàn):
[1] 劉念,余星火,張建華. 網(wǎng)絡(luò)協(xié)同攻擊: 烏克蘭停電事件的推演與啟示[J].電力系統(tǒng)自動(dòng)化,2016,40(6):144-147.
LIU Nian,YU Xinghuo,ZHANG Jianhua. Coordinated Cyber-attack: Inference and Thinking of Incident on Ukrainian Power Grid[J].Electric Power System Automation, 2016,40(6) :144-147.
[2]IEC 61850:Communication Networks and Systems in Substations [S].
[3]IEC 62351:Data and Communication Security [S].
[4]IETF.RFC 5246:The Transport Layer Security (TLS) Protocol [S].