ShadowPLCs A Novel Scheme for Remote Detection of Industrial Process Control Attacks

SHADOWPLCS是针对工业过程控制攻击的新检测方案,通过分析PLC控制代码,提取关键参数进行实时检测。方案包括主动与被动检测,能有效检测非法地址访问、恶意数据注入等攻击,克服传统IDS局限。
摘要由CSDN通过智能技术生成

一、摘要

  本文提出了一种检测工业过程控制攻击的新方案,称为SHADOWPLCS。该方案首先对PLC控制代码进行自动分析,然后提取PLC的关键参数,包括有效寄存器地址、有效值范围、控制逻辑规则等,作为评估攻击的依据。通过主动与PLC通信和被动监控网络流量,从不同角度实时检测攻击行为。

二、介绍

  目前仍存在现有工业网络入侵检测系统(IDS)无法检测或阻止的关键攻击,IDS很难从根源上检测隐蔽的攻击。主要有三方面的原因:

  • 从目标系统中并不总是观察到一致的特征,限制了检测规则的提取。
  • 每个ICS都是唯一的,因此,领域专家必须密切参与检测规则的创建。但是,这个过程是非常昂贵和耗时的,可能源于专家的错误,从而错过了检测规则中的关键细节。
  • 攻击者通常使用各种策略来逃避检测。

  为了克服现有解决方案的局限性,我们提出了一种新的攻击检测方案SHADOWPLCS。通过分析五种具有代表性的工业过程控制攻击:非法访问地址攻击、恶意数据注入攻击、配置篡改攻击、控制逻辑感染攻击和控制程序替换攻击,激发了ICS对SHADOWPLCS的需求。
  SHADOWPLCS自动分析PLC控制代码,提取PLC关键参数,包括有效寄存器地址、有效值范围、控制逻辑规则等,作为检测攻击的基本。基于这些规则SHADOWPLCS主动与PLC通信,映射其存储空间,被动监控网络流量,并从不同角度实时检测过程控制攻击。

三、攻击建模

(一)对手模型

  对手可以对PLC进行远程网络攻击,如获取控制中心的控制权限或作为中间人攻击PLC。我们认为对手的目标是操纵或扰乱实际的工业控制过程。在本文中,我们将近年来针对PLC的网络攻击方法分为两类:1)虚假数据注入;2)控制逻辑注入。
  虚假数据注入是指将不符合工业控制过程的恶意数据注入PLC,最终导致过程控制的破坏。例如,写反转或最小/最大,修改关键设定点变量和进程值。
  控制逻辑注入是指篡改或替换在目标PLC上运行的原始控制逻辑,攻击者通过干扰正常的下载/上传控制逻辑工程操作,向目标PLC注入恶意控制逻辑。

(二)攻击场景

  基于上面讨论的对手模型,我们考虑以下可能严重扰乱工业控制过程的攻击场景: 非法访问地址攻击、恶意数据注入攻击、配置篡改攻击、控制逻辑感染攻击、控制程序替换攻击。
  非法地址访问攻击。 在这个攻击场景中,假设PLC是对手的黑盒,但对手有能力远程访问PLC的寄存器空间。为了有效地攻击PLC,攻击者首先会探测PLC的寄存器空间,找到攻击的关键执行点。这种攻击很容易发动,而且对手不需要知道实际的工业流程。
  恶意数据注入攻击。 假设对手已经知道PLC中的一些关键控制点,例如控制阀门打开或关闭的寄存器Q0.0。对手聚焦在这些关键控制点上,导致控制混乱。一种常见的攻击方法是强制对一个寄存器地址进行写操作,覆盖寄存器的当前值。
  配置篡改攻击。 假设攻击者获得了工业流程的一些知识,他们通过恶意篡改关键程序配置信息间接地破坏了工业流程。例如,篡改计时器和计数器设置等,发动延迟攻击。
  控制逻辑感染攻击。 假设对手有能力窃取PLC当前的控制程序。它们通过感染控制程序干扰实际的工业生产过程。例如,将I/O寄存器中的值替换为内存中某个地方的可控值,以控制执行器的状态。
  控制程序替换攻击。 在这种攻击场景中,攻击者并不感染原PLC控制程序,而是植入恶意控制代码,试图让PLC执行。因为这种攻击完全由对手控制,摧毁任何他们想要完成的工业过程,它具有很强的隐蔽性和破坏性,随时可以发动。

四、SHADOWPLCS方案原理

(一)规则生成

  利用PLC代码进行基于签名的检测规则生成。 通过分析PLC代码,可以识别的IDS签名集主要有三种白名单规则:有效地址规则、有效取值范围规则和控制逻辑规则。 如下图所示,演示如何使用PLC代码生成基于签名的检测规则。
检测规则
构建SHADOWPLCS的系统方法

(二)攻击检测

  本文提出了一种主动和被动相结合的入侵检测方案。 如下图所示,该IDS包括两个部分:被动检测引擎和主动检测引擎。被动检测引擎通过被动监控网络流量,检测非法地址操作、非法值违规等异常行为。主动检测引擎主动与PLC通信,映射低中断和轮询的PLC内存空间,实时监控工业控制过程中的异常情况。对于攻击者来说,要避免主动和被动相结合的入侵检测方案,实现隐身是非常困难和昂贵的。因为他们需要不断模拟正常的工业场状态,符合控制逻辑,甚至需要篡改设备的固件或网络通信模块,而不是通过简单的ARP欺骗和重放报文等传统手段欺骗IDS和控制中心。
过程控制攻击检测

①被动检测

  被动检测引擎首先将流经工业交换机的网络流量镜像,通过对工业控制协议的深入解析,提取出五元组信息(源IP、目的IP、源端口、目的端口、传输层协议)、操作地址、操作指令和具体值。然后检查上述信息是否符合有效地址白名单和有效值范围白名单,检测非法链接、非法地址操作、非法值等异常行为。
  算法1给出了被动检测的过程。第1行

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值