基于行为分析的电力调度系统入侵检测

2023-12-09 02:55柳乐怡李博威
电子设计工程 2023年23期
关键词:日志结构化调度

武 婕,邓 彬,郝 蛟,柳乐怡,李博威

(1.深圳供电局有限公司系统运行部,广东深圳 518000;2.兴唐通信科技有限公司智能业务中心,北京 100191)

电力调度系统承担着控制、监测、调节电力生产过程的任务。电力调度系统数据的完整性破坏和精准篡改,会严重影响系统的正常运行和现场人员的最终决策[1-3]。随着APT(Advanced Persistent Threat)的兴起,针对电力调度系统的网络攻击呈现出时间和空间跨度大的特点,传统静态的、基于规则匹配的入侵防护机制已经无法适应现阶段的防护要求[4-6]。

该文针对电力调度系统入侵检测手段静态、单一的问题,提出基于行为分析的电力调度系统入侵检测方法。通过Filebeat 工具收集终端行为序列;结合电力调度系统任务相对固定、行为相互关联的特点,创新性地将非结构化日志转化为结构化日志,构建调度系统行为序列预测模型,对入侵行为进行检测。

1 电力调度系统入侵行为特点

电力调度系统被入侵行为破坏的原因主要包括:

1)调度系统机密性被破坏[7-9]。电力系统信息流、控制流的频繁交互,以及终端设备的广泛部署,导致机密数据泄露。

2)调度系统的可用性被破坏。电力终端处于外部暴露环境中,容易被针对性地捕获和攻破[10-12]。攻击者能够利用终端设备作为跳板,向电力调度系统内联网渗透,或通过与C&C(Command&Control)主机互联,进行木马感染或分布式拒绝服务攻击。

电力调度系统入侵行为特点如下:

1)攻击手段多样

病毒、恶意代码等威胁手段可以通过“多态”技术,生成不同的病毒样本,有效规避检测手段。

2)攻击速度快

在大数据的掩护和遮蔽下,攻击者持续、精准地发起网络攻击。从系统漏洞被发现到利用其进行有针对性地攻击,留给攻击分析与安全防御的反应时间极短[15]。当前智能电网数据量级呈指数级增长,很容易导致攻击行为漏检。

2 电力调度系统入侵检测

2.1 基于LSTM的异常检测模型

现阶段,电力调度系统的日志分布具有时间跨度较大的特征,静态的、单一的、基于规则匹配的检测方式无法将行为在时间维度上关联起来,因此,该文使用长短期记忆(Long Short-Term Memory,LSTM)时序模型实现异常检测。

LSTM 模型能够根据当前状态对后续状态进行预测和判断,在处理时序问题时有较好的表现。LSTM 解决了RNN 中的梯度爆炸和梯度消失问题。LSTM 的结构如图1 所示。

图1 LSTM记忆单元的结构

如图1 所示,在t时刻模型的输入数据为xt,ht表示隐藏层的输出数据,则前序输出表述为ht-1。当前模型整体信息的输入和输出状态分别是和ct。计算ct和ht需要先计算模型三个门的信息状态:

输入门it的信息输出状态计算公式如下:

遗忘门ft的信息输出状态计算公式如下:

输出门ot的信息输出状态计算公式如下:

模型的整体信息输入状态计算公式为:

LSTM 模型经过三个门的入侵检测处理提高了处理效率,同时增强了检测处理在时间维度上的关联,提高了检测结果准确率。

2.2 实现电力调度系统入侵检测

对电力调度系统异常行为进行检测,本质是将异常行为与正常行为进行区分,映射到人工智能领域,属于分类问题。该文通过对电力调度系统进行日志采集、分析、特征化和模型训练,达到最终异常行为检测的目的,其主要流程如图2 所示。

图2 电力调度系统入侵检测流程

如图2 所示,基于行为分析的电力调度系统入侵检测方案主要分为以下步骤:

1)日志采集。由于电力调度系统通常部署在UNIX 系统中,承担大量的任务,其运算和存储的资源有限[16],为了通过系统日志文件达到获取主机系统行为的目的,该方案中,利用日志采集工具,对电力主机系统中,感兴趣的系统日志进行采集,并以此为依据进行后续的研究实验。

2)模板解析。电力调度系统中的系统日志、操作日志等为非结构化日志,此类日志由不同规则定义,长度不统一,难以通过特定模板提取内容信息,为了将系统中非结构化日志转换为结构化日志,该文采用模板解析的方法对日志文件进行处理,为后续特征提取提供基础。

3)行为向量生成。使用机器学习的相关方法解决网络安全问题,首先,需要将安全相关数据转换成机器学习算法能够理解的编码格式,并尽可能地保留原始数据本身以及上下文的特征。根据模板解析的结果,对提取出的日志键进行one-hot 编码,将结构化数据转换生成行为向量。

4)模型训练。采用机器学习算法进行异常行为检测,首先,构造标记数据的训练集和测试集;其次,结合数据特征和安全场景需求,采用适当的机器学习模型,在该文中,拟采用决策树、随机森林、SVM、OCSVM 和LSTM 五种方法进行实验。

5)模型反馈。一方面,对模型的效果进行评估,并结合参数进行讨论;另一方面,定时对模型进行更新。

2.2.1 入侵数据采集

对电力调度系统进行入侵行为检测,首先要获取电力调度系统的相关日志信息。该文采用部署日志采集工具的方式,对感兴趣日志进行采集,如图3所示。

图3 电力调度系统日志采集示意图

该文采用Filebeat 工具用于对感兴趣日志进行查找和采集,在配置文件中配置感兴趣日志的type、path 字段,设置索引名称。最后将输出地址设置为Logstash 的地址以及端口,对数据进行转发。

部署Logstash 组件,用于接收Filebeat 所提供的日志信息,由于Filebeat 监控多个日志文件,因此需要对Logstash 进行配置,用以对多种日志内容进行解析,并存储在本地进行后续分析。

如图3 所示,为电力调度系统日志采集的示意图。在采集过程中,该文采用离线采集的方式,获取深圳供电局某站某电力调度系统在一段时间内的日志内容,并将其存储在PC 端待后续分析。

2.2.2 特征提取

在对电力终端设备异常行为进行检测的过程,可以看作是一个机器学习二分类问题。在机器学习模型训练过程中,特征提取起着至关重要的作用,其本质上承担着安全问题映射二分类问题的任务,提取准确的特征能够有效地区分电力调度系统正常行为和异常行为,同时,准确的特征向量能够提高模型的分类效果。

通常情况下,电力调度系统异常主要包括以下两个方面。

1)内容错误,即日志数据本身记录的异常信息。如在日志信息中出现“error”信息,则可直接判定为异常。

2)序列错误,即违背电力调度系统长期工作形成的行为基线的情况。日志中所记录的动作顺序异常。

2.2.3 实现入侵检测

针对上述异常情况,结合日志采集得到的非结构日志数据,提取相关行为向量。首先将非结构化日志转化为结构化日志,该文采用SPELL 算法,该算法通过寻找日志之间长的公共子序列,对日志进行结构化解析,该算法将日志分解为事件模板和参数序列,该文使用该算法解析的事件模板的集合,即日志键序列进行下一步处理。

在提取到相关日志键序列后,对于机器学习算法来说仍然不能训练,日志键序列仍是文本形式,对于机器学习算法来说,输入应为数值型,因此对日志键序列进行one-hot 编码,将日志键序列中每一个元素生成为行为向量。利用LSTM 对SPELL 算法获得的入侵检测模型进行检测,本质上是通过构建分类模型解决行为向量的二分类问题,完成检测,获得精确度最优解。

3 实验结果与分析

该文以某电力调度系统采集的实际数据为基础数据,假设其全部为正常数据,参考实际电网运行过程中异常行为较少的情况,将其按照9∶1 的比例进行分配,其中90%作为正样本,其余的10%通过置换、替换等操作,构造异常报文和序列,以此作为训练数据集,并以同样的方式构造测试集。最终的数据如表1 所示。

表1 数据样本

同时,针对二分类问题,该文采用多种二分类算法来进行模型训练,主要包括决策树、随机森林、SVM、OCSVM 和LSTM 五种方法,验证该文使用的LSTM 模型的性能。

三个评价指标精确率(Precision)、召回率(Recall)、F1-Score 的计算公式分别如下:

式中,TP 为真正例数量,FP 为假正例数量,FN为假负例数量。

实验中统计样本分类正确率,采用10 次实验结果的平均值作为各个算法分类性能的评价指标。各类算法实验结果对比如图4 所示。

图4 五种算法性能比较

在实际模型训练的过程中,训练数据的不平衡,导致依赖标记数据比例的决策树、随机森林、SVM 三种算法的召回率较低,主要是因为负样本数量过少,机器学习模型学习到的特征也较少,而该文使用的LSTM模型在设计的过程中,充分考虑了序列之间的关联关系,其分类效果较好,LSTM 的F1-Score 为96%。实验结果表明,使用LSTM 方法提高了在样本不均衡情况下电力终端设备异常行为检测的能力。

4 结论

该文针对电力调度系统检测手段静态、单一的问题,提出基于行为分析的电力调度系统入侵检测方法。解析调度系统的日志信息,提取异常行为特征,并构建行为向量,采用LSTM 方法训练机器学习模型,进行调度系统异常行为检测。实验表明,该文采用的LSTM 模型的效果最优,有效解决了电力调度系统入侵检测的时间维度关联问题,提高了检测结果准确率。

猜你喜欢
日志结构化调度
一名老党员的工作日志
促进知识结构化的主题式复习初探
扶贫日志
结构化面试方法在研究生复试中的应用
《调度集中系统(CTC)/列车调度指挥系统(TDCS)维护手册》正式出版
一种基于负载均衡的Kubernetes调度改进算法
虚拟机实时迁移调度算法
游学日志
基于图模型的通用半结构化数据检索
基于软信息的结构化转换