◆郭永和 王繼業(yè) 沈 亮
?
一種基于網(wǎng)絡(luò)報文分析的電力工控系統(tǒng)入侵檢測方法
◆郭永和1,3王繼業(yè)2沈 亮3
(1.北京郵電大學(xué) 北京 100876;2.國家電網(wǎng)有限公司 北京 100031; 3.國家電網(wǎng)有限公司信息通信分公司 北京 100761)
電力工業(yè)是關(guān)系著國計民生的重要基礎(chǔ)工業(yè),而電力工控系統(tǒng)的安全則決定著電力基礎(chǔ)設(shè)施能否安全穩(wěn)定的運行。發(fā)生在烏克蘭、伊朗的攻擊案例顯示電力工控系統(tǒng)已經(jīng)成為網(wǎng)絡(luò)戰(zhàn)的重要打擊目標。本文提出一種基于網(wǎng)絡(luò)報文分析的電力工控系統(tǒng)入侵檢測方法。該方法具有準確率高、系統(tǒng)資源占用少的優(yōu)點。
工控系統(tǒng);入侵檢測;網(wǎng)絡(luò)報文分析
電力工控系統(tǒng)是由電力網(wǎng)和信息網(wǎng)緊密耦合而成的復(fù)雜的CPS系統(tǒng),信息流的交互使得電力系統(tǒng)面臨更多潛在威脅[1-5]。近年來各種針對電力系統(tǒng)的網(wǎng)絡(luò)攻擊事件頻發(fā),2010年伊朗布什爾核電站里正在工作的8000臺離心機受“震網(wǎng)病毒”攻擊,突然出現(xiàn)大面積故障,數(shù)據(jù)大量丟失,上千臺離心機被物理性損毀;2015年12月23日,烏克蘭電網(wǎng)遭受網(wǎng)絡(luò)攻擊,其SCADA系統(tǒng)完全癱瘓,結(jié)果造成烏克蘭西部數(shù)十萬用戶停電數(shù)小時[6-7];2016年以色列電力供應(yīng)系統(tǒng)受到重大網(wǎng)絡(luò)攻擊侵襲,迫使電力供應(yīng)系統(tǒng)中大量計算機離線運行。國家電網(wǎng)有限公司作為全球最大的能源企業(yè),其關(guān)鍵信息基礎(chǔ)設(shè)施成為了多個境外組織的攻擊目標,每個月攔截的攻擊企圖多達上萬起。從這些事件可以看出現(xiàn)在網(wǎng)絡(luò)攻擊已經(jīng)成為電力系統(tǒng)面臨的一個巨大威脅。
工業(yè)控制系統(tǒng)(Industrial Control System, ICS),指的工業(yè)生產(chǎn)中采用的所有控制系統(tǒng)的總稱。典型的工控系統(tǒng)包括了數(shù)據(jù)采集與監(jiān)視控制系統(tǒng)(Supervisory Control and Data Acquisition, SCADA),分布式控制系統(tǒng)(Distributed Control System, DCS),還有其它的更小的系統(tǒng)如可編程邏輯控制器(Programmable Logic Controller, PLC)經(jīng)常出現(xiàn)在工業(yè)控制系統(tǒng)的節(jié)點以及關(guān)鍵基礎(chǔ)設(shè)施中。
(1)SCADA系統(tǒng)
數(shù)據(jù)采集與監(jiān)視控制系統(tǒng)(SCADA)是一種使用了電子計算機、網(wǎng)絡(luò)數(shù)據(jù)傳輸和圖形人機界面的用于高層過程監(jiān)視管理的控制系統(tǒng)。SCADA系統(tǒng)使用其他外圍設(shè)備如可編程邏輯控制器和離散PID控制器來實現(xiàn)生產(chǎn)的過程控制??刂迫藛T可以通過SCADA的計算機系統(tǒng)實現(xiàn)各種過程命令的下發(fā)。而監(jiān)控數(shù)據(jù)可以由聯(lián)網(wǎng)的現(xiàn)場設(shè)備采集傳輸。
(2)DCS系統(tǒng)
分布式控制系統(tǒng)(DCS)是一種計算機化的控制系統(tǒng)。DCS最早產(chǎn)生于大型的對安全要求高的工業(yè)部門中,主要應(yīng)用于工業(yè)流程控制,比如煉油、發(fā)電(水利、火力、核能)、水處理和各類工業(yè)生產(chǎn)等。在DCS中,自動化的控制器分布在整個系統(tǒng)中,由一個監(jiān)管級別的系統(tǒng)所控制。DCS系統(tǒng)相較集中式控制系統(tǒng)而言,提升了生產(chǎn)過程控制中的可靠性、降低了建設(shè)成本。
(3)PLC系統(tǒng)
PLC是一種工業(yè)數(shù)字計算機,主要用于自動化的工業(yè)生產(chǎn)流程控制等要求高可靠性、易編程和快速故障定位的場合,如生產(chǎn)線、工業(yè)機器人、電力遠動設(shè)備等。PLC可以提供大量的模擬和數(shù)字的I/O接口。由于需要在惡劣環(huán)境下工作,PLC通常被設(shè)計為能夠抵御劇烈沖擊、免受強電磁干擾并經(jīng)受住劇烈的溫度變化。其控制程序儲存于非易失性的存儲器件上,如只讀存儲器(ROM)。
在電氣工程及其自動化中,IEC 60870 標準由國際電工委員會(IEC)制定,目的是定義用于遠控的系統(tǒng)(如SCADA),這些系統(tǒng)可以用于控制電力傳輸系統(tǒng)或者其他的廣域分布式部署的工控系統(tǒng)。通過遵循這一標準,來源于不同廠商的的設(shè)備可以實現(xiàn)互聯(lián)互通。IEC61850有6個部分,應(yīng)用最為廣泛的是IEC61860第5部分相關(guān)的標準。該部分提供了在兩個系統(tǒng)中傳輸遠控信息的通信規(guī)約。在國內(nèi)IEC60870-5被轉(zhuǎn)化成國家和電力行業(yè)標準。如《DL/T634.5101-2002》(等效IEC60870-5-101)、《DL/T 634.5104-2002》(等效 IEC60870-5-104)、《DL/T 719-2000 》、《DL/T 667-1999 》(等效 IEC60870-5-103)和《DL/T 719-2000 》(等效 IEC60870-5-102)。
IEC 61850 是一種為變電站中智能電氣設(shè)備定義的通信協(xié)議。IEC61850中的抽象數(shù)據(jù)模型可以被映射到多種協(xié)議上,這些協(xié)議包括MMS、GOOSE、SMV和Web服務(wù)。這些協(xié)議可以運行在TCP/IP協(xié)議上或者變電站內(nèi)部基于高速以太網(wǎng)交換的局域網(wǎng)協(xié)議上,以滿足繼電保護的低延遲保證。在國內(nèi),IEC 61850標準的等效標準為 DL/T860 標準。
選取2015年5月~2017年5月我院ICU接受機械通氣治療的新生兒140例作為研究對象,其中,男79例,女61例,平均胎齡(35.36±2.77)d,平均出生體重(2014.05±160.77)g,呼吸窘迫綜合征57例,病理性黃疸49例,高膽紅素血癥21例,缺氧缺血性腦病13例。將其隨機分為研究組與對照組,各70例,兩組一般資料比較,差異無統(tǒng)計學(xué)意義(P>0.05)。
IEC 61850所要實現(xiàn)的目標是:
(1)為變電站內(nèi)部不同的數(shù)據(jù)提供單一的通信規(guī)約。
(2)為數(shù)據(jù)傳輸?shù)幕痉?wù)提供定義。
(3)提升不同廠商設(shè)備之間的互操作性。
(4)全部數(shù)據(jù)的通用存儲方法和格式。
(5)定義對符合該標準的設(shè)備的完整的測試方法。
Modbus協(xié)議是一種串行通信協(xié)議,最早由施耐德電氣于1979年發(fā)布,主要用于其PLC產(chǎn)品之間的通信。Modbus現(xiàn)在已經(jīng)廣泛應(yīng)用各類工控設(shè)備上。Modbus可以實現(xiàn)同一網(wǎng)絡(luò)內(nèi)不同設(shè)備的通信。例如,一個測量濕度和溫度的傳感器可以通過Modbus協(xié)議將結(jié)果傳送到一臺電腦上。Modbus現(xiàn)在常用于SCADA系統(tǒng),被用來連接監(jiān)控計算機和遠程單元(RTU)。Modbus是一個請求/應(yīng)答協(xié)議,提供的服務(wù)由功能碼標識。
圖1 基于網(wǎng)絡(luò)報文的工控系統(tǒng)入侵檢測算法數(shù)據(jù)流圖
如圖1所示,該方案主要包含三個模塊,分別是協(xié)議分析和報文解析模塊,檢測模塊和告警展示模塊。其中,協(xié)議分析和報文解析模塊負責(zé)將來自以太網(wǎng)或者RS485接口的數(shù)據(jù)報文進行協(xié)議分析;入侵檢測分析模塊是該方案的關(guān)鍵模塊,將在下面詳細介紹;告警模塊通過圖形化展示界面將入侵檢測分析的結(jié)果展示給網(wǎng)絡(luò)安全操作員。
入侵檢測分析模塊是該方案的核心模塊。該模塊采用Anagram算法進行入侵檢測分析。工控網(wǎng)絡(luò)報文在去除TCP/IP的報頭后,可以得到一段符合工控協(xié)議通信規(guī)約的多字節(jié)16進制數(shù)據(jù)。以IEC-104規(guī)約的U幀報文為例,其傳輸?shù)膯訄笪牡?6進制數(shù)據(jù)為68 04 07 00 00 00,共包含了6個字節(jié)的數(shù)據(jù)。Anagram算法首先計算這段數(shù)據(jù)n-gram集合。一個n-gram指的是一段數(shù)據(jù)中n個連續(xù)相鄰的字節(jié)所組成的子數(shù)據(jù)段。這段數(shù)據(jù)的所有的n-gram組成的集合即為該數(shù)據(jù)的n-gram集合。以上面的IEC-104報文為例,n取3,則該報文的tri-gram集合為{68 04 07, 04 07 00, 07 00 00,00 00 00}??梢?,該集合包含了4個tri-gram。
為了將合法流量和惡意流量區(qū)分開來,入侵檢測分析算法需要首先學(xué)習(xí)合法流量的特征,這個階段被稱為入侵檢測分析算法的訓(xùn)練階段。在這個階段中,入侵檢測模塊需要部署在無惡意流量的環(huán)境中(如測試環(huán)境中),記錄所有合法流量的所包含的n-gram的總集合。
圖2 Bloom-filter結(jié)構(gòu)
對于參數(shù)k和m的選擇,遵循公式(1)和(2),其中公式(1)中的 為Bloom-filter發(fā)生碰撞導(dǎo)致選擇錯誤的概率閾值。
與傳統(tǒng)的基于誤用的入侵檢測方法相比,該方法可自學(xué)習(xí)合法流量特征而無需人工配置和和更新特征庫。由于采用Bloom-filter進行判斷某一元素是否屬于合法流量的n-gram集合,可有效的減少運算量和存儲占用的內(nèi)存,減少硬件資源的需求,使得采用該方法的系統(tǒng)可以部署在低成本的嵌入式系統(tǒng)上。
近年來,針對電力工控系統(tǒng)的攻擊案例不斷增多。由于歷史原因,工控設(shè)備的生產(chǎn)廠家著重解決工控系統(tǒng)的可用性,而忽略了對安全方面的考慮。由于工控系統(tǒng)中存在著大量的遺留的設(shè)備,很難通過固件升級解決這些設(shè)備的安全問題。因此對工控系統(tǒng)的入侵企圖的及時發(fā)現(xiàn)和阻斷就變得極為重要。傳統(tǒng)的廣泛應(yīng)用于信息網(wǎng)絡(luò)的基于誤用檢測的入侵檢測方法并不能很好的適用于工控網(wǎng)絡(luò)。本文設(shè)計了一種基于網(wǎng)絡(luò)報文分析的工控系統(tǒng)入侵檢測系統(tǒng),可以通過自學(xué)習(xí)的方法生成合法流量特征庫,實現(xiàn)對未知威脅的檢測。
[1]Beddoe M. Protocol information project[J]. 2004-10-05. http://www. 4tphi. net/~awalters/PI/PI.html, 2004.
[2]CHEN P, DESMET L,HUYGENS C.A study on advanced persistent threats[C].Communications and Multimedia Security-15th International Conference,2014.
[3]Leita C, Mermoud K, Dacier M. ScriptGen: an automated script generation tool for honeyd[J]. Computer Security Applications Conf,2005.
[4]TANKARD C. Advanced persistent threats and how to monitor and deter them[J]. Network Security,2011.
[5]KUSHNER D.The real story of stuxnet[J].IEEE Spectru m,2013.
[6]張帥.工業(yè)控制系統(tǒng)安全風(fēng)險分析[J].信息安全與通信保密,2012.
[7]王玉敏.工業(yè)控制系統(tǒng)的常見攻擊[J].中國儀器儀表, 2012.
[8]WANG K,PAREKH J.J,STOLFO S.J.(2006)Anagram:a content anomaly detector resistant to mimicry attack[C].Internatio nal Workshop on Recent Advances in Intrusion Detection,2006.