本發(fā)明屬于工業(yè)控制系統(tǒng)網(wǎng)絡信息安全技術領域,尤其涉及一種基于iec61850的電力工業(yè)控制網(wǎng)絡入侵檢測方法及系統(tǒng)。
背景技術:
工業(yè)控制系統(tǒng)是以計算機為基礎的生產(chǎn)過程控制與調(diào)度自動化系統(tǒng),它可以對現(xiàn)場的運行設備進行監(jiān)視和控制,在電力、石油、化工等關鍵基礎設施的工業(yè)控制系統(tǒng)中發(fā)揮著重要作用。隨著工業(yè)控制系統(tǒng)的復雜性和互連性不斷增加,惡意網(wǎng)絡攻擊的可能性也大幅增加。遵循傳統(tǒng)通信協(xié)議的工業(yè)控制網(wǎng)絡,在設計之初對網(wǎng)絡安全威脅的考慮往往不足。不斷發(fā)展的工業(yè)控制系統(tǒng)可能被惡意攻擊者或心懷不滿的內(nèi)部員工視為攻擊的重點目標,在未經(jīng)授權的情況下利用系統(tǒng)脆弱點實現(xiàn)非法訪問和控制。這種入侵可能是一些簡單或高級持續(xù)的攻擊,并可能危及工業(yè)控制系統(tǒng)的安全穩(wěn)定運行。國內(nèi)外工業(yè)界和學術界對電力工控系統(tǒng)網(wǎng)絡安全問題愈加重視并更加關注,電力工業(yè)控制系統(tǒng)網(wǎng)絡信息安全問題已經(jīng)成為關系電力系統(tǒng)安全、可靠和穩(wěn)定運行的工程實際問題。
隨著新的信息安全威脅的出現(xiàn),已有的針對一般it安全的方法,與基于iec61850標準的電力工控系統(tǒng)的運行場景不能完全兼容。例如,傳統(tǒng)的it安全設備如防火墻、入侵檢測系統(tǒng)(ids)一般是無法解釋這種通信的應用層數(shù)據(jù)。雖然iec62351標準為基于iec61850協(xié)議的網(wǎng)絡安全規(guī)定定義了一個框架,但廠家一般不會對其智能電子設備(ied)實施適當?shù)姆雷o。在廠商響應速度緩慢的情況下,電網(wǎng)公司如何應對安全漏洞,使其能夠檢測和減輕再次出現(xiàn)的威脅成為亟待解決的問題。然而,現(xiàn)階段的入侵檢測方法還不能解決這類問題。
目前已經(jīng)發(fā)布的適用于電力工控系統(tǒng)的入侵檢測方法主要針對dnp3、ethernet/ip和modbustcp協(xié)議,這些snort檢測規(guī)則可以識別未經(jīng)授權的請求、不正確格式的協(xié)議請求及響應、較少使用且危險的命令,以及其它可能的攻擊情況。但基于iec61850的電力工控網(wǎng)絡入侵檢測系統(tǒng)的研究仍處于初期階段。iec61850傳輸協(xié)議已被廣泛應用于電力工控系統(tǒng)中(如智能變電站)。智能變電站工控網(wǎng)絡中的數(shù)據(jù)以明文方式進行傳輸,導致信息傳輸可能存在被竊聽、嗅探或篡改的風險。例如,攻擊者可以發(fā)起中間人攻擊(mitm)以嗅探和收集遙測值、遠程控制命令或其它遠程信號。在每種情況下,它們可以被纂改后重新注入到通信系統(tǒng)中,將危及電力工控系統(tǒng)的穩(wěn)定性或降低系統(tǒng)的安全性,還可能在未來發(fā)起進一步的攻擊。由于傳統(tǒng)電力工業(yè)系統(tǒng)缺乏控制指令認證機制,惡意攻擊者可能會未經(jīng)授權訪問工控系統(tǒng),破壞信息的完整性和可用性,發(fā)起欺騙攻擊、重放攻擊和中間人攻擊,可能導致災難性的損害并危及系統(tǒng)的安全運行?,F(xiàn)有的基于iec61850的入侵檢測系統(tǒng)存在著以下不足:(1)不能有效防范“零日攻擊”(未知威脅或未被發(fā)現(xiàn)的漏洞);(2)受報文制造規(guī)范(mms)和面對通用對象的變電站事件(goose)消息的影響,使得多數(shù)統(tǒng)計分析檢測方法產(chǎn)生錯誤否定,錯過真正攻擊;(3)檢測精度有待提高,未能適應實際變電站。
技術實現(xiàn)要素:
發(fā)明目的:為解決現(xiàn)有技術中存在的問題,本發(fā)明提出了一種基于iec61850的電力工業(yè)控制網(wǎng)絡入侵檢測方法及系統(tǒng)。
技術方案:一種基于iec61850的電力工業(yè)控制網(wǎng)絡入侵檢測方法,包括:
acd訪問控制檢測:用于在初始感染階段,防止試圖與控制服務器通信的惡意軟件活動和攻擊;其包括從捕獲的報文中提取目的和源ip地址、目的和源mac地址或端口,并與預先建立的訪問控制白名單進行比較,如果所述ip地址、mac地址或端口不屬于所述的訪問控制白名單,則視為可疑的ip地址、mac地址或端口;如果屬于所述的訪問控制白名單,則視為正常的ip地址、mac地址或端口;
pwd協(xié)議白名單檢測:用于檢測變電站站控層網(wǎng)絡和過程層網(wǎng)絡中的異常協(xié)議流量并告警;其包括對站控層網(wǎng)絡和過程層網(wǎng)絡的支持的各種協(xié)議進行設置,所述各種協(xié)議包括mms、cotp、tpkt、sntp、goose、smv和ieee1588;對于所述站控層網(wǎng)絡,僅允許符合mms、cotp、tpkt或sntp協(xié)議的通信業(yè)務,否則將認為是可疑通信而生成告警信息;對于所述過程層網(wǎng)絡,只允許goose、sv或ieee1588流量,否則將認為是可疑流量而生成告警信息;
mbd基于模型的檢測:用于檢測站控層網(wǎng)絡和過程層網(wǎng)絡中惡意攻擊或無意異常的行為;其包括分析scd文件和iec61850報文內(nèi)容,并將檢測的報文與使用協(xié)議分析定義的正常行為模型進行比較,如果出現(xiàn)違反任何正常行為模型的情形,將生成告警并記錄檢測結果;
mpd基于多參數(shù)的檢測:用于通過監(jiān)測智能變電站的參數(shù)來識別由于內(nèi)部無意誤用或外部惡意攻擊而導致的威脅;其包括對來自站控層網(wǎng)絡和過程層網(wǎng)絡的遙測數(shù)據(jù)和遙信數(shù)據(jù)進行的檢測,通過同源比對識別異常數(shù)據(jù),當同源數(shù)據(jù)不一致時,視為異常數(shù)據(jù);具體為遙信比較檢測和遙測比較檢測。
進一步的,所述acd訪問控制檢測中,建立的訪問控制白名單包括數(shù)據(jù)鏈路層中的mac地址、網(wǎng)絡層中的ip地址和傳輸層端口的訪問控制白名單。
進一步的,所述acd訪問控制檢測中,對所述視為可疑的ip地址、mac地址或端口,還將采取預設的動作,其具體為:在ids模式下發(fā)出警報,在ips模式下阻止,并記錄檢測結果;如下式(1):
其中,ac=macsrc,macdst,ipsrc,ipdst,portsrc,portdst,acwl表示建立的訪問控制白名單;macsrc,macdst,ipsrc,ipdst,portsrc,portdst分別表示源mac地址和目的mac地址,源ip地址和目的ip地址,以及源端口和目的端口;每個主機或設備都有唯一的<ip,mac>匹配;如果智能電子設備沒有被新的裝置替換,但如果兩個或多個mac地址對應相同的ip地址,即判斷為發(fā)生欺騙攻擊。
進一步的,所述對站控層網(wǎng)絡進行的mbd基于模型的檢測具體為:
在站控層網(wǎng)絡中,基于映射到mms的acsi或sntp建立正常行為模型,如果違反任何正常行為模型,將生成告警并記錄檢測結果;所述正常行為模型的建立如下:
a)報告服務模型
在scd文件中,已配置每個智能電子設備的可實例化報告控制塊的最大數(shù)量;所提出的報告服務模型將每個智能電子設備的可實例化報告控制塊的最大數(shù)目定義為檢測規(guī)則;如果識別可能占用智能電子設備的所有可實例化報告控制塊的異常連接請求,則告警可疑拒絕服務dos攻擊并記錄檢測結果;
b)關聯(lián)服務模型
關聯(lián)服務模型定義了可連接的iec61850客戶端的最大數(shù)量;如果檢測到對客戶端的異常連接請求,則產(chǎn)生告警并記錄檢測結果;
c)設置服務模型
設置服務模型定義僅允許iec61850客戶端修改設置,如果違反該定義,將發(fā)出告警信息。
d)文件傳輸模型
acsigetfile服務由客戶端用于將文件的內(nèi)容從服務器傳輸?shù)娇蛻舳?,客戶端使用acsigetfileattributevalues服務來獲取服務器文件存儲中的特定文件的名稱和屬性,文件傳輸模型定義了iec61850客戶端只能傳輸單個文件,如果違反此定義,將生成告警并記錄檢測結果;
e)sntp模型
在變電站網(wǎng)絡中,sntp用于通過lan通信實現(xiàn)時間同步,sntp流量在傳輸層采用用戶數(shù)據(jù)報協(xié)議,在sntp流量方面,到iec61850服務器的用戶數(shù)據(jù)報協(xié)議連接的端口號應為<123>,如果sntp流量的端口號不是<123>,將觸發(fā)告警并將結果保存在日志文件中;
f)時間相關模型
重要的控制命令具有時間相關的約束,該約束包括時間間隔限制和頻率限制,如果相同的合法命令發(fā)送太頻繁,則違反式(2)(3)規(guī)則,在每種情況下,將啟動一些告警和日志動作:
cv(n)-cv(n-1)<t→actions(alert,log)(2)
式(2)中cv是控制命令,n是正整數(shù)(n>1),并且t是時間間隔的極限;
式(3)中f表示頻率限制。
進一步的,所述對過程層網(wǎng)絡進行的mbd基于模型的檢測具體為:在過程層網(wǎng)絡中,基于goose和smv協(xié)議規(guī)范建立所述正常行為模型,如果違反任何正常行為模型,將生成告警并記錄檢測結果;gooseapdu具有十二個字段為gocbref,timeallowedtolive,datset,goid,t,stnum,sqnum,test,confrev,ndscom,numdatsetentries和alldata;根據(jù)iec61850-9-2、smv數(shù)據(jù)報在數(shù)據(jù)鏈路層中采用iso/iec8802-3;svapdu具有svid,smpcnt,confrev,smpsynch和seqdata五個字段,所述正常行為模型定義如下:
a)目的地址模型
在scd文件<communication>→<subnetwork>→<connectedap>中配置目的iso/iec8802-3多播地址用于傳輸goose/smv;goose報文和smv報文的目的地址字段分別以四個八位字節(jié)01-0c-cd-01和01-0c-cd-04開始。goose和smv的目的地地址如式(4)和(5):
式(4)中p是過程層網(wǎng)絡中捕獲的報文,pgoose表示goose報文,dstafield表示iso/iec8802-3幀格式中的目的地址字段的值;
式(5)中psmv表示smv報文;
b)tpid字段模型
標簽協(xié)議標識符字段2個八位字節(jié)顯示為802.1q以太網(wǎng)編碼幀分配的以太網(wǎng)類型;goose/smv報文中的tpid字段的值應為0x8100,即
其中tpidfield表示tpid字段的值,并且pgoose/smv表示goose或smv報文;
c)ethertype字段模型
iso/iec8802-3的ethertype字段2個字節(jié)由ieee授權機構注冊,goose和smv的分配的ethertype值分別是0x88b8和0x88ba,即式(7)(8):
其中ethtfield是ethertype字段的值;
d)優(yōu)先級域模型
定義goose和smv報文的優(yōu)先級值,goose/smv的默認值為4,同時在scd文件中配置,優(yōu)先級值應該從0到7,即式(9):
式(9)中priofield是用戶優(yōu)先級字段的值;
e)appid字段模型
每個goose/smv控制塊在scd文件中具有唯一的appid,goose報文的appid字段2個八位字節(jié)是4位十六進制[0000-3fff],并且smv報文的字段是[4000-7fff],如式(10)和(11):
f)長度模型
goose/smv報文的長度字段2個八位字節(jié)指定從appid到apdu開始的幀中的字節(jié)總數(shù),其等于8+m,其中,m是apdu的長度,m<1492,長度字段模型如式(12):
其中l(wèi)engfield是長度字段的值;
gooseapdu中的good字段的長度小于65字節(jié),即式(13),
其中l(wèi)engoidfield是good字段的長度;
g)timeallowedtolive字段模型
gooseapdu中的timeallowedtolive字段應為doublemaxtime(2t0)?!癿axtime”通常在scd文件中配置為<5000>、<communication>→<subnetwork>→<connectedap>→<gse>→<maxtime>;如果在10000ms內(nèi)沒有任何goose數(shù)據(jù)包,將發(fā)送通信中斷報警;
h)標記字段模型
在goose標記字段模型中,goose報文的gocbref,timeallowedtolive,datset,goid,t,stnum,sqnum,test,confrev,ndscom和numdatsetentries字段的標記值是0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89和0x8a。在smv標簽字段模型中,smv報文的svid,smpcnt,confrev和smpsynch字段的標簽值分別為0x80,0x82,0x83和0x85;
i)smpcnt字段模型
smpcnt字段模型指定計數(shù)器的值,其在每次采樣模擬值的新樣本時遞增;當合并單元mu的采樣率為4000hz時,其中,80個采樣/周期,smpcnt的值在[0,3999]的范圍內(nèi)保持正確的順序,即式(14),
其中smpcfield是smpcnt字段的值;
j)相關模型
根據(jù)智能變電站的實際scd配置,appid字段等于目的地址字段的最后兩個八位字節(jié),被定義為相關域模型,即式(15):
其中dstafield(p)5,6表示目的地址字段的最后兩個八位字節(jié);
gooseapdu中的gocbref字段的類型是包括邏輯設備ld名稱、邏輯節(jié)點ln名稱、功能約束fc和控制塊cb名稱的字符串,即ld/ln$fc$cb;gooseapdu中的datset字段包括ld名稱、ln名稱和數(shù)據(jù)集ds名稱,即ld/ln$ds;gooseapdu中的goid字段的默認值類似于gobi參考字段的默認值,即ld/ln$cb;gocoref字段中的ld/ln值與dataset字段中的ld/ln值匹配;gocoref字段中的控制塊名稱與goid字段中的控制塊名稱匹配;gocbref:pm5001apigo/lln0$go$gocb1,dataset:pm5001apigo/lln0$dsgoose1,goid:pm5001apigo/lln0.gocb1,對應的相關字典模型如式(16):
其中gibfield,datsfield和goidfield分別表示gobiref,dataset和goid字段;
gooseapdu中的狀態(tài)數(shù)量stnum和序列號sqnum的變化嚴格遵守相關聯(lián)的行為模式;當發(fā)送的goose消息中datset的值改變時,stnum的值將增加,這將導致sqnum的值被設置為零;當stnum的值沒有變化時,sqnum的值將對每個goose傳輸遞增,但是它將在其最大值sqnummax=4,294,967,295處翻轉(zhuǎn)到0:
式(17)中stnum(gpi)和sqnum(gpi)分別表示第i個goose報文的stnum和sqnum值;
k)基于流量的模型
根據(jù)從實際變電站場景捕獲的業(yè)務,基于業(yè)務的模型定義了每秒報文傳輸速率pps、每秒傳輸字節(jié)大小bps、報文長度lop和報文大小sop的上限和下限閾值,作為正常流量行為,如式(18):
其中ppsmin和ppsmax表示pps的下限和上限閾值。
進一步的,所述遙信比較檢測具體為:在iec61850智能變電站中,過程層網(wǎng)絡中的智能電子設備采用goose報文來向間隔層中的智能電子設備發(fā)送遙信數(shù)據(jù),并從保護或測控裝置接收跳閘/合閘指令;所述遙信比較檢測通過比較goose報文和相關聯(lián)的mms報文來識別異常事件;如果過程層網(wǎng)絡中保護智能電子設備goose報文的開入信號和來自站控層網(wǎng)絡的相關聯(lián)的信號報告mms報文不一致,則將發(fā)生異常告警。
進一步的,所述遙測比較檢測具體為:在iec61850智能變電站中,合并單元mu具有采樣值模型,并向保護測控裝置發(fā)送sv消息,所述遙測比較檢測包含兩個規(guī)則:
a)范圍檢測規(guī)則
采樣值具有上邊界值和下邊界值,如果測量值在預期范圍之外,則發(fā)出告警,即式(19):
其中smv(i)(i=i,u,...)表示不同的采樣值,電流i和電壓u;[smv(i)min-e(i),smv(i)max+e(i)]代表上下邊界之間的范圍,e(i)是測量公差,在正常操作情況下,根據(jù)變電站的設計和操作規(guī)范配置上下邊界,500(330)kv變電站的總線電壓上、下邊界設置為90%和110%額定電壓。
b)一致性檢測規(guī)則
間隔層中的雙重化配置智能電子設備為a和b組,從關聯(lián)的電流互感器ct/電壓互感器vt接收相同的mu采樣值,檢測已配置的合并單元smv參數(shù)和相關聯(lián)的多個保護設備的mms之間的不一致性,遙測比較的參數(shù)包括電壓、電流和差動電流,如果違反一致性檢測規(guī)則,將發(fā)生異常告警。
本發(fā)明還提供一種基于iec61850的電力工業(yè)控制網(wǎng)絡入侵檢測系統(tǒng),包括:
acd訪問控制檢測模塊:該模塊用于在初始感染階段,防止試圖與控制服務器通信的惡意軟件活動和攻擊;其通過預先建立的數(shù)據(jù)鏈路層中的mac地址、網(wǎng)絡層中的ip地址和傳輸層端口的訪問控制白名單進行檢測,從捕獲的報文中提取目的和源ip地址、目的和源mac地址或端口,并與建立的訪問控制白名單進行比較,如果所述ip地址、mac地址或端口不屬于所述的訪問控制白名單,則視為可疑的ip地址、mac地址或端口,該模塊將采取預設的動作;如果屬于所述的訪問控制白名單,則視為正常的ip地址、mac地址或端口;
pwd協(xié)議白名單檢測模塊:該模塊用于檢測變電站站控層網(wǎng)絡和過程層網(wǎng)絡中的異常協(xié)議流量并告警;其通過設置站控層網(wǎng)絡和過程層網(wǎng)絡的支持的各種協(xié)議,建立協(xié)議白名單進行檢測,所述各種協(xié)議包括mms、cotp、tpkt、sntp、goose、smv和ieee1588;對于所述站控層網(wǎng)絡,該模塊僅允許符合mms、cotp、tpkt或sntp協(xié)議的通信業(yè)務,否則將認為是可疑通信而生成告警信息;對于所述過程層網(wǎng)絡,該模塊只允許goose、sv或ieee1588流量,否則將認為是可疑流量而生成告警信息;
mbd基于模型的檢測模塊:該模塊用于檢測站控層網(wǎng)絡和過程層網(wǎng)絡中惡意攻擊或無意異常的行為;其通過分析scd文件和iec61850報文內(nèi)容,并將檢測的報文與使用協(xié)議分析定義的正常行為模型進行比較,如果出現(xiàn)違反任何正常行為模型的情形,將生成告警并記錄檢測結果;
mpd基于多參數(shù)的檢測模塊:該模塊用于通過監(jiān)測智能變電站的參數(shù)來識別由于內(nèi)部無意誤用或外部惡意攻擊而導致的威脅;其通過對來自站控層網(wǎng)絡和過程層網(wǎng)絡的遙測數(shù)據(jù)和遙信數(shù)據(jù)進行的檢測,通過同源比對識別異常數(shù)據(jù),當同源數(shù)據(jù)不一致時,視為異常數(shù)據(jù);具體包括遙信比較檢測模塊和遙測比較檢測模塊。
進一步的,所述acd訪問控制檢測模塊將采取預設的動作具體為:在ids模式下發(fā)出警報,在ips模式下阻止,并記錄檢測結果;如下式(1):
其中,ac=macsrc,macdst,ipsrc,ipdst,portsrc,portdst,acwl表示建立的訪問控制白名單;macsrc,macdst,ipsrc,ipdst,portsrc,portdst分別表示源mac地址和目的mac地址,源ip地址和目的ip地址,以及源端口和目的端口;每個主機或設備都有唯一的<ip,mac>匹配;如果智能電子設備沒有被新的裝置替換,但如果兩個或多個mac地址對應相同的ip地址,即該模塊判斷為發(fā)生欺騙攻擊。
有益效果:本發(fā)明提高了基于iec61850協(xié)議的工控系統(tǒng)的網(wǎng)絡安全性,提出了適用于基于iec61850的工控網(wǎng)絡入侵檢測方法及系統(tǒng),集成了電力業(yè)務知識、協(xié)議規(guī)范和邏輯行為,是一種能夠減輕多種網(wǎng)絡攻擊的綜合有效的解決方案。本發(fā)明包括訪問控制檢測、協(xié)議白名單檢測、基于模型的檢測和基于多參數(shù)的檢測。其中,訪問控制檢測可以防止試圖與控制服務器通信的惡意軟件活動和攻擊,在初始感染階段尤為有效;協(xié)議白名單檢測可檢測變電站站控層和過程層網(wǎng)絡中的異常協(xié)議流量并告警;基于模型的異常行為檢測方法具有發(fā)現(xiàn)站控層和過程層網(wǎng)絡中惡意攻擊或無意異常的潛力;基于多參數(shù)的檢測通過監(jiān)測智能變電站的最敏感的參數(shù)來識別由于內(nèi)部無意誤用或外部惡意攻擊而導致的針對工控系統(tǒng)的可能威脅。本發(fā)明在模擬實際500kv智能變電站的網(wǎng)絡物理試驗平臺進行驗證,證實了入侵檢測方法的實時性和可用性。
附圖說明
圖1為本發(fā)明的流程圖;
圖2為本發(fā)明中遙信比較檢測的流程圖;
圖3為本發(fā)明中一致性檢測的流程圖。
具體實施方式
下面將結合附圖,對本發(fā)明的實施案例進行詳細的描述;
如圖1所示,本發(fā)明所述的一種基于iec61850的電力工業(yè)控制網(wǎng)絡入侵檢測方法包括:
acd訪問控制檢測:用于在初始感染階段,防止試圖與控制服務器通信的惡意軟件活動和攻擊;其包括建立數(shù)據(jù)鏈路層中的mac地址、網(wǎng)絡層中的ip地址和傳輸層端口的訪問控制白名單,如果任何地址或端口不在相應的白名單中,將采取預設的動作;
pwd協(xié)議白名單檢測:用于檢測變電站站控層網(wǎng)絡和過程層網(wǎng)絡中的異常協(xié)議流量并告警;其包括對站控層網(wǎng)絡和過程層網(wǎng)絡的支持的各種協(xié)議進行設置,建立協(xié)議白名單,所述各種協(xié)議包括mms、cotp、tpkt、sntp、goose、smv和ieee1588;對于所述站控層網(wǎng)絡,僅允許符合mms、cotp、tpkt或sntp正常協(xié)議的通信業(yè)務,否則將認為是可疑通信而生成告警信息;對于所述過程層網(wǎng)絡,只允許goose、sv或ieee1588正常流量,否則將認為是可疑流量而生成告警信息;
mbd基于模型的檢測:用于檢測站控層網(wǎng)絡和過程層網(wǎng)絡中惡意攻擊或無意異常的行為;其包括分析scd文件(substationconfigurationdescription,全站系統(tǒng)配置文件)和正常的iec61850報文內(nèi)容,使用深入的協(xié)議分析定義正常行為模型,并將檢測的報文與正常行為模型進行比較,構建檢測模型識別異常偏差;
mpd基于多參數(shù)的檢測:用于通過監(jiān)測智能變電站的最敏感的參數(shù)來識別由于內(nèi)部無意誤用或外部惡意攻擊而導致的威脅;其包括對來自站控層網(wǎng)絡和過程層網(wǎng)絡的遙測和遙信數(shù)據(jù)進行的檢測,識別異常,具體為遙信比較檢測和遙測比較檢測。
同時,本發(fā)明還提供一種能實現(xiàn)上述基于iec61850的電力工業(yè)控制網(wǎng)絡入侵檢測煩方法的系統(tǒng),包括:
acd訪問控制檢測模塊:該模塊用于在初始感染階段,防止試圖與控制服務器通信的惡意軟件活動和攻擊;其通過建立數(shù)據(jù)鏈路層中的mac地址、網(wǎng)絡層中的ip地址和傳輸層端口的訪問控制白名單進行檢測,如果任何地址或端口不在相應的白名單中,該模塊將采取預設的動作;
pwd協(xié)議白名單檢測模塊:該模塊用于檢測變電站站控層網(wǎng)絡和過程層網(wǎng)絡中的異常協(xié)議流量并告警;其通過設置站控層網(wǎng)絡和過程層網(wǎng)絡的支持的各種協(xié)議,建立協(xié)議白名單進行檢測,所述各種協(xié)議包括mms、cotp、tpkt、sntp、goose、smv和ieee1588;對于所述站控層網(wǎng)絡,該模塊僅允許符合mms、cotp、tpkt或sntp正常協(xié)議的通信業(yè)務,否則將認為是可疑通信而生成告警信息;對于所述過程層網(wǎng)絡,該模塊只允許goose、sv或ieee1588正常流量,否則將認為是可疑流量而生成告警信息;
mbd基于模型的檢測模塊:該模塊用于檢測站控層網(wǎng)絡和過程層網(wǎng)絡中惡意攻擊或無意異常的行為;其通過分析scd文件和正常的iec61850報文內(nèi)容,使用深入的協(xié)議分析定義正常行為模型,并將檢測的報文與正常行為模型進行比較,構建檢測模型來識別異常偏差;
mpd基于多參數(shù)的檢測模塊:該模塊用于通過監(jiān)測智能變電站的最敏感的參數(shù)來識別由于內(nèi)部無意誤用或外部惡意攻擊而導致的威脅;其通過對來自站控層網(wǎng)絡和過程層網(wǎng)絡的遙測和遙信數(shù)據(jù)進行的檢測,識別異常,具體包括遙信比較檢測模塊和遙測比較檢測模塊。
下面詳細描述本發(fā)明方法中各檢測的過程,同時也是本發(fā)明系統(tǒng)中各檢測模塊的實現(xiàn)過程:
(1)acd訪問控制檢測
acd是一種訪問控制白名單策略,其中包括數(shù)據(jù)鏈路層中的介質(zhì)訪問控制(mac)地址、網(wǎng)絡層中的ip地址和傳輸層中的端口。iec61850流量的tcp端口為<102>。如果任何地址或端口不在相應的白名單中,該ids將采取預設的動作。例如,在ids(intrusiondetectionsystem,入侵檢測系統(tǒng))模式下發(fā)出警報,在ips(intrusionpreventionsystem,入侵防御系統(tǒng))模式下阻止,并記錄檢測結果。如下式(1):
在這里,ac=macsrc,macdst,ipsrc,ipdst,portsrc,portdst,acwl表示相應的白名單集合。macsrc,macdst,ipsrc,ipdst,portsrc,portdst表示源mac和目的mac,源ip和目的ip,以及源端口和目的端口。
智能變電站二次系統(tǒng)中的每個主機或設備都有唯一的<ip,mac>匹配。如果ied設備沒有被新的裝置替換,但從兩個或多個mac地址對應相同的ip地址,這意味著可能發(fā)生欺騙攻擊。
(2)pwd協(xié)議白名單檢測
協(xié)議白名單檢測參考開放系統(tǒng)互連(osi)模型的第2-7層,處理智能變電站網(wǎng)絡的各種協(xié)議,例如mms、cotp、tpkt、簡單網(wǎng)絡時間協(xié)議(sntp)、goose、smv和ieee1588?;趇ec61850的典型變電站網(wǎng)絡包括站控層網(wǎng)絡和過程層網(wǎng)絡。對于站控層網(wǎng)絡,ids可以被設置為僅允許符合mms/cotp/tpkt/sntp等正常協(xié)議的通信業(yè)務。對于過程層網(wǎng)絡,ids只允許goose/sv/ieee1588等正常流量。在不同的情況下,ids可以設置為支持其它特定協(xié)議。例如,當ids部署在智能變電站過程層網(wǎng)絡時,僅允許goose/sv/ieee1588流量,否則將認為是可疑流量而生成告警信息。
(3)mbd基于模型的檢測
基于模型的檢測方法分析了scd文件和正常的iec61850報文內(nèi)容,使用深入的協(xié)議分析定義了正常行為模型,并將檢測的報文與正確行為模型進行比較,以識別異常偏差。基于模型的異常行為檢測方法具有檢測未知攻擊的潛力。與傳統(tǒng)it網(wǎng)絡相比,智能變電站中的工控網(wǎng)絡具有不同的特征,例如有規(guī)律的流量和可預測的行為模式,這可能會簡化行為模型。所提出的mbd具有發(fā)現(xiàn)站控層和過程層網(wǎng)絡中的惡意攻擊或無意異常的潛力。
1)針對站控層網(wǎng)絡的mbd
在站控層網(wǎng)絡中,異常行為檢測基于映射到mms的acsi或sntp。檢測模型定義如下,
a)報告服務模型
在scd文件中,已配置每個ied的可實例化報告控制塊的最大數(shù)量。所提出的報告服務模型將每個ied的可實例化報告控制塊的最大數(shù)目定義為檢測規(guī)則。如果mbd識別可能占用ied的所有可實例化報告控制塊的異常連接請求,則告警可疑拒絕服務(dos)攻擊并記錄檢測結果。
b)關聯(lián)服務模型
提出的關聯(lián)服務模型定義了可連接的iec61850客戶端的最大數(shù)量。如果mbd檢測到對客戶端的異常連接請求,則產(chǎn)生告警并記錄檢測結果。
c)設置服務模型
所提出的設置服務模型定義僅允許iec61850客戶端修改設置。在違反此模型時,mbd將發(fā)出告警信息。
d)文件傳輸模型
acsigetfile服務由客戶端用于將文件的內(nèi)容從服務器傳輸?shù)娇蛻舳恕?蛻舳耸褂胊csigetfileattributevalues服務來獲取服務器文件存儲中的特定文件的名稱和屬性。文件傳輸模型定義了iec61850客戶端只能傳輸單個文件。如果違反此規(guī)則,它將生成告警并記錄檢測結果。
e)sntp模型
在變電站網(wǎng)絡中,sntp用于通過lan通信實現(xiàn)時間同步。sntp流量在傳輸層采用用戶數(shù)據(jù)報協(xié)議(udp)。在sntp流量方面,到iec61850服務器的udp連接的端口號應為<123>。如果sntp流量的端口號不是<123>,mbd將觸發(fā)告警并將結果保存在日志文件中。
f)時間相關模型
重要的控制命令具有時間相關的約束,例如時間間隔限制和頻率限制。如果相同的合法命令發(fā)送太頻繁,則可能違反以下規(guī)則,如式(2)(3)。在每種情況下,ids將啟動一些動作(告警和日志)。
cv(n)-cv(n-1)<t→actions(alert,log)(2)
式(2)中cv是控制命令,n是正整數(shù)(n>1),并且t是時間間隔的極限。
式(3)中f表示頻率限制。
2)過程層的mbd
在過程層網(wǎng)絡中,模型檢測基于goose和smv協(xié)議規(guī)范。gooseapdu具有十二個字段,例如gocbref(控制塊引用),timeallowedtolive,datset(數(shù)據(jù)集引用),goid(gooseid),t(事件時間戳),stnum(狀態(tài)號),sqnum(測試標識符),test(測試位),confrev(配置修訂),ndscom(需要調(diào)試),numdatsetentries(數(shù)據(jù)集條目數(shù))和alldata。根據(jù)iec61850-9-2,smv數(shù)據(jù)報在數(shù)據(jù)鏈路層中采用iso/iec8802-3,類似于goose數(shù)據(jù)報。svapdu具有諸如svid(smv控制塊id),smpcnt(采樣計數(shù)器),confrev(配置修訂),smpsynch(采用同步)和seqdata(數(shù)據(jù)序列)的五個字段。部分檢測模型定義如下:
a)目的地址模型
在scd文件(<communication>→<subnetwork>→<connectedap>)中配置目的iso/iec8802-3多播地址用于傳輸goose/smv。goose報文和smv報文的目的地址字段(6個八位字節(jié))分別以四個八位字節(jié)(01-0c-cd-01)和(01-0c-cd-04)開始。goose和smv的目的地地址模型如(4)和(5),即:
式(4)中p是過程層網(wǎng)絡中捕獲的報文,pgoose表示goose報文,dstafield表示iso/iec8802-3幀格式中的目的地址字段的值。
式(5)中psmv表示smv報文。
b)tpid字段模型
標簽協(xié)議標識符(tpid)字段(2個八位字節(jié))顯示為802.1q以太網(wǎng)編碼幀分配的以太網(wǎng)類型。goose/smv報文中的tpid字段的值應為0x8100,即
其中tpidfield表示tpid字段的值,并且pgoose/smv表示goose或smv報文。
c)ethertype字段模型
iso/iec8802-3的ethertype字段(2個字節(jié))由ieee授權機構注冊。goose和smv的分配的ethertype值分別是0x88b8和0x88ba,即式(7)(8):
其中ethtfield是ethertype字段的值。
d)優(yōu)先級域模型
優(yōu)先級字段(3比特)模型定義goose和smv報文的優(yōu)先級值。goose/smv的默認值為4,也在scd文件中配置。優(yōu)先級值應該從0到7,即式(9):
式(9)中priofield是用戶優(yōu)先級字段的值。
e)appid字段模型
每個goose/smv控制塊在scd文件中具有唯一的appid。goose報文的appid字段(2個八位字節(jié))應當是4位十六進制,即[0000-3fff],并且smv報文的字段應該是[4000-7fff]。這種檢測模型如式(10)和(11),
f)長度模型
goose/smv報文的長度字段(2個八位字節(jié))指定從appid到apdu開始的幀中的字節(jié)總數(shù),其等于8+m(m是apdu的長度,m<1492)。長度字段模型如式(12),
其中l(wèi)engfield是長度字段的值。
gooseapdu中的good字段的長度小于65字節(jié),即式(13),
其中l(wèi)engoidfield是good字段的長度。
g)timeallowedtolive字段模型
gooseapdu中的timeallowedtolive字段應為doublemaxtime(2t0)?!癿axtime”通常在scd文件中配置為<5000>(<communication>→<subnetwork>→<connectedap>→<gse>→<maxtime>)。如果在10000ms內(nèi)沒有任何goose數(shù)據(jù)包,這種檢測模式將發(fā)送通信中斷報警。
h)標記字段模型
在goose標記字段模型中,goose報文的gocbref,timeallowedtolive,datset,goid,t,stnum,sqnum,test,confrev,ndscom和numdatsetentries字段的標記值是0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89和0x8a。在smv標簽字段模型中,smv報文的svid,smpcnt,confrev和smpsynch字段的標簽值分別為0x80,0x82,0x83和0x85。
i)smpcnt字段模型
smpcnt字段模型指定計數(shù)器的值,其在每次采樣模擬值的新樣本時遞增。當合并單元(mu)的采樣率為4000hz(80個采樣/周期)時,smpcnt的值應當在[0,3999]的范圍內(nèi)保持正確的順序,即式(14),
其中smpcfield是smpcnt字段的值。
j)相關模型
根據(jù)智能變電站的實際scd配置,appid字段等于目的地址字段的最后兩個八位字節(jié)。它可以被定義為相關域模型,即式(15),
其中dstafield(p)5,6表示目的地址字段的最后兩個八位字節(jié)。
gooseapdu中的gocbref字段的類型是包括邏輯設備(ld)名稱、邏輯節(jié)點(ln)名稱、功能約束(fc)和控制塊(cb)名稱的字符串,即ld/ln$fc$cb。gooseapdu中的datset字段包括ld名稱、ln名稱和數(shù)據(jù)集(ds)名稱,即ld/ln$ds。gooseapdu中的goid字段的默認值類似于gobi參考字段的默認值,即ld/ln$cb。gocoref字段中的ld/ln值與dataset字段中的ld/ln值匹配。gocoref字段中的控制塊名稱與goid字段中的控制塊名稱匹配。例如,gocbref:pm5001apigo/lln0$go$gocb1,dataset:pm5001apigo/lln0$dsgoose1,goid:pm5001apigo/lln0.gocb1。對應的相關字典模型如式(16),
其中gibfield,datsfield和goidfield分別表示gobiref,dataset和goid字段。
gooseapdu中的狀態(tài)數(shù)量(stnum)和序列號(sqnum)的變化嚴格遵守相關聯(lián)的行為模式。當發(fā)送的goose消息中datset的值改變時,stnum的值將增加,這將導致sqnum的值被設置為零。當stnum的值沒有變化時,sqnum的值將對每個goose傳輸遞增,但是它將在其最大值(sqnummax=4,294,967,295)處翻轉(zhuǎn)到0。
式(17)中stnum(gpi)和sqnum(gpi)分別表示第i個goose報文的stnum和sqnum值。
k)基于流量的模型
根據(jù)從實際變電站場景捕獲的業(yè)務,基于業(yè)務的模型定義了每秒報文傳輸速率(pps)、每秒傳輸字節(jié)大小(bps)、報文長度(lop)和報文大小(sop)的上限和下限閾值,作為正常流量行為。這種流量檢測模型如式(18),
其中ppsmin和ppsmax表示pps的下限和上限閾值。
在這些協(xié)議模型之外的行為被認為是異常和可疑的。如果違反任何上述模型,則mbd將生成告警并記錄檢測結果。
(4)mpd基于多參數(shù)的檢測
基于多參數(shù)的檢測的核心思想是通過監(jiān)測智能變電站的最敏感的參數(shù)來識別由于內(nèi)部無意誤用或外部惡意攻擊而導致的針對工控系統(tǒng)的可能的威脅。這些多維參數(shù)與智能變電站的安全和穩(wěn)定操作相關,例如來自站控層和過程層網(wǎng)絡的遙測和遙信數(shù)據(jù)。從智能變電站的業(yè)務知識和操作經(jīng)驗提出了多參數(shù)檢測策略,如關鍵開關信號和關鍵模擬信號比較。
1)遙信比較檢測規(guī)則
在iec61850智能變電站中,過程層網(wǎng)絡中的智能終端采用goose報文來向間隔層中的ied發(fā)送遙信數(shù)據(jù),并從保護或測控裝置接收跳閘/合閘指令。如圖2所示,所提出的遙信比較檢測規(guī)則通過比較goose報文和相關聯(lián)的mms報文來識別異常事件。例如,如果過程層網(wǎng)絡中保護ied(goose報文)的開入信號和來自站控層網(wǎng)絡的相關聯(lián)的信號報告(mms報文)不一致,則將發(fā)生異常告警。
2)遙測比較檢測規(guī)則
在iec61850智能變電站中,合并單元(mu)具有采樣值模型,并向保護測控裝置發(fā)送sv消息。遙測比較檢測規(guī)則包含兩個類別:
a)范圍檢測規(guī)則
通常采樣值具有上邊界值和下邊界值(例如電流(i)和電壓(u))。如果測量值在預期范圍之外,則發(fā)出告警,即式(19),
其中smv(i)(i=i,u,...)表示不同的采樣值,例如電流和電壓;[smv(i)min-e(i),smv(i)max+e(i)]代表上下邊界之間的范圍,e(i)是測量公差。在正常操作情況下,根據(jù)變電站的設計和操作規(guī)范配置上下邊界。例如,500(330)kv變電站的總線電壓上、下邊界設置為90%和110%額定電壓。從工控系統(tǒng)安全操作的角度來看,只要測量值在預期范圍之外,這種可疑現(xiàn)象應該被變電站中的運行人員注意到并解決。因此,所提出的范圍檢測規(guī)則可以識別由測量錯誤或惡意攻擊導致的異常事件。
b)一致性檢測規(guī)則
在實際情況下,間隔層中的雙重化配置ied(a和b組)從關聯(lián)的電流互感器/電壓互感器(ct/vt)接收相同的mu采樣值。如圖3所示,提出的一致性檢測規(guī)則用于檢測已配置的合并單元smv參數(shù)和相關聯(lián)的多個保護設備的mms之間的不一致性(例如線路保護a/b、母線保護a/b和變壓器保護a/b)。遙測比較的參數(shù)包括電壓和電流,還包括差動電流,即比較兩套保護mms報文中的差分電流。如果違反一致性檢測規(guī)則,將發(fā)生異常告警。本發(fā)明提出的一種基于iec61850的電力工業(yè)控制網(wǎng)絡入侵檢測方法及系統(tǒng),可在數(shù)字化變電站中形成一個邏輯網(wǎng)絡邊界,其中包含一個iec61850相關通信的安全區(qū)。下一步確保縱深防御是在安全區(qū)建立監(jiān)督機制,可以檢測漏洞和失敗的安全控制,例如攻擊者穿透配置錯誤的防火墻,或完全繞過防火墻由一個工程師已經(jīng)直接連接到變電站局域網(wǎng)并且被惡意軟件感染的電腦來發(fā)動攻擊。一旦入侵者在目標變電站網(wǎng)絡建立了存在,從基本網(wǎng)絡掃描到有意嘗試從ied獲得響應;或者使特定命令被執(zhí)行;自動或手動動作將啟動,這些行動不會被邊界防火墻阻止。因此,設計針對iec61850的入侵檢測系統(tǒng)是為了發(fā)現(xiàn)電力工控系統(tǒng)中可能存在的可疑惑異常行為,提高基于iec61850協(xié)議的電力工控系統(tǒng)的安全性。
本領域內(nèi)的技術人員應明白,本申請的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
本申請是參照根據(jù)本申請實施例的方法、設備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設備上,使得在計算機或其他可編程設備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。