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

  張陽,胡紹謙,湯震宇

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

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

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

0引言

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

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

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

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

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

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

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

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

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

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

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

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

  (3)電力二次系統(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),選擇適配的二進制文件,通過telnet或ssh復(fù)制至目標(biāo)系統(tǒng),并加入啟動腳本。

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

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

  2.1僵尸程序會產(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é)議(同時伴隨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)生的流量具有周期性

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

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

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

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

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

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

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

  3.1DPI(深度包檢測)方法

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

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

圖像 001.png

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

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

  3.2流量行為分析方法

  為了描述僵尸節(jié)點與C&C服務(wù)器通信時的流量特性,本文使用源IP、目的IP、目標(biāo)端口、協(xié)議四元組組流,這里忽略源端口,因為源端口一般由操作系統(tǒng)隨機指定,每一次交互時都不一樣,不具有代表性。在給定的超時時間內(nèi),四元組相同的所有報文形成一個流,多個四元組相同的流按時間排序可形成流序列。流序列的特性描述了僵尸節(jié)點與C&C服務(wù)器通信時的流量特性。

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

圖像 002.png

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

  QQ圖片20161010191123.png

   QQ圖片20161010191127.png

  QQ圖片20161010191130.png

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

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

  QQ圖片20161010191134.png

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

圖像 004.png

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

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

  QQ圖片20161010191256.png

   QQ圖片20161010191259.png

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

4實驗分析

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

圖像 003.png

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

5結(jié)論

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

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

  參考文獻

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

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

  [3] 張海燕,莫勇. 基于決策樹分類的跨站腳本攻擊檢測方法[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.

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

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

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

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

  [9] 李超. 基于行為特征的IRC僵尸網(wǎng)絡(luò)檢測方法研究[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.

  [12] 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)載。