新一代工业自动化和控制系统的入侵与异常检测

Intrusion and anomaly detection for the next-generation of industrial automation and control systems(新一代工业自动化和控制系统的入侵与异常检测)


论文原文:Intrusion and anomaly detection for the next-generation of industrial automation and control systems
出版:Future Generation Computer Systems (Volume 119, June 2021, Pages 50-67)


一、摘要

下一代工业自动化和控制系统(IACS)以及监控和数据采集(SCADA)系统在网络安全监控方面提出了许多挑战。
本文首先回顾了SCADA系统最新的异常检测技术,重点介绍了理论机器学习方法和完整的框架。然后,提出了一个完整的入侵和异常检测系统(IADS)框架,该系统由特定的检测探针、事件处理层和核心异常检测组件等组成。最后,本文在一个大型混合测试平台上对该框架进行了评估,并基于各种机器学习方法比较了不同的异常检测场景。

二、整体介绍

本文描述了一种入侵和异常检测系统(IADS),该系统专门用于应对下一代IACS的体系结构和安全挑战,并以能源智能电网为参考场景进行了测试。
本文的贡献有三个方面。首先,作者对过去四年的SCADA异常检测进行了广泛的文献回顾。其次,作者描述了一个完整的框架,用于在IACS环境中执行入侵和异常检测。第三,通过展示几种基于监督机器学习分类的异常检测场景,作者对该平台进行了评估。

三、文献回顾

本节主要概述了过去四年针对IACS、实用框架和安全信息与事件管理(SIEM)系统而提出的异常检测理论,其中主要包括基于机器学习的入侵与异常检测以及针对SCADA提出的安全信息和事件管理系统框架。以往研究的问题主要有三方面:(1)用于分析入侵与异常检测的数据来源不够全面,可检测到的攻击不全面;(2)SCADA环境具有复杂性,潜在的不同类型的特征会严重影响机器学习模型的性能;(3)缺乏训练机器学习模型的数据集。

四、入侵与异常检测框架

1. IADS框架设计思想

作者提出的IADS框架的设计思想主要体现在:

  • 设计一个灵活的框架和一个全面的SIEM,能够从多个领域收集有价值的数据,高效地处理这些数据,集成多种检测机制,使得能覆盖更大的攻击面
  • 考虑到大量数据的实时性处理要求,框架由数据驱动
  • 框架是灵活易扩展的,以适用不同的部署环境

IADS整体架构如下所示,主要包括一组可按需部署以满足不同需求的分布式探针,一个可适应不同拓扑平台的弹性数据流平台,以及集成多种技术的全局事件处理框架.

2. 网络-物理探针和组件管理

网络-物理探针是根据需求部署的物理或虚拟组件,用于收集现场数据。为了统一各探针的数据输出形式,作者基于Apache Avro序列化系统设计了一个通用数据模型,用于描述时间和遥测信息。此外,为了用一种统一的方式管理探针和组件,作者开发了通用事件适配器和通用配置代理。构建在MQTT协议之上的配置代理将组件的设置抽象为基于文本的配置和一组常见操作(读、写和执行),这允许通过公共web界面远程和动态地配置每个组件属性。

3. 事件流处理

Kafka的优势:(1)在不牺牲延迟的情况下实现高消息吞吐量-可能每秒支持数百万条消息;(2)Kafka具有多种容错和耐用性功能;(3)消息被消费后不会被删除;(4)支持流处理。因此,作者使用了Kafka来实现消息传递系统和域处理器。
下图是使用Kafka Streams DSL API将消息按照时间窗口进行特征聚合的示意图。原始的消息由探针输入,经域处理器进行特征聚合后,多条消息聚合为一条消息,进入SIEM层。

4. SIEM组件

SIEM组件聚合来自多个域的事件流,并基于一组机器学习算法,最终将事件分类为正常或异常。作者使用Apache Spark重新组装lambda体系结构,以便有一个能够处理两种类型的数据处理技术的统一平台:流处理(快速路径)和批处理(慢速路径)。
下图展示了异常检测任务的过程,该异常检测任务用于将来自kafka topic的每条消息分类为正常或异常。SIEM订阅多个域的topic。第一步,来自域处理器的消息直接映射到Spark数据集的一行;第二步,使用查找函数转化已知的特征,并将结果附加到初始数据集;第三步,特征数据预处理;第四步,使用提前训练好的机器学习模型对消息进行分类,并将结果附加到新的一列;最后,对于每个检测到的异常,产生一条新消息,推回到Kafka的topic。

5. 其他组件

简单介绍了软件定义网络(SDN)和网络功能虚拟化(NFV)技术,以及取证和合规审计子系统(FCA,位于架构图右侧)。

五、Evaluation

作者首先介绍了为实验提供支持的参考工业试验台,接着描述了评估用例,该用例用于评估几个监督学习的ML算法的性能(使用我们的平台)。最后,评估事件消息层,讨论不同的配置和服务目标场景。

1. HEDva试验台

功能验证在HEDva试验台中进行,该试验台由以色列电力公司(IEC)建造,模拟了智能电网的真实情况。

2. 攻击场景——数据泄露

为了对IADS框架进行验证,作者模拟了使用DNS隧道窃取PLC数据的攻击,下图展示了作者搭建的实验环境。首先,在云中配置了一个服务器,作为两个以前注册的域的权威DNS服务器。然后,使用两种流行的DNS隧道工具生成了23种攻击场景。在IADS中,为了展示不同的异常检测功能,开发了一个DNS探针,用于从DNS网络流量中提取数据包的特征。最后,开发了一个SIEM应用程序,用于将每条消息分类为正常或异常。

实验产生了三个数据集(见下表),DS1包含超过15000条的记录(每个DNS数据包一条),包括正常和异常的DNS流量,DS2包含特征聚合后的记录(每个时间窗口一条记录),DS3包含DS1的25个特征,包括DS1上每个特征的平均值和标准差,以及每个窗口的数据包的数量。三个数据集代表不同了应用场景,DS1预处理步骤的计算量更少,但分类算法的计算量更大;DS2,仅使用聚合事件来训练异常检测模型,意味着在域处理时需要更多的计算,但是SIEM需要分类的事件更少;DS3使用特定于DNS的特征,DS2使用网络数据包通用特征进行训练,更具有普遍性。

各数据集使用的特征见下表,对每个数据集使用了九种算法分别进行模型学习,其中70%的记录用于训练,30%用于测试。九种算法分别是Decision tree,Random forests,GBT,XGBoost,LightGBM,Linear SVM,MLPC,Navie Bayes和Logistic regression。

3. 性能指标

本节对应用于各数据集的每种算法的性能进行了介绍。
下表展示了DS1数据集上各机器学习算法的结果。所有模型的准确率都超过了90%,没有一种算法的度量指标全部优于其他算法,但是整体上看GBT、XGBoost和LightGBM提供了最好的结果。

下表展示了DS2数据集上各机器学习算法的结果。由于DS2特征数目减少,结果整体上次于DS1,这是效率与精确度的平衡。

下表展示了DS3数据集上各机器学习算法的结果。由于使用了大量特征,包括限定于DNS的功能,因此结果相较于DS2有了改进。

下图显示了DS3数据集中各特征对XGBoost模型的平均影响力。由图可知,DNS名称是否出现在Alexa top sites列表中是最重要的特征,DNS响应报文的长度也在分类中起着重要作用。

4. 事件消息的评估

本节通过实验说明了基于Kafka的事件消息传递层具有优秀的灵活性、扩展性和事件处理能力,能够适应广泛的场景。用户可以根据需求对Kafka进行配置和优化,以获得较好的吞吐量、延迟和数据冗余。

5. 小结

多种监督机器学习算法的二进制分类检测过程,展示了IADS在合并和组合不同算法时的灵活性。­­
Apache Spark已被证明与SIEM组件的实现非常匹配,它提供了高效的分布式计算能力,以及流式处理和批处理的统一方法。­
对于基于Kafka的事件传输和预处理机制,结果证明它能够处理不同的场景需求,如低延迟、高吞吐量或耐用性,同时保持足够的性能水平。

总结

近年来,大多数与IACS相关的安全开发都集中在SCADA协议及其漏洞上,这种方法产生了大量与SCADA安全相关的组件和解决方案。除此之外,大多数研究和行业努力似乎都局限于理论或具体问题。
本文提出的框架能够集成不同的技术和算法,而不是取代现有的特定领域检测工具。IIoT或5G等新范式正将重点转向集成、性能和可扩展性,因此,本文设计的IADS是一种进步,它构成了一个多个异构组件可以集成并一起使用的框架,为监控复杂SCADA环境的安全提供了一种高效和全面的方法。中间处理层和域处理器的使用是支持边缘计算以优化、预处理和过滤推送到上层的内容的重要一步。­­­­
另一方面,这种高度灵活和分布式方法为使用带来了新的挑战,主要体现在:(1)管理平台本身的复杂性增加;(2)ML过程不够自动化;(3)对于其他攻击场景,文献中提出的众多异常检测算法的可行性和实用性评估也需要进一步测试;(4)没有提供高级隐私保护机制。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值