《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 电力系统僵尸网络检测分析
电力系统僵尸网络检测分析
2016年微型机与应用第18期
张阳,胡绍谦,汤震宇
南瑞继保电气有限公司,江苏 南京 211100
摘要: 为了应对电力系统中日趋严重的安全问题,阐述了僵尸网络在电力二次系统中部署和传播的可能性,分析了僵尸网络在活动时产生的报文特征和流量的行为特性,并针对电力二次系统僵尸网络的特点,提出了两种可部署于网络分析仪的僵尸网络检测方法,分别是基于深度包检测技术的异常协议识别方法和基于循环自相关和Xmeans聚类的流序列特征分析方法。实验证明,这两种方法均具有良好的检测效果,其中,异常协议识别方法在特定场景下将失效,而流序列特征分析方法具有更好的通用性。
Abstract:
Key words :

  张阳,胡绍谦,汤震宇

  (南瑞继保电气有限公司,江苏 南京 211100)

       摘要:为了应对电力系统中日趋严重的安全问题,阐述了僵尸网络在电力二次系统中部署和传播的可能性,分析了僵尸网络在活动时产生的报文特征和流量的行为特性,并针对电力二次系统僵尸网络的特点,提出了两种可部署于网络分析仪的僵尸网络检测方法,分别是基于深度包检测技术的异常协议识别方法和基于循环自相关和Xmeans聚类的流序列特征分析方法。实验证明,这两种方法均具有良好的检测效果,其中,异常协议识别方法在特定场景下将失效,而流序列特征分析方法具有更好的通用性。

  关键词:僵尸网络;电力系统;深度包检测;流量行为;循环自相关;聚类分析;网络分析仪

0引言

  2015年末,乌克兰电网遭到黑客攻击,这是首次由黑客攻击行为导致的大规模停电事件,电力二次系统的网络安全问题日益严峻。僵尸网络是指通过各种手段在多台设备中植入恶意程序,使僵尸控制者能相对方便和集中地控制这些设备,向这些受控制的设备发布各种指令以进行相应恶意活动的攻击网络。随着全球电力系统和互联网技术的高速发展,特别是能源互联网的兴起[1],电力二次系统的规模和复杂性越来越高,智能化设备和以太网通信的普及在带来更加丰富功能的同时,也带来了各种安全问题,如Web应用中数据库信息的SQL注入攻击[2]、Web客户端脚本注入攻击[3]、僵尸网络等。

  本文研究了僵尸网络在电力二次系统中的部署方法和传播机制,分析了僵尸程序产生的网络流量的行为特性,并以此提出了两种基于网络分析仪的僵尸网络的检测方法,最后按照电力二次系统的网络架构搭建环境进行实验。

1电力二次系统中僵尸网络部署及传播

  1.1僵尸网络部署方法

  国内电力二次系统是一个相对封闭的局域网系统,一般不与公网直接相连,所以直接从公网感染僵尸程序的可能性不大。部署僵尸程序有以下几种方法:

  (1)事先在智能设备中部署僵尸程序,当该设备在站内安装接入二次网络时即可发作。

  (2)直接连接二次网络中的交换机,将僵尸程序植入网络。

  (3)将小型的无线网卡接入二次网络,将站内局域网与公网连接。

  1.2僵尸网络传播机制

  僵尸程序一般具有自我复制和自动传播的能力,在电力二次系统中,各设备供应商为方便现场调试,一般会开放设备的telnet、ftp、ssh服务,并且用户名密码相对固定,僵尸程序通过这些服务很容易进行传播,步骤如下:

  (1)周期扫描网络中所有的IP地址,记录所有在线设备的IP,记为G1。

  (2)测试G1中所有设备的telnet服务、ftp服务、ssh服务是否打开,至少打开其中一个服务的设备IP记为G2。

  (3)电力二次系统中大部分设备采用VxWorks、Linux、Windows等操作系统,配合ARM、x86、PowerPc、MIPS、Sparc等CPU架构,组合是有限的,僵尸程序通过telnet、ftp、ssh可以判断G2中设备的操作系统和CPU架构,选择适配的二进制文件,通过telnet或ssh复制至目标系统,并加入启动脚本。

  2电力二次系统中僵尸网络流量特性

  僵尸网络的目的是控制被感染的设备执行特定的指令,如重启、发送恶意报文、控制一次设备等。所以僵尸网络一般会有一个C&C服务器(命令与控制服务器),C&C服务器可以是网络中固定的节点,也可由僵尸程序选举产生,所有僵尸程序周期访问C&C服务器获取指令,或者由C&C服务器周期广播指令至所有僵尸程序。在这个过程中,僵尸程序会产生带有特定特征的网络流量。

  2.1僵尸程序会产生非常规协议的流量

  常规的僵尸网络可分为以下3种类型[4]:

  (1)IRC僵尸网络:控制和通信方式采用IRC协议(互联网中继聊天协议)的僵尸网络[5]。

  (2)HTTP僵尸网络:控制和通信方式采用HTTP协议(同时伴随DNS)的僵尸网络。

  (3)P2P僵尸网络:控制和通信方式采用P2P协议或类似结构的僵尸网络[6 7]。

  这三种类型的僵尸网络同样可以在电力二次系统中部署和传播,常规电力二次系统中极少产生IRC、HTTP、DNS、P2P的流量。

  2.2僵尸程序产生的流量具有周期性

  对于单个僵尸网络节点,需要周期性地从C&C服务器获取指令,在与C&C服务器通信时,通信行为会产生较为明显的周期性[8],如周期的IRC报文、周期的DNS请求、周期的HTTP流量等。周期性可分为以下两种类型:

  (1)单报文的周期性:研究对象为单个报文组成的序列,如一段时间内,僵尸节点向C&C服务器周期发送的DNS请求报文的周期性。

  (2)流的周期性:僵尸节点与C&C服务器一次通信时产生的完整问答过程可以称为一个流,一段时间内产生的流组成流序列,流序列同样具有周期性。

  2.3僵尸程序产生的流量具有群体性

  对于同一个僵尸网络中的多个僵尸节点,由于感染相同的僵尸程序,在与C&C服务器通信行为上会产生较为明显的群体相似性[9]。以著名的HTTP僵尸程序BlackEnergy为例,僵尸网络中的N个节点,在足够长的时间间隔T内,会产生几乎相同次数的DNS请求,并且请求的目标域名一致(C&C服务器的域名)。

3电力二次系统中僵尸网络的检测方法

  电力二次系统中僵尸网络的检测需要分析全站的报文,网络分析仪从核心交换机的镜像口获取报文,可得到全站所有报文的镜像,僵尸网络检测程序完全可部署于网络分析仪上。

  3.1DPI(深度包检测)方法

  电力二次系统中使用的网络协议相对较为固定,以站控层网络为例,通常是103、61850、DNP,少数情况下会有101(网络形式)和104。除此之外的所有协议报文都可以认为是非常规协议,都可能由僵尸程序产生,所以可以用协议识别的方法检测僵尸网络。

  以DNS协议为例,根据RFC1034[10]的说明,DNS报文的总体格式如图1所示。

图像 001.png

  常规的协议识别一般采用端口号识别协议,但僵尸程序往往利用这一点采用特殊的端口号躲避检测。DPI方法深度分析报文的内部特征,对协议进行模糊识别。

  与DNS协议类似,IRC协议可根据RFC1459[11]解析,103可根据IEC608705103[12]协议规范解析等。在电力二次系统中,事先规定协议的“白名单”,只允许运行特定的协议,是检测僵尸网络的有效手段。

  3.2流量行为分析方法

  为了描述僵尸节点与C&C服务器通信时的流量特性,本文使用源IP、目的IP、目标端口、协议四元组组流,这里忽略源端口,因为源端口一般由操作系统随机指定,每一次交互时都不一样,不具有代表性。在给定的超时时间内,四元组相同的所有报文形成一个流,多个四元组相同的流按时间排序可形成流序列。流序列的特性描述了僵尸节点与C&C服务器通信时的流量特性。

  描述流序列的周期性时,需要对流序列进行01序列化,序列化过程如图2所示,即用较小的时间间隔t切割整个流序列,若某间隔内有流开始,则为1,否则为0,本文取t=Intervalavg/4,即平均流时间间隔的1/4。

图像 002.png

  本文使用循环自相关的方法[13]量化01序列f的周期性,公式(1)是循环自相关函数,通过公式(2)找到使ω最大的序号k,再通过公式(3)即可得到描述周期性的循环自相关频率freq。

  QQ图片20161010191123.png

   QQ图片20161010191127.png

  QQ图片20161010191130.png

  式中:f为流序列的01序列;M为01序列长度

  以HTTP僵尸程序BlackEnergy为例,使用多个BlackEnergy僵尸样本产生数十个流序列,提取平均流时间间隔、平均流持续时间、平均流长度、循环自相关频率作为BlackEnergy僵尸程序产生的流序列的“指纹”,对于每一项流特征,本文采用Xmeans聚类算法[14]进行聚类,用以区分BlackEnergy僵尸程序在不同状态下对于同一个特征的不同特性,如表1所示,表中Q为Xmeans的聚类质量,由公式(4)计算,质量越大说明类别中各项越相似。

  QQ图片20161010191134.png

  式中:β取2.5;sd为标准差,c为均值

图像 004.png

  表1中每一个聚类类别描述了BlackEnergy僵尸程序产生不同流序列的特性,如流长度有3个聚类类别,说明BlackEnergy会产生3种长度的流。

  通过分析电力二次系统中全站流量,可以获得全站103、61850、DNP的流序列的“指纹”,可以采用白名单方式:正常情况下,网络分析仪检测到的流序列的指纹应该与正常流量指纹相似,出现异常即可认为是僵尸流量指纹。或者采用黑名单方式:事先分析已知的大量僵尸程序的流序列“指纹”,当站内有流序列匹配僵尸指纹时,即可认为是僵尸流量。匹配方法使用加权得分的方法,未知流序列的某项属性满足公式(5)时,会按照公式(6)计算得分,当所有属性的得分之和大于一个阈值时,即判定匹配该僵尸指纹。

  QQ图片20161010191256.png

   QQ图片20161010191259.png

  式中:QTi是待匹配流序列在自身第i个属性的质量,计算方法与公式(4)一致,T[i]为待匹配流序列的第i个属性,c为已知僵尸流序列第i个属性的均值,sd为标准差。

4实验分析

  本文采用电力二次系统中常规设备和系统搭建实验环境,包括后台监控系统、交换机、规约转换装置、网络分析仪、其他智能设备(测控装置、保护装置),主要通信规约采用103,一部分智能设备使用其他规约,需要规约转换装置转换成103,总体架构如图3所示。正常运行时,可以通过后台监控系统监视所有设备的运行情况以及采集各个相关测点的值。

图像 003.png

  本文在后台监控系统及一部分智能设备中运行僵尸程序BlackEnergy,在核心交换机中配置镜像口,将全站流量全部镜像发送至网络分析仪,网络分析仪中运行僵尸网络检测程序。在DPI检测方面,由于全站只有BlackEnergy在使用HTTP和DNS协议,在这种情况下,检测率为100%,误报率为0,但只要有正常流量也使用HTTP和DNS协议,或者僵尸程序采用103或61850交互,DPI方法将变得极不可靠;在流量行为分析方法方面,实验采用匹配已知僵尸流量特征的黑名单方式,得分阈值取1.3,可使BlackEnergy的检测率大于90%而误报率低于0.02%,类似的方法可以推广到检测电力二次系统中任何类型的僵尸网络。

5结论

  本文阐述了僵尸网络在电力二次系统中的部署方法和传播机制,分析了僵尸网络在网络中活动时产生的报文特征和流量行为,并提出了两种僵尸网络检测方法,分别是识别异常协议的DPI(深度包检测)方法、提取流序列特征的流量行为分析法。僵尸检测程序需要网络分析仪的支持。实验表明这两种方法都有较好的检测效果。

  其中,当僵尸程序使用103、61850等规约进行传播和活动时,DPI方法将失效,所以流量行为分析方法具有更广泛的应用范围,但流量行为分析方法涉及大量的计算,需要消耗相当大的CPU和内存资源,将DPI方法、流量行为分析法等多种方法相结合,可以获得更好的检测效果,并降低计算资源的消耗。

  参考文献

  [1] 曹军威,袁仲达,明阳阳. 能源互联网大数据分析技术综述[J]. 南方电网技术,2015,9(11):9 20.

  [2] 张燕. 数据挖掘提取查询树特征的SQL注入攻击检测[J]. 电子技术应用,2016,42(3):90 94.

  [3] 张海燕,莫勇. 基于决策树分类的跨站脚本攻击检测方法[J]. 微型机与应用,2015,34(16):55 57 61.

  [4] 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]. 北京:科学出版社 2009.

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

  [7] 冉宏敏,柴胜,冯铁,等. P2P僵尸网络研究[J]. 计算机应用研究,2010(10):3628 3632.

  [8] 向庆华. 基于IRC协议的网络流量检测方法研究与实现[D]. 重庆:重庆大学,2009.

  [9] 李超. 基于行为特征的IRC僵尸网络检测方法研究[D]. 哈尔滨:哈尔滨工业大学,2008.

  [10] 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.

  [13] 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.

  [14] 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.


此内容为AET网站原创,未经授权禁止转载。