时间延迟注入攻击的检测

时间延迟注入攻击的检测与缓解:基于可编程逻辑控制器的工业控制系统

1 引言

工业控制系统网络应急响应小组(ICS‐CERT)最近发布的一份报告指出,许多组织的控制系统连接到了互联网,却并未意识到其系统可直接从互联网访问[1]。近年来,工业通信技术正逐步基于标准的以太网/TCP/IP协议栈运行[2]。在工业控制系统(ICS)中使用以太网协议带来了诸多优势,例如扩展控制设备的功能、实现远程控制以及在网络中使用虚拟机。诸如在智能手机或平板电脑上运行的远程人机界面(HMI)软件等技术产品,使操作人员能够远程管理工业控制系统。尽管这些优势使控制系统工程师能够构建成本效益高且用户友好的工业控制系统,但这种网络化连接也为大量针对工业控制系统的网络攻击打开了大门[3]。为证明这一点,我们成功在实验室测试平台上演示了一次时间延迟注入攻击。本文研究了该时间延迟注入攻击对工业控制系统的影响,并提出了一种利用递归延迟的方法估计被用于在注入后短时间内准确确定注入的时间延迟长度。

本文其余部分结构如下:第2节介绍本研究的背景。第3节描述所设计的实验平台架构,并提供有关互联网连接组件的信息。第4节讨论时间延迟攻击注入对工业控制系统的影响。第5节提出基于递归估计的时间延迟检测技术及获得的结果。最后,第6节包含本课题的结论及进一步的研究。

2 相关研究

在过去的二十年中,关于工业控制系统(ICS)中的时间延迟问题以及各种控制方法的研究文献[4–6]层出不穷。尽管大多数策略在控制理论上有充分依据并提供了可行的解决方案,但这些方案并非在网络安全背景下开发的。例如,文献[7]提出了一种离散时间跳变系统方法,利用V‐K迭代算法设计稳定化控制器。然而,该控制器的设计基于传感器与控制器之间存在随机且有界延迟的假设,而这一假设对于恶意引入的延迟并不总是成立。另一种方法[8]通过PLC编程对PID控制器进行调参,以应对具有随机时间延迟的不稳定过程模型。该研究与我们的工作有一定相关性;然而,其所描述的稳定性条件可能不足以应对蓄意设计的时间延迟注入攻击。文献[9]提出采用增益调度方法调整PID控制器,以补偿系统中额外的时间延迟;然而,当延迟值随机变化时,无法保证控制系统的稳定性。由于目前缺乏针对工业控制系统中时间延迟所带来的网络安全影响的相关研究,本文开展了一项针对ICS的时间延迟攻击网络安全研究。

文献中存在多种网络时间延迟攻击的实现和解释。拉森在[10]中将延迟攻击描述为一种陈旧数据攻击。攻击者操纵相关网络上加密数据包的时序,导致过程的物理状态与逻辑状态之间出现差异,从而可能导致控制系统被驱动至任意状态。克罗托菲尔等人[11]指出,为了使有效的陈旧数据攻击能够将系统驱动至不安全状态,攻击者必须确定攻击的最佳持续时间。研究人员将此类攻击称为隧道攻击。通过这种攻击方式,攻击者可在网络节点之间建立链路,并在网络中制造延迟,恶意丢弃数据包[12, 13]。

电力系统中的时间延迟注入攻击并不罕见。攻击者可能利用通信链路上的漏洞,导致关键信息丢失,从而引发不稳定运行状况[14]。文献[15]指出,可通过实施时间延迟开关(TDS)攻击来破坏智能电网并降低其性能。在另一项研究中,作者提出了一种时间延迟检测机制以缓解此类攻击,并在发生时间延迟注入时引入一种改进的控制器[16]。该控制器仅被设计用于控制电网,且时间延迟注入仅发生在控制系统的反馈通道中。然而,在许多情况下,时间延迟可以同时被注入到控制网络的反馈与前向通道中。

3 工业控制系统安全测试平台

宾厄姆顿大学构建的ICS安全测试平台包含一个数字控制系统,这种系统通常出现在化石燃料或核电站、电网等发电站中。该实验平台适用于部署典型的网络攻击,并对系统运行进行详细监控,从而为研究人员提供无限量的关键数据[17]。

测试平台组件可分为五个类别:

3.1 物理系统

该设备用于研究网络攻击对两种不同发电配置中发电硬件的影响。第一套装置由一台0.25马力三相交流电机和一台0.33马力永磁直流电机组成,两者通过联轴连接轴相连。PowerFlex 525交流驱动器控制该电机‐发电机组件的转速。多个单相负载连接至直流发电机,以安全地耗散功率,从而保护系统免受过载情况的影响。第二套发电装置采用一台三相交流鼓风机电机,通过基于气流的耦合驱动一台12伏直流发电机。外部可限制气流,从而模拟对空气处理端口的扰动效应。另一台独立的PowerFlex 525交流驱动器用于控制提供给交流鼓风机电机‐发电机模块的电功率,以调节电机转速。

3.2 测量设备

Allen‐Bradley 1794 Flex I/O模块作为两个发电单元的监控设备。直流电机和直流鼓风机电机的功率输出均连接到Flex I/O的输入端,从而测量电压。有关这些电压的信息被传输至ControlLogix控制器,该控制器利用这些信息在人机界面(HMI)中显示数值,并可能调整PowerFlex PID参数以调节生成电压。

3.3 可编程控制器

该实验平台包含两种不同类型的可编程逻辑控制器:一种是高级控制器 Allen‐Bradley ControlLogix,另一种是较简单的多I/O控制器Allen‐Bradley Micro850。ControlLogix 1756‐L61 PLC被用作中央控制器。可以使用罗克韦尔自动化的RSLogix 5000软件对ControlLogix设备进行编程。通过编程Micro850控制器来调整功率分配,从而控制直接耦合发电单元的功率耗散将电力分配给各种单相负载和一个小型直流电机。使用罗克韦尔自动化的互联组件工作台软件为Micro850创建梯形图逻辑图。

3.4 通信基础设施与软件

实验平台上的组件通过测试平台网络使用EtherNet/IP协议和通用工业协议(CIP)进行通信。为了在实验平台上实施时间延迟注入攻击,在测试平台网络上部署了一个流量整形虚拟机。该虚拟机通过FreeBSD和DummyNet软件[18]实现,允许使用现有的PC硬件创建支持DummyNet的网桥,而不会干扰工控系统组件的任何现有软件安装[19]。

3.5 Scada‐人机界面

人机界面(HMI)系统允许操作人员可视化并操控实验平台操作。在此实验平台上,操作人员可以观察和调节两个发电单元的实时输出电压。使用 Proficy HMI/SCADA iFIX 软件来构建、监控和控制整个 HMI 系统。

4 时间延迟注入攻击

工业控制系统(ICS)中的固有时间延迟被视为系统稳定性问题,已在多项综合研究中得到解决[20–22]。然而,当攻击者有意设计并将其注入系统时,时间延迟便成为一种有效的网络攻击手段。对于信息物理系统(CPS),控制网络上的数据包延迟可能导致系统性能下降和稳定性丧失。典型的信息技术(IT)计算机和网络不会受到这种时间敏感性的影响,因此工业控制系统(ICS)网络中的时间延迟需要特别关注。

时间延迟可能出现在控制系统的前向和反馈通道上(见图1)。如前一节所述,PowerFlex 驱动器和测量设备连接到工业控制系统网络。而可编程逻辑控制器

示意图0

与 PowerFlex 驱动器的通信通过前向通道进行,与测量设备的通信则通过反馈通道进行。

4.1 攻击模型

理解攻击模型和威胁场景对于防止控制系统攻击至关重要。拥有网络访问权限的攻击者可以影响并破坏基本的控制功能,而不仅仅是通常与SCADA环境相关的长期控制。尽管简单的时间延迟攻击不需要任何专业知识,但在许多陈旧数据攻击中,攻击者必须直接操控现场设备与控制器之间的通信完整性[11]。为了成功实施时间延迟注入攻击,攻击者需要进行广泛的侦察工作,以识别由传感器、控制器和电机驱动器组成的控制网络的数据流。为了成功利用网络漏洞,攻击者可以使用网络流量整形工具在目标控制网络内制造任意延迟。如图2所示,攻击者的计算机部署在实验平台上,这有助于对受攻击控制网络中数据流量操控的方式和手段进行实验性研究。可以合理假设,攻击者已获得对控制网络的访问权限,并能够在通信通道中注入时间延迟。因此,期望过程输出的即时测量值YU(t) 将被延迟后的值所取代。

$$
Y_{DEL}(t) = Y(t - \tau) \quad \text{and} \quad U_{DEL}(t) = U(t - \tau) \tag{1}
$$

其中 $\tau$ 是攻击者定义的所需延迟量。

示意图1

攻击者必须谨慎选择注入的延迟量,因为控制系统中增加的延迟可能会被工业控制系统(ICS)和传感器控制代码检测到。如果网络中的设备检测到此类延迟,设备将自动进入故障状态,从而停止系统运行。然而,如果延迟是逐步注入的,并且每次增加的延迟值不超过会触发系统终止程序的最大延迟变化值,则该额外延迟无法被检测到。我们认为,这是由于网络中启用的传感器内置了延迟适应代码,这种代码会对突然出现的显著延迟增加做出反应,但会适应较小的延迟变化。

4.2 时间延迟攻击

实验平台被配置为在变化的负载条件下维持指定的输出电压,以研究时间延迟攻击的有效性。该功能通过反馈控制回路中的基于PID的控制器实现。鼓风机电机的设定点电压值选择为1.9伏特,足够小以保护连接设备免受潜在过电压问题的影响。实验平台的直连式电机‐发电机模块以与鼓风机电机成比例的频率运行。该直连式电机‐发电机模块可产生高达400伏特的电压,因此其电压控制至关重要,因为可能出现的过电压值可能会损坏连接设备。

可检测延迟

首先,在实验平台上部署了一个具有100毫秒延迟的时间延迟攻击。该攻击几乎立即被网络上的设备检测到,导致PowerFlex驱动器出现故障状态,并停止了电机‐发电机模块。实验表明,额外的延迟会导致连接超时,并清除驱动器的数据表,从而使网络化驱动器不再受可编程逻辑控制器的控制。如果工业控制系统的操作人员遇到源自时间延迟攻击的“通信中断”故障代码,他们需要进行系统调试并有效缓解该问题。然而,“连接超时”在各种互连协议中是非常常见的问题[23],且难以轻易识别时间延迟攻击为故障源。尽管这种攻击方法可能被视为一种无效的停止发电机组的方式,但如果在真实的发电厂实施,它可能会导致电网大面积停电,具体取决于每个设施/机组中各控制器的具体配置以及工艺类型。

不可检测延迟

基于以太网/IP的设备也可能遭受渐进式时间延迟攻击。这种攻击允许引入更大的延迟而不被检测到。请参见图3中的曲线图。上图显示了Power‐Flex驱动器的输出频率,而下图显示了空气鼓风机电机‐发电机模块测得的输出电压。在本实验中,前100秒内反馈通道和前向通道均无网络延迟。为了使时间延迟攻击成功,必须从较小的延迟值开始,并随时间逐渐增加。因此,每10秒延迟值增加10毫秒。在这种情况下,PowerFlex 驱动器和 PLC 计算机不会产生任何故障条件,也不会提示延迟时间增加。网络中的延迟导致 PLC PID 模块无法观测到实际的工艺条件,从而无法生成及时的控制作用[24]。控制器的内部数据表本应根据配置的请求的报文间隔(RPI)参数来更新其输入标签和输出值。然而,控制器并未按照期望的 RPI 更新输入和输出数据,而是以恶意修改的延迟时间间隔统一更新所有数据。可以看出,10毫秒的RPI值无法检测到小于10毫秒的微小延迟增量[25]。因此,尽管控制任务仍由可编程逻辑控制器和 PowerFlex 驱动器执行,但未能实现期望的控制性能。这种期望控制性能的丧失导致 PID 响应出现振荡,因为网络延迟实际上增加了过程的死区时间,并使 PID 控制器的整定失效。当控制器整定不当时,便无法抑制控制回路中的振荡过程。

示意图2

每个周期中,振荡幅度都会增加,最终超过运行安全限值。这种时间延迟攻击强制导致过压状态,使系统产生非常高的输出电压(超过300伏特)。随着延迟的增加,陈旧数据成为控制回路不稳定的主要因素。当时间延迟超过150毫秒时,系统变得不稳定;当延迟达到约500毫秒时,系统崩溃,烧毁了所有作为直连发电机电阻负载的灯泡。

需要注意的是,拥有实验平台使“攻击者”能够获得成功实施攻击所需的关键信息。尽管真实的攻击者无法根据系统配置和PID响应来确定产生期望影响的攻击参数,但设计延迟时间所需的信息可以从公开来源获得,例如维基百科、数据表、公司信息和各种侧信道。如果攻击者能够访问网络,该任务将变得轻而易举。攻击者还可以通过逐步增加延迟值的方式盲目发起攻击。

5 缓解技术

文献提出了许多针对时延工业控制系统[7–9]的缓解和控制技术。尽管其中许多方法为应对工业控制系统中的时间延迟提供了有效途径,但它们难以在实际的可编程逻辑控制器中实现。本文提出了一种新颖、简洁但功能强大的时间延迟检测方法,并通过Simulink模型以及在可编程逻辑控制器上的实际实现对其进行了验证。

5.1 仿真设置

提出了一种用于检测控制系统中各种时间延迟的多模型方法。在Simulink环境中实现和测试后,该方法进一步在可编程逻辑控制器上进行了实施和测试。将实际可编程逻辑控制器和数字输入输出的特性建模,使得Simulink模型的输出与真实可编程逻辑控制器保持一致,这一过程被证明具有较大难度。建模过程中解决了鼓风机的非线性行为、未知死区、电机启动加速、制动曲线、高系统惯性等问题。模型开发、验证、参数估计和跟踪基于[22]中提出的技术进行。

检测方法可以解释如下。假设 $ R(t) $、$ Y(t) $、$ Y_{OBS}(t) $ 和 $ Y_{MOD}(t) $ 分别为工业控制系统中一个动态信道的输入、输出、观测输出和建模输出。其中 $ Y(t) = F[R(t)] $ 为描述该动态信道的输入-输出关系,反映了相关的物理现象。由于信息通道中的延迟 $ \tau $,观测输出为 $ Y_{OBS}(t) = Y(t - \tau) \neq Y(t) $。因此,基于系统输入 $ R(t) $ 和观测输出 $ Y_{OBS}(t) $ 建立的数学模型 $ Y_{MOD}(t) = \Phi[R(t)] $ 无法准确表示关系 $ Y(t) = F[R(t)] $。结果,$ Y_{MOD}(t) $ 将与 $ y(t) $ 存在差异。可以很容易地得出,模型 $ Y_{MOD}(t) = \Phi[R(t)] $ 的决定系数预期较低[22]。

现在考虑基于系统输入 $ R(t - T_j) $ 和观测输出 $ Y_{OBS}(t) $ 建立的数学模型 $ Y_{MOD}(t, T_j) = \phi[R(t - T_j)] $,其中 $ T_j $($ j = 1, 2, 3, \dots $)是输入变量 $ R(t) $ 通道中插入的多个可选延迟之一。可以理解,当延迟 $ T_j $ 和 $ \tau $ 数值接近时,所得到的模型最为准确,此时 $ Y_{OBS}(t) $ 与 $ Y_{MOD}(t, T_j) $ 之间的差异最小,或决定系数达到最大值。延迟估计算法的工作原理如图4所示。

示意图3

为了实现该方法,首先为无延迟条件建立了一个数学模型 $ Y_{MOD}(t,T_j) = \phi[R(t - T_j)] $,其形式为Z域传递函数:

$$
\frac{Y_{OBS}(z)}{R(z)} = \frac{b_2 z^{-1} + b_1 z^{-2} + b_0 z^{-3}}{1 + a_2 z^{-1} + a_1 z^{-2} + a_0 z^{-3}} \tag{2}
$$

或在离散时间域中(其中 $ i = 1, 2, 3, \dots $ 为离散时间索引):

$$
Y_{OBS}(i) = -a_2 Y_{OBS}(i-1) - a_1 Y_{OBS}(i-2) - a_0 Y_{OBS}(i-3) + b_2 R(i-1) + b_1 R(i-2) + b_0 R(i-3) \tag{3}
$$

已经确定该模型的三阶足以准确描述所讨论的动态信道。进一步提高模型阶数实际上不会增加决定系数的值。可以看出,该模型的离散时间版本是一个回归方程,包含输入变量 $ X $、输出变量 $ Y $ 以及参数 $ A $,如公式(4)中所定义。$ \Delta = 10 \, \text{ms} $ 是实验平台的离散时间控制/监测过程的时间步长。该方程的参数使用最小二乘法进行估计。

$$
X(t) =
\begin{bmatrix}
x_1(t) \
x_2(t) \
x_3(t) \
x_4(t) \
x_5(t) \
x_6(t)
\end{bmatrix}
=
\begin{bmatrix}
Y_{OBS}[(i-1)\Delta] \
Y_{OBS}[(i-2)\Delta] \
Y_{OBS}[(i-3)\Delta] \
R[(i-1)\Delta] \
R[(i-2)\Delta] \
R[(i-3)\Delta]
\end{bmatrix}, \quad
Y_{OBS}(t), \quad
A =
\begin{bmatrix}
a_2 \
a_1 \
a_0 \
b_2 \
b_1 \
b_0
\end{bmatrix} \tag{4}
$$

完成无延迟模型的参数估计任务后,该过程将运行递推最小二乘法对包含不同延迟量的十个模型进行参数估计,并以无延迟模型的参数作为初始参数值。

现在输入变量 $ X $ 和输出变量 $ Y $ 如式(5)所示,其中 $ T_j $ 是插入到第 $ j $ 个模型中的延迟值,$ j = 1, 2, 3, \dots, 10 $。

$$
X(t) =
\begin{bmatrix}
x_1(t) \
x_2(t) \
x_3(t) \
x_4(t) \
x_5(t) \
x_6(t)
\end{bmatrix}
=
\begin{bmatrix}
Y_{OBS}[(i-1)\Delta] \
Y_{OBS}[(i-2)\Delta] \
Y_{OBS}[(i-3)\Delta] \
R[(i-1)\Delta - T_j] \
R[(i-2)\Delta - T_j] \
R[(i-3)\Delta - T_j]
\end{bmatrix}, \quad Y_{OBS}(t) \tag{5}
$$

通过计算相应的决定系数,定期检查支持RLSM的模型的有效性,决定系数最高或建模误差方差最小的模型可提供对网络中注入延迟的最准确估计。该 RLSM 模型已在 Simulink 软件中成功实现,并应用于包含实验平台的模拟工控系统,如图5所示。因此,系统操作员可被提醒注意可能存在但难以察觉的网络延迟,这种延迟仍可能改变系统动态特性;操作员可评估延迟量,以便及时采取措施防范控制系统中的时间延迟。此外,已知的时间延迟可用于驱动主PID控制器的增益调度程序,从而在遭受攻击时仍能将控制系统的稳定性及其性能维持在可接受水平[9]。

5.2 实验实现

实验实现和测试是证明所述技术可行性和效率的最佳方式。因此,将实现在 PLC 代码中的延迟检测/估计方法部署在实验平台,并利用“真实”的实验平台数据。首先,建立了一个三阶“无延迟”模型,从而为十个可调回归模型提供初始参数值。采用有限记忆 RLSM 过程[22] 对各个模型进行参数调节。根据图5,提供了评估和显示各个模型精度的功能。在实验平台运行的最初100毫秒内,在无延迟操作期间,仅有一个描述无延迟系统的模型显示出与测量噪声相关的建模误差方差极低。在100秒后,向控制系统的两个网络通道中注入了20毫秒延迟。此时,建模误差的方差开始发生变化。在延迟注入后的约10秒内,准确确定了延迟量。鉴于工业控制系统具有高度时间关键性,从延迟注入开始短时间内准确确定时间延迟对于系统的最优运行至关重要。由于该工业控制系统测试平台作为一个完全运行的工业控制系统运行,本实验的结果不仅限于此测试平台,该技术可成功应用于任何通用的工业控制系统。

6 结论与未来工作

本文在工业控制系统测试平台的前向通道和反馈通道上均部署了时间延迟注入攻击。结果表明,小延迟值在控制系统中不会被系统设备检测到,且对测试平台的影响较小。然而,逐渐增加的时间延迟可能迫使控制系统进入不稳定状态。

本研究的结果可总结如下:
- 提出了一种针对PLC控制的连续过程的时间延迟攻击的实用检测方法。
- 通过监控实际被控对象并利用递推最小二乘法(RLSM)捕捉其动态特性,构建了一个模型组。
- 该方法通过评估描述实际被控对象在回路中具有不同延迟的模型组各自的精度来运行。
- 该方法已在Simulink环境和实验平台环境中成功实现并进行了测试。

本研究的未来工作包括将所述技术与基于PLS的控制器的增益调度系统结合,进行实时实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值