李勇 韩俊飞 李秀芬 王鹏 王蓓
摘要:针对电网中行为种类复杂多样且数量众多的问题,提出了一种基于自回归模型的电网异常流量检测算法。该算法利用深度自编码网络自动提取网络流量数据的特征,降低异常流量检测的分析周期,并自动挖掘数据的层次关系。通过支持向量机对提取的特征进行分类,实现对异常流量的检测。仿真实验结果表明,所提算法可以分析不同攻击向量,避免噪声数据的干扰,进而提高电网异常流量检测的精度,对于流量数据处理具有重要意义。
关键词:自回归模型;深度学习;异常检测;海量数据;分析周期;支持向量机
中图分类号:TM76 文献标志码:A 文章编号:1000-1646(2024)01-0024-05
随着电网智能化技术的广泛应用和快速发展,电网系统受到的网络攻击种类及数量也在大幅增加。这些攻击行为对电网终端、数据和系统等各层级造成了安全威胁,给电网的信息安全带来了负面影响与严重损失。因此,研究电网所受到的攻击行为,并检测出异常电网流量是保证电力防御安全的关键。
目前,智能电网为了应对网络攻击主要采用检测和防御两种安全措施。检测即采用智能分析算法检测出电网中的异常与入侵流量,并通过记录、监控和报警等方式进行警报;防御则是对检测到的异常流量进行抵御,包括对网络传输信息与节点间调度信息的确认。由于防御措施通常是异常行为检测报警后才执行,因此对智能电网中的异常流量进行检测是保障电网安全的关键环节。
电网异常流量的检测一般通过在已有数据库的基础上制定各种特征提取方案,采用静态与动态分析相结合的方式识别出电网异常流量的类型。具体过程为:使用静态分析方法分析数据行为流过程;调用该数据片段的安全函数并标识出数据中的缺陷片段,找出数据流的相关漏洞;使用动态检测方法提取异常流量数据中的相关片段,并将其转化为异常行为特征。虽然这类方法能有效地识别出各种电网异常流量,但电网中的行为种类复杂多样且数量众多,当使用上述方法检测电网中异常流量时,通常需要处理大规模的数据,分析周期较长,导致系统响应时间延长。同时,现有的异常流量攻击方法为了提高攻击成功的几率,通常会延长攻击时间,导致单位时间内识别准确率降低。
针对上述问题,本文提出了一种基于自回归模型电网异常流量检测算法。该算法采用深度自编码网络自动提取网络流量的数据特点,从而降低异常流量检测算法的分析周期,且自动挖掘出数据的层次关系。同时,现有的网络攻击方法为了提高攻击的隐蔽性,会在异常流量数据中添加正常的数据。现有的检测方法通常会将其识别为噪声,使得检测性能降低。本文提出的基于深度自编码网络的特征提取方法,可以在保证稳定输出的同时得到异常流量的特征。同时,本文还采用支持向量机对深度网络提取的特征进行分类,最终检测出异常流量。
1 基于深度自编码器的特征提取
传统的智能电网攻击检测方法一般通过挖掘攻击行为序列来提取约束特征,并使用相应的攻击算法来提取攻击特征。虽然这类方法能够提取出各种攻击特征,但这些特征来源于截取的攻击行为序列,且忽略了周围数据间的差异。因此,该方法无法保证提取出的特征有利于攻击类型的判断。为了解决该问题,本文根据已知攻击行为构建约束条件来得到攻击向量;结合静态与动态特征分析方法,提取攻擊向量的行为特征;使用深度自编码网络对行为特征进行重组,提取出判别性特征。本文特征提取的具体过程如图1所示。
1.1 攻击向量提取
由于电网数据受到攻击时,无论攻击代码的隐蔽性有多高,其攻击目标是不变的,所以不同的攻击方式中存在着一些无法避免的攻击步骤。因此,本文在特征建模阶段将攻击者掌握的结构信息转化为检测阶段的约束条件,以此减少噪声数据的干扰。在智能电网中,攻击优势可以转化为3种约束特征:
1)攻击者能获取到电网内节点的分布情况;
2)攻击者能预知部分检测机制;
3)攻击者通过添加噪声来最大化攻击收益,即最大化攻击目标函数,其表达式为
式中:a、b分别为攻击向量和正常数据;p和q为权重,本文取p=q=1;r=a/L,其中L为状态测量精度;D为测量数据脆弱程度矩阵。
本文充分考虑上述3种约束特征和攻击数据间的差异性,从而反向求解式(1)得到攻击向量。其中,3种约束条件可表示为
式中:τa为攻击类型的阈值;c为基于正常数据集合的向量;H为智能电网节点的分布信息;M和Ⅳ为攻击行为向量。本文为了简化计算,将M和N表示为对角向量,则有
3 实验与分析
本文采集包含20种攻击类型的1000条智能电网攻击数据和正常数据进行仿真分析。其中,800条作为训练数据,剩下的200条作为测试数据。为了验证所提方法的有效性,将本文算法与决策树算法和逻辑回归算法结果进行比较。
由于模型性能主要受负载数量、判断阈值和噪声的影响,本文将这3个因素作为变量分析模型来检测性能。设置环境噪声为高斯白噪声,并比较不同检测模型在不同负载数量情况下的性能变化,结果如图3所示。从图3中可以看出,本文所提出方法的检测精度能够稳定在95%以上。当负载数量为30时,所提出方法的精度最高仍优于各比较方法。由于实验是随机选择负载参与精度测试的,负载的不一致导致各种方法的检测精度不会随着负载数量的变化发生单调增或单调减。
本文将负载数量固定为64,环境噪声设置为方差为0.5的高斯白噪声,比较检测阈值在1-5时检测精度的变化,结果如图4所示。从图4中可以看出,提高阈值可以提升检测精度,但容易导致模型过拟合。同时相较于其他算法,文中算法最高的检测精度为95.7%。
为了比较环境噪声对检测性能的影响,本文设置负载数量为64,阈值设置为10,比较环境噪声方差在1-5时不同算法的检测精度,结果如图5所示。从图5中可以看出,本文算法在各噪声范围内均具有较高的检测精度。相比于其他算法,本文算法在噪声方差减小至5时,检测精度仍能维持在80%以上,而其他算法的检测精度明显降低。
为了比较所提出的异常行为分类模型和传统SVM模型的性能,本文对20种异常流量数据进行了分类,结果如图6所示。从图6中可以看出,相较于传统的SVM分类算法,文中所提出的方法具有更高的分类精度。这是因为传统的SVM模型在执行异常行为分类的过程中,并未进行特征选择操作,导致分类模型容易受到各种噪声数据的干扰。而本文算法将SVM的优化过程与深度自编码网络的参数优化过程进行联立求解,可以提取出更优鲁棒参数。
4 结束语
本文基于深度自编码网络和支持向量机提出了电网异常流量检测算法,在保证稳定输出的同时能够准确地检测出智能电网中的异常流量数据。通过深度自编码网络的训练,该算法能够自动挖掘数据的层次关系,提取出数据的高层次特征。利用支持向量机对特征进行分类,可以将正常流量和异常流量分开,实现异常流量的检测。仿真实验结果表明,该算法能够分析不同类型的攻击向量,有效避免噪声数据的干扰,提高智能电网异常流量的检测精度。因此,本文算法具有较高的实用价值和应用前景。
(责任编辑:杨树 英文审校:尹淑英)