电力监控系统实时DDoS攻击检测方法
2022-02-24缪海飞胡绍谦汤震宇
缪海飞 曹 翔 林 青 胡绍谦 汤震宇
电力监控系统实时DDoS攻击检测方法
缪海飞 曹 翔 林 青 胡绍谦 汤震宇
(南京南瑞继保电气有限公司,南京 211102)
针对目前难以实时准确且低能耗地识别电力监控系统中分布式拒绝服务(DDoS)攻击的问题,本文基于电力监控系统专用防火墙装置提出一种实时DDoS攻击检测方法。采用软硬件结合的方式:硬件方面,防火墙采用现场可编程门阵列(FPGA)实时采集报文数据,在转发报文时更新计数器,实时提供检测所需的特征值并进行攻击预判;软件方面,在防火墙的用户空间内运行基于机器学习的在线识别器,首先在实时采集报文数据时感知网络状态,当网络可能异常时使用在线识别器检测攻击。本文实现了基于该方法的DDoS攻击检测原型系统,并进行了实验。实验表明,该方法可以实现资源占用低、识别准确率高的实时DDoS攻击检测。
电力监控系统;分布式拒绝服务(DDoS)攻击;检测;实时;机器学习
0 引言
近年来,电力信息安全事故频发,电力作为关乎国计民生的重要基础设施,一直以来都是网络攻击的重点对象,极易成为网络战的首要目标。乌克兰大停电事故也进一步印证了网络攻击已成为破坏电力等国家关键基础设施的新型武器。
电力监控系统的信息安全建设,已经从原来的只考虑网络边界的“十六字方针”(横向隔离、纵向认证、安全分区、网络专用)过渡到电力监控系统内部。尽管电力监控系统采用专网专用的形式,但是监控专用网络中一旦有设备或计算机被黑客攻陷,极易在专用网络环境下传播,导致产生网络安全问题。在轨道交通网络信息系统[1]、配电网自动化通信系统[2-3]和直流控制保护系统[4]中均存在较复杂的网络安全问题。其中,特别是分布式拒绝服务(distributed denial-of-service, DDoS)攻击带来的危害不可小觑,DDoS攻击的主要目的是消耗攻击目标的计算资源,令网络服务在一段时间内不可被访问,致使服务瘫痪,在电力监控系统中则会导致重要设备如监控后台无法及时响应控制命令,发生严重电力安全事故。DDoS攻击流量大、范围广、造成的损失大,已经严重威胁电力系统网络的安全,因此,如何使用较少的资源实时准确地检测出DDoS攻击是目前一个亟待解决的问题。
本文基于准确性和实时性要求,提出一种基于防火墙装置的软硬件结合的实时DDoS攻击检测方法,硬件负责采集数据,软件负责检测和分析,软硬件各司其职,大大提升了电力监控系统内DDoS攻击检测的准确性和实时性。
1 相关研究
国内外针对DDoS攻击检测的研究有很多,在电力监控系统网络环境和互联网环境下,也有很多方法来检测DDoS攻击。文献[5]总结归纳了电力信息物理系统中信息侧的网络攻击检测方案,利用网络流量分布规律检测电力监控系统是否遭受DDoS攻击。文献[6]提出一种基于时-频域混合特征的变电站通信网异常流量检测方法,采用人工蜂群优化的支持向量机算法进行DDoS攻击的检测。文献[7]从攻击方视角分析了电力系统内网络攻击的常见模式,分析了DoS攻击带来的危害,提出针对性的入侵检测方法。在传统领域,针对DDoS攻击的检测更是很多,文献[8]提出一种针对物联网设备的基于机器学习方法的DDoS攻击检测方法,通过有限数量的端点和数据包之间的固定时间间隔来进行特征选择,最终实现低成本的DDoS攻击检测。文献[9]提出一种通过构建平均数据包间到达时间的模糊估计器来进行DDoS检测的方法,首先检测DDoS攻击事件,然后识别有问题的IP地址。文献[10]提出一种基于目标IP地址的熵变化来检测DDoS攻击的解决方案,该方法的实时性较好,能够在攻击报文的前500帧报文内完成检测。文献[11]提出一种基于网络熵估计、协同聚类、信息增益比算法的用于在线DDoS检测的半监督式机器学习方法,该方法的无监督部分允许减少与DDoS检测无关的正常流量数据,从而降低误报率并提高准确性,而受监督的部分允许降低无监督部分的误报率并准确地对DDoS流量进行分类。文献[12]提出使用广义熵度量和信息距离度量两个新的信息度量,通过测量合法流量和攻击流量之间的差异来检测低速率DDoS攻击。
但是,上述方法较少用于电力监控系统内部。因为这些方法要么计算量太大导致无法做到实时性,要么可以实时检测但是准确率较低,无法满足电力系统对攻击检测的实时性和准确性要求。为解决上述问题,本文提出一种基于防火墙装置的软硬件结合的实时DDoS攻击检测方法。电力监控系统中采用的防火墙装置,一般都拥有可编程特性,本文利用电力监控系统防火墙的可编程特性,新增硬件计数器,通过读取硬件计数器对DDoS攻击进行预判断,在疑似发生DDoS攻击时,将报文提取至防火墙的软件层面,并运行机器学习模块对报文数据进行检测,从而实现资源占用低、识别准确率高的实时DDoS攻击检测。
本文基于电力监控系统专用防火墙装置,该装置用于电力监控系统内网络报文过滤,采用多核CPU作核心处理,同时辅以现场可编程门阵列(field programmable gate array, FPGA),两者互相配合,以便实现特定的功能。由于CPU与FPGA的结合,防火墙装置可以同时编写软硬件程序,控制其对报文的处理,实现可编程功能。
因此,本文在防火墙装置中编写软件代码,在FPGA中运行硬件程序,软件代码可以通过对应的应用程序接口(application programming interface, API)读取相应的硬件计数器,可以较为方便地在该平台上实现软硬件的配合,收发并分析报文,以及配置规则等,电力监控系统专用防火墙装置提供了硬件基础,可以实现实时DDoS攻击检测。
2 软硬件结合的DDoS攻击检测方法
本文从降低设备资源使用率、实时性和准确性出发,提出基于防火墙装置的软硬件结合的实时DDoS攻击检测方法,该方法由两大模块组成:基于FPGA的实时数据采集模块和基于机器学习的攻击识别模块。两大模块均在防火墙装置的用户空间中运行,数据采集模块基于FPGA进行编程,改变报文在防火墙中的流向,同时记录重要数据并保存在寄存器中;攻击识别模块提取寄存器值和报文特征值进行在线识别,基于机器学习技术可以高准确率地检测出是否存在DDoS攻击。
2.1 基于FPGA的实时数据采集模块
在对DDoS攻击的检测中,实时数据采集比较影响网络性能,容易造成网络堵塞,影响防火墙装置的正常转发,因此采用硬件方式实时感知网络状态。经过对DDoS攻击的调研可知,攻击过程中一般会在短时间内有大量不同的源端访问同一个目的机器,而目的机器无法处理大量的请求,从而导致拒绝服务。这样在链路上可以看到接收的报文数远大于发出的报文数,会出现收发数量不对等和流量激增等特征,利用这样的特征可以通过对FPGA编程,从硬件层面上获取网络链路状态值,同时将数据保存在寄存器中,便于软件程序读取硬件计数器,以最小的资源代价提前感知网络异常状态。
实时采集模块基于FPGA的可编程特性,将流经防火墙的报文在经过简单的计算后保存在相应的计数器中,用户空间的软件可以通过硬件API获取实时采集的数据。报文在被FPGA捕获到后,首先解析用户定义的关键字信息,随后根据关键字提取报文中的相应值,然后通过查表模块将获取的值更新到对应的硬件寄存器中,最后报文由自定义动作模块转发到目的地址,硬件原理框图如图1所示。
图1 硬件原理框图
为了减少软件和硬件之间的交互时间,本文在收集消息特征时使用字节速率来帮助实现实时攻击预测。一般来说,正常流中的字节率会比较稳定。当主机受到DDoS攻击时,字节率的差异会在短时间内急剧增加,在统计上呈现出一定的突变。
本文基于滑动窗口法进行DDoS攻击检测预判,通过计算相邻时间段内的状态及状态的变化量推算是否产生异常。采取该方法以窗口的形式计算网络中的字节速率,判断电力监控系统网络环境是否稳定无突变等。
由于防火墙装置可以从硬件层面实时提供当前时刻接收到的字节总数,用Y表示,那么式(1)可以转换为式(2),改进后的计算量更小,且无需采集报文,对网络环境几乎没有影响。
根据滑动窗口阈值的思想,若+1>bf,其中阈值取0.5,则网络可能发生了异常波动。
综上所述,基于FPGA的实时数据采集模块能够实时采集数据,并根据阈值进行DDoS攻击检测预判,一旦检测到网络异常,将通知DDoS攻击识别模块,在该模块中,利用机器学习技术对DDoS攻击进行识别。
2.2 基于机器学习的攻击识别模块
1)基于机器学习的DDoS攻击识别机制
在发生DDoS攻击时,网络环境中的某些特征在统计上与正常流量差异较为明显,如IP数量、端口数量、双向报文数量等特征值。因此可以利用机器学习技术分析正常流量和异常流量数据,提取特征值并建模,以识别DDoS攻击。
基于机器学习的DDoS攻击识别机制首先进行训练和测试,训练数据集和测试数据集的处理如下文所述。训练和测试完成后将得到分类模型,DDoS攻击识别器加载该分类模型后根据实时从报文中提取出的特征值进行DDoS攻击识别。
为了达到实时性,本文选择以2s为时间单位,在有报文流入该模块后,分析每个周期的流量情况,提取该周期内的特征值,形成特征向量,由训练好的DDoS攻击识别程序进行分类,以进行实时DDoS攻击检测。
2)数据集处理
为达到最佳训练效果,本文选用CICIDS2017数据集[13],该数据集由标记的网络流组成,包括完整的数据包pcap文件和进行过标记的CSV文件等。
本文首先从数据集中提取与DDoS攻击相关的报文和相应的CSV文件,根据已知的DDoS攻击的发生时间和攻击者与受害者IP等信息,对不同的记录进行标记,将正常记录标记为0,DDoS攻击记录标记为1,提取出正常记录约9.0万条,攻击记录约13.0万条,共约22.0万条。
随后对数据集进行随机划分,按照9:1的比例将数据集划分为训练数据集和测试数据集,数据集划分结果见表1。
表1 数据集划分结果
3)特征选择与分类器
特征选择指的是在特征向量中选择出那些优秀的特征,组成新的、更精简的特征向量的过程。它在高维数据分析中十分常用,可以剔除冗余和无关的特征,提升分类器的性能。
本文在选择特征时基于协议分析和流量模型分析等两大类方法,泛化性较好。本文采用封装的特征选择方法,其核心思想是将子集的选择视为一个搜索优化问题,生成不同的组合,对这些组合进行评估,并与其他组合进行比较。
在特征选择的过程中,采用的具体算法为递归消除特征法。首先随机构建模型,然后选出最差的特征,把选出来的特征剔除,在剩余的特征中重复这个过程,直至遍历完所有的特征值。该特征选择法使用比较简单,可以面向分类器算法进行优化,但由于存在庞大的搜索空间,因此可能具有不稳定性,需要通过知识储备预先定义启发式策略,因此本文在选择特征的过程中,同时考虑了Karimazad的建议[14],最终选择表2中的11个特征值进行DDoS攻击识别和分类。其中,8个特征值为计数特征值,可直接从防火墙设备上的硬件计数器获取,3个特征值为计算特征值,需要在防火墙软件层进行简单计算。
表2 DDoS攻击检测算法特征值
分类器作用是在标记好类别的训练数据基础上判断一个新的观察样本所属的类别。针对DDoS攻击识别,分类器依据的学习方式为监督学习,每个训练样本包括训练样本的特征和相对应的标签。
本文选取支持向量机(support vector machine, SVM)分类算法,利用支持向量机建立的分类器能够同时最小化经验误差与最大化几何边缘区,提高查准率和查全率。软件选择开源的支持向量机的库LibSVM[15]。
2.3 软硬件结合的DDoS攻击检测原型系统
为验证所提的DDoS攻击检测算法能够低能耗、高准确率地检测出DDoS攻击,在电力监控系统防火墙装置中编写软硬件代码,根据2.1节和2.2节中的算法实现了DDoS攻击检测原型系统,原型系统运行在该防火墙上。
原型系统由三个模块组成:FPGA模块、硬件感知模块和在线识别模块。首先根据需求对FPGA进行编程,使电力监控系统防火墙设备在转发报文的同时可以进行计数,并提供2.2节中要求的计数型特征值。
硬件感知模块定期读取防火墙的硬件计数器,根据阈值判断网络是否波动。在线识别模块在硬件感知模块识别出异常的网络波动后启动,提取报文的特征值,并使用训练好的分类器模型识别是否为DDoS攻击。原型系统的流程如图2所示。
3 实验与分析
3.1 实验环境
采用变电站网络交换机作为网络交换设备,电力系统专用防火墙中安装DDoS攻击检测原型系统,PC作为终端,针对服务器进行DDoS攻击检测实验。所有机器均直接或间接地连接在变电站网络交换机上,彼此可以互相访问,其中服务器与PC之间安装有电力监控系统防火墙。实验拓扑如图3所示。
在PC1和PC2上,运行DDoS攻击流量产生软件Hyenae,用于模拟对服务器进行DDoS攻击,PC和服务器上均运行变电站站内通信常用程序等以模拟正常流量。PC2除了运行以上程序外,还用作电力监控系统防火墙的控制器,用于配置流表、下发规则、离线训练分类器、下发分类器模型及控制DDoS攻击产生器等。在电力监控系统防火墙中,运行2.3节中实现的软硬件结合的DDoS攻击检测原型系统。
图2 原型系统流程
图3 实验拓扑
3.2 实验内容
首先通过Hyenae程序产生大量的正常流量和TCP、UDP、ICMP等攻击流量,在防火墙中采集报文,每隔单位时间汇总至控制器处,本次数据采集共运行2天,每一种类型(Normal、TCP、UDP、ICMP)各24h,每隔2s采集一次数据,共采集17.28万条数据,然后在控制器上训练SVM分类器,并采用Radial Basis核函数[16]进行验证。训练完成后控制器将分类模型更新至电力监控系统防火墙装置的配置中。
实验开始后,在两台机器之间正常通信,将某电力监控系统站内报文进行还原和重放,分类结果一直显示为0(即没有攻击产生),在Hyenae产生攻击流量(TCP SYN Flood)后,分类结果显示为1(即有TCP SYN Flood攻击),当调整DDoS攻击类型后,如进行UDP Flood攻击时,电力监控系统防火墙装置中的分类程序显示结果为相应的代码。
3.3 实验结果分析
在发起攻击后,本实验监控DDoS攻击检测和识别的实时性能。实验发现,识别系统可以在1~2个周期内,即2s内确定DDoS攻击类型,并通过控制台打印攻击类型。每种攻击类型测试10min,计算周期2s,计算识别准确率。表3为实时DDoS攻击识别程序对不同类型攻击的识别准确率。
表3 不同DDoS攻击的识别准确率
由表3可见,该方法能够准确识别TCP、UDP、ICMP三种不同类型的DDoS攻击,其中对TCP SYN Flood攻击的识别准确率最高,达到96.3%。不同算法的对比见表4,由表4可知,与Karimazad提出的RBF神经网络算法[14]和Subbulakshmi提出的EMC-SVM算法[17]相比,本文提出的基于硬件感知器和在线SVM的DDoS攻击检测有更高的准确率,较高的准确率为后续的DDoS攻击流量的清洗提供了前提。
表4 不同攻击检测算法的准确率对比
同时注意到,在线识别对防火墙装置的系统资源消耗较大,所以本文采用硬件感知结合机器学习在线识别的方式对DDoS攻击进行检测,降低了资源使用率。实验中对防火墙装置的资源使用率进行了监控,其在识别期间的CPU和RAM的使用率变化曲线如图4所示。
由图4可见,系统运行时CPU只使用了30%左右,当开始在线识别DDoS攻击后,CPU使用率最高也只是在35%左右,而RAM则一直稳定在42%~48%之间。由此可见,本文提出的实时DDoS攻击检测方法具有占用系统资源小的特点。
图4 检测期间防火墙装置的资源使用率
4 结论
本文提出了一种基于电力监控系统防火墙装置的软硬件结合的实时DDoS攻击检测方法,该方法采用软硬件结合的方式,首先利用硬件计数器感知网络状态,占用资源较少,在检测到可能的网络异常后,使用机器学习技术在线识别DDoS攻击。由于电力监控系统防火墙装置可以从硬件层面提供大多数特征值,因而大大减少了计算量,达到实时检测的效果,且准确率较高。实验表明,本文所提方法可以有效地进行实时DDoS攻击检测。
[1] 陈超群, 陈勃, 刘布麒, 等. 轨道交通网络信息安全防护系统研究与设计[J]. 电气技术, 2020, 21(2): 50-55.
[2] 王刚, 张向东, 陈顺利, 等. 依托灰关联投影的配网自动化通信网络安全性评价研究[J]. 电气技术, 2019, 20(6): 66-69.
[3] 金能, 梁宇, 邢家维, 等. 提升配电网线路保护可靠性的远方保护及其与就地保护优化配合方案研究[J]. 电工技术学报, 2019, 34(24): 5221-5233.
[4] 张浩然, 贾帅锋, 赵冠华, 等. 直流控制保护系统网络安全分析与对策[J]. 电气技术, 2020, 21(1): 110- 112.
[5] 汤奕, 李梦雅, 王琦, 等. 电力信息物理系统网络攻击与防御研究综述: (二)检测与保护[J]. 电力系统自动化, 2019, 43(10): 1-9.
[6] 杨挺, 侯昱丞, 赵黎媛, 等. 基于时-频域混合特征的变电站通信网异常流量检测方法[J]. 电力系统自动化, 2020, 44(16): 79-86.
[7] 苏盛, 吴长江, 马钧, 等. 基于攻击方视角的电力CPS网络攻击模式分析[J]. 电网技术, 2014, 38(11): 3115-3120.
[8] DOSHI R, APTHORPE N, FEAMSTER N. Machine learning ddos detection for consumer internet of things devices[C]//2018 IEEE Security and Privacy Workshops (SPW), San Francisco, USA, 2018: 29-35.
[9] SHIAELES S N, KATOS V, KARAKOS A S, et al.
Real time DDoS detection using fuzzy estimators[J]. Computers & Security, 2012, 31(6): 782-790.
[10] MOUSAVI S M, ST-HILAIRE M. Early detection of DDoS attacks against SDN controllers[C]//2015 International Conference on Computing, Networking and Communications (ICNC), Garden Grove, USA, 2015: 77-81.
[11] IDHAMMAD M, AFDEL K, BELOUCH M. Semi- supervised machine learning approach for DDoS detection[J]. Applied Intelligence, 2018, 48(10): 3193- 3208.
[12] YANG Xiang, LI Ke, ZHOU Wanlei. Low-rate DDoS attacks detection and traceback by using new information metrics[J]. IEEE Transactions on Infor- mation Forensics and Security, 2011, 6(2): 426-437.
[13] SHARAFALDIN I, LASHKARI A H, GHORBANI A A. Toward generating a new intrusion detection dataset and intrusion traffic characterization[C]//4th Inter- national Conference on Information Systems Security and Privacy (ICISSP), Portugal, 2018: 108-116.
[14] KARIMAZAD R, FARAAHI A. An anomaly-based method for DDoS attacks detection using RBF neural net-works[C]//Proceedings of the International Con- ference on Network and Electronics Engineering, Singapore, 2011, 11: 44-48.
[15] CHANG C C, LIN C J. LIBSVM: a library for support vector machines[J]. ACM Transactions on Intelligent Systems and Technology (TIST), 2011, 2(3): 1-27.
[16] BUHMANN M D. Radial basis functions: theory and implementations[M]. UK: Cambridge University Press, 2003.
[17] SUBBULAKSHMI T, BALAKRISHNAN K, SHALINIE S M, et al. Detection of DDoS attacks using enhanced support vector machines with real time generated dataset[C]//2011 Third International Conference on Advanced Computing, India, 2011: 17-22.
Real-time DDoS attack detection method in power monitoring system
MIAO Haifei CAO Xiang LIN Qing HU Shaoqian TANG Zhenyu
(NR Electric Co., Ltd, Nanjing 211102)
Aiming at the problem that distributed denial-of-service (DDoS) attacks in power monitoring system are difficult to identify in real time with high accuracy and low energy consumption, a real-time DDoS attack detection method based on firewall is proposed. The method adopts a combination of software and hardware. On the hardware side, the firewall uses field programmable gate array (FPGA) to collect message data in real time, update counters when forwarding messages, provide real-time characteristic values required for detection and perform attack prediction. On the software side, it runs a recognizer based on machine learning. The hardware senses the network status in real time when collecting packet data. Once the network is abnormal, the online identifier is launched to detect DDoS attack. A DDoS attack detection prototype system based on this method is implemented and deployed. Experiments show that the method can detect DDoS attack in real time with low resource occupancy and high accuracy.
power monitoring system; distributed denial-of-service (DDoS) attack; detection; real time; machine learning
2021-08-23
2021-09-30
缪海飞(1994—),男,江苏如东人,硕士,工程师,主要从事变电站网络安全和变电站自动化系统的研究与开发工作。