《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 電力系統(tǒng)僵尸網(wǎng)絡(luò)檢測(cè)分析
電力系統(tǒng)僵尸網(wǎng)絡(luò)檢測(cè)分析
2016年微型機(jī)與應(yīng)用第18期
張陽,胡紹謙,湯震宇
南瑞繼保電氣有限公司,江蘇 南京 211100
摘要: 為了應(yīng)對(duì)電力系統(tǒng)中日趨嚴(yán)重的安全問題,闡述了僵尸網(wǎng)絡(luò)在電力二次系統(tǒng)中部署和傳播的可能性,分析了僵尸網(wǎng)絡(luò)在活動(dòng)時(shí)產(chǎn)生的報(bào)文特征和流量的行為特性,并針對(duì)電力二次系統(tǒng)僵尸網(wǎng)絡(luò)的特點(diǎn),提出了兩種可部署于網(wǎng)絡(luò)分析儀的僵尸網(wǎng)絡(luò)檢測(cè)方法,分別是基于深度包檢測(cè)技術(shù)的異常協(xié)議識(shí)別方法和基于循環(huán)自相關(guān)和Xmeans聚類的流序列特征分析方法。實(shí)驗(yàn)證明,這兩種方法均具有良好的檢測(cè)效果,其中,異常協(xié)議識(shí)別方法在特定場(chǎng)景下將失效,而流序列特征分析方法具有更好的通用性。
Abstract:
Key words :

  張陽,胡紹謙,湯震宇

 ?。先鹄^保電氣有限公司,江蘇 南京 211100)

       摘要:為了應(yīng)對(duì)電力系統(tǒng)中日趨嚴(yán)重的安全問題,闡述了僵尸網(wǎng)絡(luò)在電力二次系統(tǒng)中部署和傳播的可能性,分析了僵尸網(wǎng)絡(luò)在活動(dòng)時(shí)產(chǎn)生的報(bào)文特征和流量的行為特性,并針對(duì)電力二次系統(tǒng)僵尸網(wǎng)絡(luò)的特點(diǎn),提出了兩種可部署于網(wǎng)絡(luò)分析儀的僵尸網(wǎng)絡(luò)檢測(cè)方法,分別是基于深度包檢測(cè)技術(shù)的異常協(xié)議識(shí)別方法和基于循環(huán)自相關(guān)和Xmeans聚類的流序列特征分析方法。實(shí)驗(yàn)證明,這兩種方法均具有良好的檢測(cè)效果,其中,異常協(xié)議識(shí)別方法在特定場(chǎng)景下將失效,而流序列特征分析方法具有更好的通用性。

  關(guān)鍵詞:僵尸網(wǎng)絡(luò);電力系統(tǒng);深度包檢測(cè);流量行為;循環(huán)自相關(guān);聚類分析;網(wǎng)絡(luò)分析儀

0引言

  2015年末,烏克蘭電網(wǎng)遭到黑客攻擊,這是首次由黑客攻擊行為導(dǎo)致的大規(guī)模停電事件,電力二次系統(tǒng)的網(wǎng)絡(luò)安全問題日益嚴(yán)峻。僵尸網(wǎng)絡(luò)是指通過各種手段在多臺(tái)設(shè)備中植入惡意程序,使僵尸控制者能相對(duì)方便和集中地控制這些設(shè)備,向這些受控制的設(shè)備發(fā)布各種指令以進(jìn)行相應(yīng)惡意活動(dòng)的攻擊網(wǎng)絡(luò)。隨著全球電力系統(tǒng)和互聯(lián)網(wǎng)技術(shù)的高速發(fā)展,特別是能源互聯(lián)網(wǎng)的興起[1],電力二次系統(tǒng)的規(guī)模和復(fù)雜性越來越高,智能化設(shè)備和以太網(wǎng)通信的普及在帶來更加豐富功能的同時(shí),也帶來了各種安全問題,如Web應(yīng)用中數(shù)據(jù)庫信息的SQL注入攻擊[2]、Web客戶端腳本注入攻擊[3]、僵尸網(wǎng)絡(luò)等。

  本文研究了僵尸網(wǎng)絡(luò)在電力二次系統(tǒng)中的部署方法和傳播機(jī)制,分析了僵尸程序產(chǎn)生的網(wǎng)絡(luò)流量的行為特性,并以此提出了兩種基于網(wǎng)絡(luò)分析儀的僵尸網(wǎng)絡(luò)的檢測(cè)方法,最后按照電力二次系統(tǒng)的網(wǎng)絡(luò)架構(gòu)搭建環(huán)境進(jìn)行實(shí)驗(yàn)。

1電力二次系統(tǒng)中僵尸網(wǎng)絡(luò)部署及傳播

  1.1僵尸網(wǎng)絡(luò)部署方法

  國內(nèi)電力二次系統(tǒng)是一個(gè)相對(duì)封閉的局域網(wǎng)系統(tǒng),一般不與公網(wǎng)直接相連,所以直接從公網(wǎng)感染僵尸程序的可能性不大。部署僵尸程序有以下幾種方法:

 ?。?)事先在智能設(shè)備中部署僵尸程序,當(dāng)該設(shè)備在站內(nèi)安裝接入二次網(wǎng)絡(luò)時(shí)即可發(fā)作。

 ?。?)直接連接二次網(wǎng)絡(luò)中的交換機(jī),將僵尸程序植入網(wǎng)絡(luò)。

  (3)將小型的無線網(wǎng)卡接入二次網(wǎng)絡(luò),將站內(nèi)局域網(wǎng)與公網(wǎng)連接。

  1.2僵尸網(wǎng)絡(luò)傳播機(jī)制

  僵尸程序一般具有自我復(fù)制和自動(dòng)傳播的能力,在電力二次系統(tǒng)中,各設(shè)備供應(yīng)商為方便現(xiàn)場(chǎng)調(diào)試,一般會(huì)開放設(shè)備的telnet、ftp、ssh服務(wù),并且用戶名密碼相對(duì)固定,僵尸程序通過這些服務(wù)很容易進(jìn)行傳播,步驟如下:

 ?。?)周期掃描網(wǎng)絡(luò)中所有的IP地址,記錄所有在線設(shè)備的IP,記為G1。

 ?。?)測(cè)試G1中所有設(shè)備的telnet服務(wù)、ftp服務(wù)、ssh服務(wù)是否打開,至少打開其中一個(gè)服務(wù)的設(shè)備IP記為G2。

 ?。?)電力二次系統(tǒng)中大部分設(shè)備采用VxWorks、Linux、Windows等操作系統(tǒng),配合ARM、x86、PowerPc、MIPS、Sparc等CPU架構(gòu),組合是有限的,僵尸程序通過telnet、ftp、ssh可以判斷G2中設(shè)備的操作系統(tǒng)和CPU架構(gòu),選擇適配的二進(jìn)制文件,通過telnet或ssh復(fù)制至目標(biāo)系統(tǒng),并加入啟動(dòng)腳本。

  2電力二次系統(tǒng)中僵尸網(wǎng)絡(luò)流量特性

  僵尸網(wǎng)絡(luò)的目的是控制被感染的設(shè)備執(zhí)行特定的指令,如重啟、發(fā)送惡意報(bào)文、控制一次設(shè)備等。所以僵尸網(wǎng)絡(luò)一般會(huì)有一個(gè)C&C服務(wù)器(命令與控制服務(wù)器),C&C服務(wù)器可以是網(wǎng)絡(luò)中固定的節(jié)點(diǎn),也可由僵尸程序選舉產(chǎn)生,所有僵尸程序周期訪問C&C服務(wù)器獲取指令,或者由C&C服務(wù)器周期廣播指令至所有僵尸程序。在這個(gè)過程中,僵尸程序會(huì)產(chǎn)生帶有特定特征的網(wǎng)絡(luò)流量。

  2.1僵尸程序會(huì)產(chǎn)生非常規(guī)協(xié)議的流量

  常規(guī)的僵尸網(wǎng)絡(luò)可分為以下3種類型[4]:

  (1)IRC僵尸網(wǎng)絡(luò):控制和通信方式采用IRC協(xié)議(互聯(lián)網(wǎng)中繼聊天協(xié)議)的僵尸網(wǎng)絡(luò)[5]。

 ?。?)HTTP僵尸網(wǎng)絡(luò):控制和通信方式采用HTTP協(xié)議(同時(shí)伴隨DNS)的僵尸網(wǎng)絡(luò)。

  (3)P2P僵尸網(wǎng)絡(luò):控制和通信方式采用P2P協(xié)議或類似結(jié)構(gòu)的僵尸網(wǎng)絡(luò)[6 7]。

  這三種類型的僵尸網(wǎng)絡(luò)同樣可以在電力二次系統(tǒng)中部署和傳播,常規(guī)電力二次系統(tǒng)中極少產(chǎn)生IRC、HTTP、DNS、P2P的流量。

  2.2僵尸程序產(chǎn)生的流量具有周期性

  對(duì)于單個(gè)僵尸網(wǎng)絡(luò)節(jié)點(diǎn),需要周期性地從C&C服務(wù)器獲取指令,在與C&C服務(wù)器通信時(shí),通信行為會(huì)產(chǎn)生較為明顯的周期性[8],如周期的IRC報(bào)文、周期的DNS請(qǐng)求、周期的HTTP流量等。周期性可分為以下兩種類型:

 ?。?)單報(bào)文的周期性:研究對(duì)象為單個(gè)報(bào)文組成的序列,如一段時(shí)間內(nèi),僵尸節(jié)點(diǎn)向C&C服務(wù)器周期發(fā)送的DNS請(qǐng)求報(bào)文的周期性。

  (2)流的周期性:僵尸節(jié)點(diǎn)與C&C服務(wù)器一次通信時(shí)產(chǎn)生的完整問答過程可以稱為一個(gè)流,一段時(shí)間內(nèi)產(chǎn)生的流組成流序列,流序列同樣具有周期性。

  2.3僵尸程序產(chǎn)生的流量具有群體性

  對(duì)于同一個(gè)僵尸網(wǎng)絡(luò)中的多個(gè)僵尸節(jié)點(diǎn),由于感染相同的僵尸程序,在與C&C服務(wù)器通信行為上會(huì)產(chǎn)生較為明顯的群體相似性[9]。以著名的HTTP僵尸程序BlackEnergy為例,僵尸網(wǎng)絡(luò)中的N個(gè)節(jié)點(diǎn),在足夠長的時(shí)間間隔T內(nèi),會(huì)產(chǎn)生幾乎相同次數(shù)的DNS請(qǐng)求,并且請(qǐng)求的目標(biāo)域名一致(C&C服務(wù)器的域名)。

3電力二次系統(tǒng)中僵尸網(wǎng)絡(luò)的檢測(cè)方法

  電力二次系統(tǒng)中僵尸網(wǎng)絡(luò)的檢測(cè)需要分析全站的報(bào)文,網(wǎng)絡(luò)分析儀從核心交換機(jī)的鏡像口獲取報(bào)文,可得到全站所有報(bào)文的鏡像,僵尸網(wǎng)絡(luò)檢測(cè)程序完全可部署于網(wǎng)絡(luò)分析儀上。

  3.1DPI(深度包檢測(cè))方法

  電力二次系統(tǒng)中使用的網(wǎng)絡(luò)協(xié)議相對(duì)較為固定,以站控層網(wǎng)絡(luò)為例,通常是103、61850、DNP,少數(shù)情況下會(huì)有101(網(wǎng)絡(luò)形式)和104。除此之外的所有協(xié)議報(bào)文都可以認(rèn)為是非常規(guī)協(xié)議,都可能由僵尸程序產(chǎn)生,所以可以用協(xié)議識(shí)別的方法檢測(cè)僵尸網(wǎng)絡(luò)。

  以DNS協(xié)議為例,根據(jù)RFC1034[10]的說明,DNS報(bào)文的總體格式如圖1所示。

圖像 001.png

  常規(guī)的協(xié)議識(shí)別一般采用端口號(hào)識(shí)別協(xié)議,但僵尸程序往往利用這一點(diǎn)采用特殊的端口號(hào)躲避檢測(cè)。DPI方法深度分析報(bào)文的內(nèi)部特征,對(duì)協(xié)議進(jìn)行模糊識(shí)別。

  與DNS協(xié)議類似,IRC協(xié)議可根據(jù)RFC1459[11]解析,103可根據(jù)IEC608705103[12]協(xié)議規(guī)范解析等。在電力二次系統(tǒng)中,事先規(guī)定協(xié)議的“白名單”,只允許運(yùn)行特定的協(xié)議,是檢測(cè)僵尸網(wǎng)絡(luò)的有效手段。

  3.2流量行為分析方法

  為了描述僵尸節(jié)點(diǎn)與C&C服務(wù)器通信時(shí)的流量特性,本文使用源IP、目的IP、目標(biāo)端口、協(xié)議四元組組流,這里忽略源端口,因?yàn)樵炊丝谝话阌刹僮飨到y(tǒng)隨機(jī)指定,每一次交互時(shí)都不一樣,不具有代表性。在給定的超時(shí)時(shí)間內(nèi),四元組相同的所有報(bào)文形成一個(gè)流,多個(gè)四元組相同的流按時(shí)間排序可形成流序列。流序列的特性描述了僵尸節(jié)點(diǎn)與C&C服務(wù)器通信時(shí)的流量特性。

  描述流序列的周期性時(shí),需要對(duì)流序列進(jìn)行01序列化,序列化過程如圖2所示,即用較小的時(shí)間間隔t切割整個(gè)流序列,若某間隔內(nèi)有流開始,則為1,否則為0,本文取t=Intervalavg/4,即平均流時(shí)間間隔的1/4。

圖像 002.png

  本文使用循環(huán)自相關(guān)的方法[13]量化01序列f的周期性,公式(1)是循環(huán)自相關(guān)函數(shù),通過公式(2)找到使ω最大的序號(hào)k,再通過公式(3)即可得到描述周期性的循環(huán)自相關(guān)頻率freq。

  QQ圖片20161010191123.png

   QQ圖片20161010191127.png

  QQ圖片20161010191130.png

  式中:f為流序列的01序列;M為01序列長度

  以HTTP僵尸程序BlackEnergy為例,使用多個(gè)BlackEnergy僵尸樣本產(chǎn)生數(shù)十個(gè)流序列,提取平均流時(shí)間間隔、平均流持續(xù)時(shí)間、平均流長度、循環(huán)自相關(guān)頻率作為BlackEnergy僵尸程序產(chǎn)生的流序列的“指紋”,對(duì)于每一項(xiàng)流特征,本文采用Xmeans聚類算法[14]進(jìn)行聚類,用以區(qū)分BlackEnergy僵尸程序在不同狀態(tài)下對(duì)于同一個(gè)特征的不同特性,如表1所示,表中Q為Xmeans的聚類質(zhì)量,由公式(4)計(jì)算,質(zhì)量越大說明類別中各項(xiàng)越相似。

  QQ圖片20161010191134.png

  式中:β取2.5;sd為標(biāo)準(zhǔn)差,c為均值

圖像 004.png

  表1中每一個(gè)聚類類別描述了BlackEnergy僵尸程序產(chǎn)生不同流序列的特性,如流長度有3個(gè)聚類類別,說明BlackEnergy會(huì)產(chǎn)生3種長度的流。

  通過分析電力二次系統(tǒng)中全站流量,可以獲得全站103、61850、DNP的流序列的“指紋”,可以采用白名單方式:正常情況下,網(wǎng)絡(luò)分析儀檢測(cè)到的流序列的指紋應(yīng)該與正常流量指紋相似,出現(xiàn)異常即可認(rèn)為是僵尸流量指紋?;蛘卟捎煤诿麊畏绞剑菏孪确治鲆阎拇罅拷┦绦虻牧餍蛄小爸讣y”,當(dāng)站內(nèi)有流序列匹配僵尸指紋時(shí),即可認(rèn)為是僵尸流量。匹配方法使用加權(quán)得分的方法,未知流序列的某項(xiàng)屬性滿足公式(5)時(shí),會(huì)按照公式(6)計(jì)算得分,當(dāng)所有屬性的得分之和大于一個(gè)閾值時(shí),即判定匹配該僵尸指紋。

  QQ圖片20161010191256.png

   QQ圖片20161010191259.png

  式中:QTi是待匹配流序列在自身第i個(gè)屬性的質(zhì)量,計(jì)算方法與公式(4)一致,T[i]為待匹配流序列的第i個(gè)屬性,c為已知僵尸流序列第i個(gè)屬性的均值,sd為標(biāo)準(zhǔn)差。

4實(shí)驗(yàn)分析

  本文采用電力二次系統(tǒng)中常規(guī)設(shè)備和系統(tǒng)搭建實(shí)驗(yàn)環(huán)境,包括后臺(tái)監(jiān)控系統(tǒng)、交換機(jī)、規(guī)約轉(zhuǎn)換裝置、網(wǎng)絡(luò)分析儀、其他智能設(shè)備(測(cè)控裝置、保護(hù)裝置),主要通信規(guī)約采用103,一部分智能設(shè)備使用其他規(guī)約,需要規(guī)約轉(zhuǎn)換裝置轉(zhuǎn)換成103,總體架構(gòu)如圖3所示。正常運(yùn)行時(shí),可以通過后臺(tái)監(jiān)控系統(tǒng)監(jiān)視所有設(shè)備的運(yùn)行情況以及采集各個(gè)相關(guān)測(cè)點(diǎn)的值。

圖像 003.png

  本文在后臺(tái)監(jiān)控系統(tǒng)及一部分智能設(shè)備中運(yùn)行僵尸程序BlackEnergy,在核心交換機(jī)中配置鏡像口,將全站流量全部鏡像發(fā)送至網(wǎng)絡(luò)分析儀,網(wǎng)絡(luò)分析儀中運(yùn)行僵尸網(wǎng)絡(luò)檢測(cè)程序。在DPI檢測(cè)方面,由于全站只有BlackEnergy在使用HTTP和DNS協(xié)議,在這種情況下,檢測(cè)率為100%,誤報(bào)率為0,但只要有正常流量也使用HTTP和DNS協(xié)議,或者僵尸程序采用103或61850交互,DPI方法將變得極不可靠;在流量行為分析方法方面,實(shí)驗(yàn)采用匹配已知僵尸流量特征的黑名單方式,得分閾值取1.3,可使BlackEnergy的檢測(cè)率大于90%而誤報(bào)率低于0.02%,類似的方法可以推廣到檢測(cè)電力二次系統(tǒng)中任何類型的僵尸網(wǎng)絡(luò)。

5結(jié)論

  本文闡述了僵尸網(wǎng)絡(luò)在電力二次系統(tǒng)中的部署方法和傳播機(jī)制,分析了僵尸網(wǎng)絡(luò)在網(wǎng)絡(luò)中活動(dòng)時(shí)產(chǎn)生的報(bào)文特征和流量行為,并提出了兩種僵尸網(wǎng)絡(luò)檢測(cè)方法,分別是識(shí)別異常協(xié)議的DPI(深度包檢測(cè))方法、提取流序列特征的流量行為分析法。僵尸檢測(cè)程序需要網(wǎng)絡(luò)分析儀的支持。實(shí)驗(yàn)表明這兩種方法都有較好的檢測(cè)效果。

  其中,當(dāng)僵尸程序使用103、61850等規(guī)約進(jìn)行傳播和活動(dòng)時(shí),DPI方法將失效,所以流量行為分析方法具有更廣泛的應(yīng)用范圍,但流量行為分析方法涉及大量的計(jì)算,需要消耗相當(dāng)大的CPU和內(nèi)存資源,將DPI方法、流量行為分析法等多種方法相結(jié)合,可以獲得更好的檢測(cè)效果,并降低計(jì)算資源的消耗。

  參考文獻(xiàn)

 ?。?] 曹軍威,袁仲達(dá),明陽陽. 能源互聯(lián)網(wǎng)大數(shù)據(jù)分析技術(shù)綜述[J]. 南方電網(wǎng)技術(shù),2015,9(11):9 20.

 ?。?] 張燕. 數(shù)據(jù)挖掘提取查詢樹特征的SQL注入攻擊檢測(cè)[J]. 電子技術(shù)應(yīng)用,2016,42(3):90 94.

  [3] 張海燕,莫勇. 基于決策樹分類的跨站腳本攻擊檢測(cè)方法[J]. 微型機(jī)與應(yīng)用,2015,34(16):55 57 61.

 ?。?] Zhu Zhaosheng, Lu Guohan, Chen Yan, et al. Botnet research survey[C]. IEEE International Computer Software and Applications Conference, 2008:967 972.

 ?。?] SCHILLER C A, BINKLEY J, HARLEY D, et al. Botnets: the killer Web App[M]. 北京:科學(xué)出版社 2009.

  [6] SCHOOF R, KONING R. Detecting peer to peer botnets[D]. Amsterdam: System and Network Engineering University of Amsterdam, 2007.

 ?。?] 冉宏敏,柴勝,馮鐵,等. P2P僵尸網(wǎng)絡(luò)研究[J]. 計(jì)算機(jī)應(yīng)用研究,2010(10):3628 3632.

 ?。?] 向慶華. 基于IRC協(xié)議的網(wǎng)絡(luò)流量檢測(cè)方法研究與實(shí)現(xiàn)[D]. 重慶:重慶大學(xué),2009.

 ?。?] 李超. 基于行為特征的IRC僵尸網(wǎng)絡(luò)檢測(cè)方法研究[D]. 哈爾濱:哈爾濱工業(yè)大學(xué),2008.

 ?。?0] MOCKAPETRIS P. Domain names(RFC1034)[EB/OL]. (1987 11 xx)[2016 04 xx] https://www.rfceditor.org/rfc/rfc1034.txt.[11] OIKARINEN J, REED D. Internet relay chat protocol(RFC1459) [EB/OL].(1993 05 xx)[2016 04 xx]https://www.rfceditor.org/rfc/rfc1459.txt.

 ?。?2] IEC60870 5 103:1997, Telecontrol equipment and systems Part 5:Transmission protocols Section 103 Companion standard for the information interface of protection equipment [S].1998.

 ?。?3] Wang Binbin, Li Zhitang, Li Dong, et al. Modeling connections behavior for Webbased bots detection[C]. 2nd International Conference on e Business and Information System Security, 2010:1 4.

 ?。?4] PELLEG D, MOORE A W. Xmeans: Extending kmeans with efficient estimation of the number of clusters[C]. Proceedings of the Seventeenth International Conference on Machine Learning (ICML’00), San Francisco, CA, USA, 2000:727 734.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。