谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

admin 2025年3月7日13:43:08评论20 views字数 24227阅读80分45秒阅读模式
谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

近日,“谛听”团队林小李博士撰写的论文《A Real-Time Anomaly Detection Method for Industrial Control Systems Based on Long-Short Period Deterministic Finite Automaton》被国际期刊《IEEE Internet of Things Journal》录用。(点击文后“阅读原文”可获取论文)

异常检测已被证明在检测工业控制系统中的网络攻击方面是有效的。然而,大多数现有的异常检测方法准确率较低,因为它们忽略了丢包和网络延迟对时间特征的影响、转移时间的顺序性、伪装转移和系统恢复。同时,当前的网络-物理模型构建方法难以有效解决状态爆炸问题,也难以妥善平衡低频状态的去除和保留。本研究为工业控制系统提出了一种新颖的基线模型,通过学习设备级的轮询时间模式和系统级的网络-物理模型检测异常。轮询时间模式学习方法通过仅提取匹配数据包并替换离群值,减少了丢包和网络延迟对时间特征的影响。网络-物理模型构建方法通过混合事件离散化缓解了状态爆炸,通过离群值替换降低了网络延迟对转移/行动时间的影响,并使用循环排列集捕捉转移时间的顺序性。网络-物理模型优化使用后剪枝算法平衡低频状态的去除和保留,并采用一种降低网络延迟影响的网络-物理模型周期性检测方法,以确保检测到所有工业流程周期。利用该基线模型,本研究提出了一种具有两层防御机制的实时异常检测方法。来自两个实验室规模工业控制系统的六个与过程相关的攻击的实验结果证实了所提出方法的有效性和优越性。它实现了98.81%的平均F1分数和99.24%的准确率,分别比现有最先进的方法高出18.51%和13.96%。

《IEEE Internet of Things Journal》是IEEE旗下的一本权威学术期刊,旨在促进不同领域的交叉融合与创新应用,其涵盖了传感器技术、嵌入式系统、通信与网络、数据分析与处理、安全与隐私等关键主题,该期刊以其高质量的学术论文和严格的审稿流程闻名,吸引了来自全球范围内的顶尖研究者和学者的投稿。其发表的论文通常具有创新性、前瞻性和实用性,为学术界和工业界提供了一个重要的交流平台,推动了物联网技术的快速发展与应用。

影响因子:8.2

文章引用方式:

Lin X, Yao Y, Hu B, et al. A Real-Time Anomaly Detection Method for Industrial Control Systems Based on Long-Short Period Deterministic Finite Automaton[J]. IEEE Internet of Things Journal, 2025. doi: https://doi.org/10.1109/JIOT.2025.3526599.

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法
谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法
谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

论文内容介绍

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

1 研究背景

工业控制系统广泛应用于各种关键基础设施。工业控制系统的网络正从封闭的专用网络向开放的互联以太网网络发展。然而,将工业控制系统设备连接到企业网络为攻击者创造了潜在的入口点,增加了这些设备遭受网络攻击的风险。

近年来,针对工业控制系统的网络攻击日益频繁。例如,Stuxnet、BlackEnergy3、NotPetya和DarkSide等知名攻击案例均曾造成重大影响。研究人员表明,异常检测是检测工业控制系统攻击的有效方法。这是因为工业控制系统倾向于遵循固定的行为模式。然而,现有的工业控制系统异常检测方法存在一些局限性:

(1)将良性命令识别为异常(Π1

不干扰正常工业过程的命令被视为良性命令。然而,大多数现有模型将所有新命令都归类为异常。此外,Cheng等人[8]使用操作时间间隔和执行时间识别减慢工业过程的异常。操作时间间隔定义为两个相似请求之间的间隔,执行时间定义为匹配的请求-响应对之间的间隔,其中相似请求共享相同的操作码(Operation Code,OC)、寄存器起始地址和寄存器数量。然而,被另一个良性命令替换的命令可能会导致其操作时间间隔偏离正常范围。结果,这个操作时间间隔可能会被检测为操作时间间隔异常,从而增加误报率。

(2)忽略丢包和网络延迟对操作时间间隔和执行时间的影响(Π2

Cheng等人[8]没有考虑丢包和网络延迟对操作时间间隔和执行时间的影响。当一个请求丢失时,相邻的操作时间间隔会合并,保持总操作时间间隔持续时间但减少其数量,从而增加平均操作时间间隔值。这可能会增加或减少标准差以及根据三西格玛规则计算的操作时间间隔限制。假设原始操作时间间隔是[A,B],它变为[C,D]。结果,[A,C](A<C)和[D,B](D<B)内的操作时间间隔可能会被误识别为异常,从而增加误报率。类似地,[C,A](A>C)和[B,D](其中D>B)内的操作时间间隔可能会被错误地识别为正常,从而降低异常检测率。丢包对执行时间的影响与对操作时间间隔的影响相同。另一方面,延迟的请求可能导致操作时间间隔高于预期,而延迟的响应可能导致执行时间高于预期。因此,网络延迟对操作时间间隔/执行时间的影响与丢包类似。

(3)忽略网络延迟对过渡时间的影响(Π3

网络延迟可能会大大增加过渡的持续时间,导致过渡时间的上限和下限都增加或减少,最终增加误报率并降低异常检测率。

(4)由于未考虑过渡时间的顺序性而无法检测过渡时间顺序异常(Π4

在工业控制系统中,过渡的持续时间可以是不同的且有顺序的,因为过渡可以以不同的顺序在不同的间隔重复多次。现有的检测方法考虑了过渡时间的多样性,但往往忽略了它们的顺序性。结果,这些模型无法检测只改变过渡时间顺序的攻击,从而降低了检测率。

(5)状态爆炸(Π5

用于构建网络-物理模型的物理数据通常包含连续变量(例如温度)。此类变量可能导致网络-物理模型中的状态爆炸。在现有的网络-物理模型构建方法中,这个问题尚未得到很好的解决。包含连续值的正常状态可能在构建的网络-物理模型中找不到精确匹配。这些状态及其过渡可能会被检测为异常,从而增加误报率。

(6)难以区分网络延迟和长时间攻击(Π6

网络延迟和长时间攻击都可能延长工业控制系统状态的持续时间。然而,现有方法通常会将所有持续时间延长的工业控制系统状态误识别为长时间攻击。结果,由于网络延迟导致的工业控制系统状态持续时间延长被误识别为长时间攻击,从而增加了误报率。

(7)无法有效平衡低频状态的去除和保留(Π7

现有的网络-物理模型构建往往会保留或去除所有低频状态,而不考虑它们是否正常。前者可能导致网络-物理模型包含许多被误识别为正常的非周期性瞬态及其转移,从而降低检测率。后者可能导致网络-物理模型错过被检测为异常的非瞬态低频长周期状态和瞬态周期状态及其转移,从而增加误报率。

(8)忽略网络延迟对周期性检测的影响(Π8

周期性检测方法用于确定序列是否具有周期性及其周期。这些方法通常首先通过检测序列中连续局部峰值的存在识别一些候选周期,例如周期k,然后计算它们的标准偏差周期性指标。如果候选周期的标准偏差周期性度量低于某个阈值,则该序列是以k为周期的周期性序列。然而,现有的周期性检测方法没有考虑网络延迟的影响,这可能导致一些候选周期的持续时间发生显著变化。结果,这些候选周期的标准偏差周期性指标可能超过阈值,导致一些周期性状态被错误分类为非周期性状态并被识别为异常,从而增加了误报率。

(9)无法检测伪装转移(Π9

攻击者可能在攻击过程中引入正常转移,以减少异常迹象并逃避安全监控。这种策略使攻击更具隐蔽性,更难检测。现有方法通常无法检测这些伪装的正常转移,从而降低了检测率。

(10)无法检测系统恢复(Π10

如果在训练阶段没有学习到被攻击状态和恢复状态之间的转移,或者未满足其时间约束条件,现有方法会将这种转移以及这两个状态之间的控制命令识别为异常(增加误报率)。然而,这些控制命令通常是主终端单元为恢复系统正常运行而发出的正常命令。

为了克服这些局限性,本文提出了一种新颖的基线模型,该模型将设备级轮询时间模式与工业控制系统的系统级网络-物理模型相结合,以检测工业控制系统中的异常,如图1所示。在模型训练阶段,首先进行数据预处理,从原始流量中提取工业控制协议(Industrial Control Protocol,ICP)数据包。然后从这些ICP数据包中提取设备级ICP日志。为了准确检测使工业过程变慢的异常,本研究提出了一种改进的轮询时间模式学习方法(Π1和Π2),该方法能有效减轻数据包丢失和网络延迟的影响。然后,填充由数据包丢失导致的缺失轮询响应记录,并纠正由网络延迟导致的延迟轮询响应记录。这些经过细化的设备级ICP日志随后被聚合为系统级ICP日志。此外,使用系统状态log和控制器-寄存器映射数组辅助网络-物理模型构建。

网络-物理模型构建包括建模和优化。在建模阶段,首先学习控制器集。为缓解状态爆炸问题(Π5),本研究提出一种混合事件离散化方法,将过程变量及其值映射到事件。随后进行基于事件的ICP日志生成。然后学习系统状态集、转移集、转移触发序列集。本研究提出一种改进的转移时间模式学习方法,该方法不仅能有效减轻网络延迟的影响(Π3),还能准确捕捉转移时间的顺序特性(Π4)。接着本研究提出学习行动时间模式,以准确区分网络延迟和长时间攻击(Π6)。网络-物理模型还通过两种方式进一步优化:后剪枝和网络-物理模型周期性检测。首先,本研究提出一种后剪枝算法,能有效平衡低频状态的去除和保留(Π7)。本研究提出一种网络-物理模型周期性检测方法,可减轻网络延迟的影响,准确检测网络-物理模型周期性(Π8,Π9,Π10)。

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

图1. 提出的异常检测方法

实时检测使用两层防御机制,基于工业控制系统基线模型检测异常。第一层使用轮询时间模式在设备级别检测基本攻击。在第二层,本研究提出一种基于周期性集成确定性有限自动机(Deterministic Finite Automaton,DFA)的异常检测(Periodicity Integrated DFA Based Anomaly Detection,PIDFA-AD)方法,该方法使用训练好的网络-物理模型在系统级别检测更复杂的、与过程相关的攻击。如图1所示,基于DFA的异常检测(DFA-based Anomaly Detection,DFA-AD)的单步检测结果可能表明伪装转移或系统恢复。具体而言,正常转移、网络延迟、良性控制命令序列和非周期性瞬态可能表明伪装转移,而01状态异常和转移异常可能表明系统恢复。因此,PIDFA-AD通过分析这些单步结果时间之后的整个工业过程周期内的异常,有效识别伪装转移和系统恢复。如果第一层检测到异常,模型会立即报告并停止进一步检查。否则,它将进入第二层。

2 主要贡献

  • 本研究为工业控制系统提出一种新颖的基线模型,以便通过学习设备级轮询时间模式和构建系统级网络-物理模型检测工业控制系统中的异常。

  • 本研究提出一种改进的轮询时间模式学习方法,该方法可以通过减轻数据包丢失和网络延迟的影响,更准确地捕捉轮询时间模式。

  • 本研究提出一种改进的网络-物理模型构建方法,该方法集成了多种优化策略,包括通过离散化过程变量缓解状态爆炸、减少网络延迟对转移/行动时间和周期性检测的影响、学习转移时间的顺序性以及平衡低频状态的去除和保留。

  • 提出了一种采用双层防御机制的实时异常检测方法,该方法具有高检测率和低误报率。

  • 在两个自主开发的实验室规模工业控制系统上进行了实验。实验结果表明了所提出的异常检测方法的有效性和优越性。

3 提出的ICS异常方法方法介绍

3.1 数据质量问题

SCADA系统通常通过定期轮询收集设备状态日志,其中包括时间戳和过程变量。然而,设备状态日志可能存在几个数据质量问题:

(1)由于数据包丢失导致设备状态记录缺失

如果轮询响应数据包丢失,则相应的设备状态记录也会丢失。这可能在两种情况下发生:1)轮询请求数据包被捕获,但响应数据包丢失(Q1);2)两个数据包都丢失(Q2)。

(2)由于网络延迟导致设备状态记录延迟

如果轮询响应数据包延迟,记录的设备状态可能不是实际的当前设备状态(Q3)。

(3)由于执行冲突导致的临时设备状态记录

如果轮询和控制命令执行冲突,控制器可能在完成控制命令序列之前返回一个中间设备状态(Q4)。

缺失的设备状态记录可能会阻止网络-物理模型学习所有正常状态、状态转移和转移触发序列。缺失和延迟的设备状态记录可能会阻止网络-物理模型准确学习转移/行动时间模式、检测周期性状态并确定周期性。临时设备状态记录可能会导致网络-物理模型包含大量临时状态及其转移,以及碎片化的转移触发序列。这些问题可能会导致网络-物理模型不准确,并降低异常检测的准确性。

一些控制器寄存器用于存储现场设备的过程变量。然而,SCADA系统生成的设备状态日志通常缺少控制器IP地址和寄存器地址,这使得它们不足以解决数据质量问题。幸运的是,流量数据包含必要的字段。因此,本文提出从流量数据中提取建模数据并解决其质量问题。

3.2 数据预处理

本节概述了数据预处理方法,包括轮询时间模式学习方法以及对数据质量问题1-3的解决方案。表1给出了一些变量符号的含义。

3.2.1 ICP数据包提取

从流量数据中提取ICP数据包,并丢弃非ICP数据包。

3.2.2 设备级ICP日志提取

对于每个控制器dj,根据ICP数据包创建一个设备级ICP日志Vj。这些日志包含轮询请求记录、轮询响应记录和控制命令记录。轮询请求记录和轮询响应记录分别从轮询请求数据包和轮询响应数据包中提取。轮询请求记录和轮询响应记录共有的属性是到达时间、源IP地址(Source IP Address,SIP)、目的IP地址(Destination IP Address,DIP)、源端口(Source Port,SP)、目的端口(Destination Port,DP)、操作码。轮询请求记录独有的属性是寄存器起始地址、寄存器数量。寄存器起始地址是要从内存中读取的第一个字/字节/位的地址。寄存器数量是要读取的元素数量。轮询响应记录独有的属性是寄存器地址序列(Register Address Sequence,RAS)、寄存器值序列(Register Value Sequence,RVS)。控制命令记录从控制命令数据包中提取,包括时间戳、主终端单元IP地址、控制器IP地址、源端口、目的端口、操作码、寄存器地址序列、寄存器值序列。这些属性是大多数工业控制系统协议(如Modbus、欧姆龙Fins和西门子S7)共有的。因此,提出的方法可以灵活有效地应用于其他工业控制系统协议。

表1. 变量符号的含义

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

3.2.3 轮询时间模式学习

本文提议使用轮询响应时间和轮询周期,而非传统的操作时间间隔和执行时间检测导致工业过程变慢的异常情况。轮询响应时间模式和轮询周期模式统称为轮询时间模式。轮询操作使轮询时间模式更具稳定性,由于其不变性、周期性和高频性,能够实现更快、更准确的异常检测。关注周期性操作而非非周期性操作可以避免将良性的非周期性操作误分类为异常(Π1)。此外,通过仅学习和检查轮询操作的执行时间间隔和执行时间,而不是所有操作,可降低计算复杂度。

然而,数据包丢失和网络延迟可能会降低轮询时间模式的准确性。因此,本文提出了一种改进的轮询时间模式学习方法,该方法能有效减轻数据包丢失和网络延迟的影响(Π2)。该方法通过防止将处于正常区间但超出误差区间的正常轮询响应时间和轮询周期检测为异常,显著降低了误报率。同时,通过防止将处于误差区间但超出正常区间的异常轮询响应时间和轮询周期检测为正常,提高了检测率。本文假设一个控制器只有一种类型的轮询。因此,本研究为每个主从通道学习轮询响应时间模式和轮询周期模式,并分别将它们描述为正态分布。

算法1总结了轮询时间模式学习算法。为减少丢包对轮询响应时间的影响,只提取轮询请求记录和轮询响应记录相匹配的轮询响应时间进行轮询响应时间模式学习(第2-4行)。为避免高估轮询响应时间,未匹配的轮询请求数据包将被排除在外。为减少网络延迟对轮询响应时间的影响,我们的模型使用三西格玛规则检测所有轮询响应时间异常值,并用相应的平均值代替(第5行)。使用三西格玛规则检测异常值通常要求数据服从正态分布。这对于轮询响应时间来说通常不是问题,因为SCADA系统通常通过定期轮询来获取设备状态日志。最后,每个控制器的轮询响应时间模式被描述为正态分布(第6-7行)。网络延迟和数据包丢失对轮询周期的影响与对轮询响应时间的影响类似。因此,轮询周期模式的学习方法与轮询响应时间模式的学习方法类似(第8-13行)。

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

3.2.4 缺失轮询响应记录填充

为了填充缺失的设备状态记录,从轮询请求记录前后的第一条轮询响应记录中推断出缺失的轮询响应记录字段的值。根据过程变量的类型(离散型或连续型),相应地推断出缺失的轮询响应记录的过程变量值。然后将这些填充后的轮询响应记录插入到设备日志中。

对于情况Q1,仅需推断并在相应的轮询请求记录之后插入一条轮询响应记录。对于情况Q2,在两条相邻的控制命令记录或轮询响应记录之间可能会缺失多条轮询响应记录。在这种情况下,可能需要在两条相邻的控制命令或轮询响应记录之间推断并插入多条轮询响应记录。Q2关注的是两条相邻的轮询请求记录或控制命令之间的时间间隔大于轮询周期阈值的情况。

Q1的解决方案总结在算法2中。遍历每个Vj(第1行),并为每个没有匹配的轮询响应记录的轮询请求记录构建轮询响应记录。首先,计算谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法的时间戳、源IP地址、目的IP地址、源端口、目的端口、操作码、寄存器地址序列(第4-10行)。然后,找到谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法之前的第一条轮询响应记录谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法之后的第一条轮询响应记录谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法(第11-12行)。接着,考虑变量类型和任何修改寄存器值的控制命令,计算dj上存储过程变量的每个寄存器的值(第13-23行)。如果寄存器存储的是连续变量,则通过线性插值计算其值(第13-14行)。否则:如果在谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法之间有控制命令修改了寄存器的值,则寄存器的值等于控制命令指定的修改后的值(第16-17行)。否则,其值为之前的轮询响应记录所记录的值(第19行)。然后,将谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法插入到Vj谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法之后的位置(第23行)。最后,Vj'=Vj(第26行)。

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

对于Q2,遍历每个Vj',如果两条相邻的控制命令记录或轮询响应记录之间的时间间隔超过了轮询周期上限μPP,j+3σPP,j,则针对以下四种情况分别找到相应的关键轮询响应记录(谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法k<y):

1)如果事件发生在两条相邻的控制命令记录之间,则找到它们前后的第一条轮询响应数据包谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

2)如果它发生在两条相邻的轮询响应记录之间,则分别将它们记录为谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

3)如果它发生在一条控制命令记录和一条轮询响应记录谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法之间,则找到该控制命令记录之前的第一条轮询响应数据包谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

4)如果它发生在一条轮询响应记录谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法和一条控制命令记录之间,则找到该控制命令记录之后的第一条轮询响应数据包谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

之后,计算要插入到谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法之间的轮询响应记录的数量谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法,其中round()是取整函数。然后按如下方式计算第ι条轮询响应记录(ι∈[1,γ])的寄存器值:如果Zj,x存储的是一个连续变量,则谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法。否则:如果在谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法之间有一条改变了谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法的控制命令,则谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法等于该控制命令中寄存器的值。否则谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法。然后,将这些轮询响应记录插入到相邻的控制命令记录或轮询响应记录中。最后,Vj''=Vj'

3.2.5 延迟轮询响应记录校正

如果轮询响应记录谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法的寄存器值序列不同,则使用它们之间的控制命令记录校正延迟的轮询响应记录。鉴于有四种类型的控制命令记录,本研究针对每种情况提出了四种具体的方法。

对于问题Q3,遍历每个Vj'',针对以下四种情况分别校正轮询响应记录,并将结果记录为Vj''

(1)如果谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法且在谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法之间没有控制命令记录,则将谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法之前连续的轮询响应记录的寄存器值序列更新为谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法的寄存器值序列。如果谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法且在谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法之间存在一个实际控制命令序列谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法,则根据以下三种情况更新轮询响应记录:

(2)如果谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法修改的寄存器数量大于理论控制命令序列谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法修改的寄存器数,用谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法表示,其中谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法修改的寄存器数量,谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法是设备djsij转移到s(i+1)j必须修改的最小寄存器数量,则基于谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法的寄存器值序列更新谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法之后的第一条控制命令记录之间所有轮询响应记录的寄存器值序列:如果Zj,x存储一个连续变量,则找到谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法之后的第一条控制命令记录之后的第一个轮询响应记录谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法,然后谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法。否则,谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

(3)如果谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法已更新,则根据谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法的寄存器值序列推断并更新谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法:如果Zj,x存储的是连续变量,则找到谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法之后的第一个轮询响应记录谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法,然后执行谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法。否则,谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

(4)如果谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法未更新,首先根据谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法推断中间随机变量集谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法:如果Zj,x存储的是连续变量,则找到谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法之后的第一个轮询响应记录谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法,然后执行谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法。否则谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法。然后比较谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法:如果满足谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法,则将谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法更新为谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法。最后,将谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法之前的最后一条控制命令记录之间的所有轮询响应记录的随机变量集更新为谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

3.2.6 设备级ICP日志聚合

单个设备状态可能看似正常,但它们所代表的整个系统状态可能异常。为了检测更复杂的异常,分析整个系统状态至关重要。因此,Vj'''将中具有相同时间戳的所有设备状态记录聚合为一个系统状态记录,该记录由时间戳和一系列寄存器值组成。所有系统状态记录构成一个系统状态日志P。系统状态记录的第0列存储时间戳。第1列到Θ列存储离散过程变量,其余列包含连续过程变量。

控制器-寄存器映射数组的第一列和第二列分别存储控制器IP地址和寄存器地址。的第i行对应系统状态记录第i+1列中的过程变量。也就是说,控制器℘i1的寄存器℘i2存储系统状态记录第i+1列中的过程变量。

所有系统状态记录和控制命令记录按时间顺序聚合在系统级ICP日志VK中。

3.3 网络-物理模型

工业控制系统的网络结构以及主终端单元与控制器之间的通信模式通常是稳定且有规律的。这是因为工业控制系统通常被设计为按照指定的顺序和时间周期性地执行固定的工业过程。因此,任何与这些顺序、时间和周期性的偏差通常都表明存在异常。为了检测这些异常,本文提出了一种新颖的网络-物理模型,将其表述为长-短周期确定性有限自动机(Long-Short Period Deterministic Finite Automaton,LSP-DFA),其正式描述为一个8元组:

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

其中

  • D={d1,d2,...,dm}是控制器集,其中分配了一些寄存器存储现场设备的过程变量,其中dj是工业控制系统中第j个控制器的IP地址。

  • G=G1G2...Gm是工业控制系统中发生的事件集,其中Gj={Ej1,Ej2,...,Ejk,...,Ejr}是设备dj中发生的一组事件,r是设备dj用于存储过程变量的寄存器数量,谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法表示设备dj中第k个寄存器上发生的事件集,w表示寄存器Zjk上发生的事件数量。事件谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法被定义为设备dj上第k个寄存器Zjk及其值(或区间)的组合,谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法分别表示事件谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法发生时设备dj上第k个寄存器Zjk的最小值和最大值。如果寄存器Zjk存储离散过程变量,则谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法,且谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法,其中谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

  • A={S1,S2,...,Sn}是系统状态集,其中n是工业控制系统的正常状态数量,Si=(si1|si2|...|sij|...|sim)表示由控制器集D中所有控制器的基于事件的状态共同表示的第i个系统状态,“|”表示拼接符号,谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法表示设备dj在状态为si时的状态,该状态由设备dj在状态为si时发生的所有事件共同表示,其中谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

  • Ω={<S1,S2>,<S2,S3>,...,<Sδ,Sχ>,...}是转移集,其中Sδ,SχA分别表示源状态和目标状态。

    B={ξ1,22,3,...,ξδ,χ,...}是一组与Ω相对应的转移触发序列。自动机从源状态sδ到目标状态Sχ的转移由转移触发序列谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法触发,该序列由sδSχ之间出现的所有控制命令组成,其中谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法表示谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法中的第u个控制命令,其中谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法分别表示控制命令谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法的控制器IP地址、操作码、寄存器地址序列和数据。

    谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法是转移时间模式和行动时间模式的集合,其中,<Sδ,Sχ>的转移时间是当前转移<Sδ,Sχ>中状态sδ首次出现与状态Sχ首次出现之间的时间间隔,<Sδ,Sχ>的行动时间是当前转移<Sδ,Sχ>中状态sδ首次出现与状态Sχ之后的第一个控制命令之间的时间间隔,谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法是转移<Sδ,Sχ>的时间约束,谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法是转移<Sδ,Sχ>的转移时间的第η个子类的平均转移时间,谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法是转移<Sδ,Sχ>的转移时间的循环排列集(Circular Permutation Set,CPSet),谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法是当前转移<Sδ,Sχ>中源状态sδ与第一个行动时间之间的时间约束,h是转移<Sδ,Sχ>的行动时间的第h个子集群的平均行动时间,谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法是转移<Sδ,Sχ>的行动时间的第h个子类的平均行动时间。

  • UW分别是短周期模式和长周期模式。周期模式包含一组周期性状态和周期时间约束。时间约束分别为长周期模式和短周期模式的[U .lower,U .upper]和[W .lower,W .upper]。

所提出的网络-物理模型与传统网络-物理模型之间的差异如下:

(1)工业控制系统状态由工业控制系统事件表示,而不是直接由过程变量表示。这一改进有效缓解了网络-物理模型的状态爆炸问题,并防止一些正常状态及其转移被误识别为异常(Π5)。

(2)本研究在网络-物理模型中引入了一个新特征,即转移时间的循环排列集,以捕捉转移时间的顺序性。这个特征是专门为检测只改变转移时间顺序的攻击而提出的(Π4)。

(3)本研究在网络-物理模型中引入了一个新特征,即行动时间,专门用于区分长时间攻击和网络延迟(Π6)。

(4)本研究改进了网络-物理模型,通过学习多个周期(Π9和Π10)而不仅仅是一个周期检测伪装转移和系统恢复。

此外,本研究通过几种优化策略提高了网络-物理模型的准确性,具体如下:

(1)通过减少网络延迟对转移时间的影响,提出的网络-物理模型能够更准确地捕捉转移时间模式。这一改进通过防止在正常区间内,但在误差区间外的正常转移时间被检测为异常,显著降低了误报率。它还通过防止在误差区间内,但在正常范围外的异常转移时间被检测为正常,提高了检测率(Π3)。

(2)通过减少网络延迟对周期性检测的影响,提出的网络-物理模型能够准确识别周期性状态。这一改进通过防止周期性状态被误识别为异常,显著降低了误报率(Π8)。

(3)本研究对网络-物理模型应用了一种后剪枝算法,该算法优化了去除和保留低频状态之间的平衡,确保非周期性瞬态及其转移不会被误分类为正常,从而提高了检测率。此外,这种方法还防止了周期性低频状态及其转移被误分类为异常,从而降低了误报率(Π7)。

3.4 网络-物理模型构建

3.4.1 设备集学习

控制器-寄存器映射数组谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法可用于获取控制器的IP地址。因此,通过对控制器-寄存器映射数组谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法中的控制器IP地址进行去重来学习控制器集D

3.4.2 混合事件离散化

为了解决网络-物理模型中的状态爆炸问题(Π5),本文引入了一种事件混合离散化方法,该方法将过程变量及其各自的值映射到不同的事件。与离散过程变量不同,连续过程变量往往有许多需要离散化的值。因此,可以使用不同的事件映射策略。

算法3总结了混合事件离散化。它将离散变量及其值的每个唯一组合映射到一个特定事件(第2-17行)。相比之下,由离散变量定义的局部系统状态中连续变量及其值范围的每个组合都被映射到一个唯一事件(第18-51行)。

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

3.4.3 基于事件的工业控制协议日志生成

本研究从系统级ICP日志VK中提取控制命令请求记录,并将它们与基于事件的状态日志J按时间顺序整合,以形成基于事件的ICP日志M。然后,删除M中连续的重复状态记录,仅保留每个状态的首次出现记录。

3.4.4 系统状态集学习

本研究通过对基于事件的系统状态日志J中的系统状态执行去重操作学习系统状态集A

3.4.5 转移集学习

在基于事件的系统状态日志J中,每两个时间上相邻的系统状态形成一个转移。本研究通过对这些转移执行去重操作学习转移集Ω

3.4.6 转移触发序列集学习

在基于事件的ICP日志M中,系统状态记录和控制命令记录交替出现。因此,本研究遍历基于事件的ICP日志M,以获取两个时间上相邻的系统状态(用一个转移表示)之间的控制命令序列。然后对每个转移的控制命令序列进行去重,以形成每个转移的唯一转移触发序列集B

3.4.7 转移时间模式学习

为了减少网络延迟对转移时间的影响(Π3),并检测只改变转移时间顺序的攻击(Π4),本文提出了一种改进的转移时间模式学习方法。在工业控制系统中,转移的持续时间可能会有所不同,并遵循特定的顺序,因为转移可能会以不同的间隔和不同的顺序反复发生。通常情况下,转移时间在同一个周期内的是一致的,而在不同周期可能是不同。因此,同一周期内的转移时间通常遵循正态分布。然而,网络延迟可能会导致转移时间异常。为了解决这个问题,本研究使用三西格玛规则检测转移时间中的所有异常值,并用相应的平均值替换它们,然后根据更新后的数据重新计算均值和标准差。算法4总结了转移时间模式学习方法。

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

3.4.8 行动时间模式学习

为了准确区分网络延迟和长时间攻击(Π6),本研究引入了“行动时间”的概念,并学习每个转移的行动时间模式。网络延迟对行动时间的影响与对转移时间的影响类似。因此,行动时间模式的学习方法M'与转移时间模式的学习方法类似。与转移时间模式不同,行动时间模式不需要学习循环排列集。为简单起见,这里不再详细说明。

3.5 网络-物理模型优化

为了平衡网络-物理模型(Π7)中低频状态的移除和保留,本研究提出了一种后剪枝算法优化网络-物理模型(Q4)。从网络-物理模型中移除所有非周期性瞬态,同时保留低频长周期非瞬态和周期性瞬态。算法5总结了后剪枝算法。与Hubballi等人[48]一样,本研究将标准偏差周期性指标阈值τ设置为3秒。本研究的实验证实,该阈值可以准确识别周期性瞬态。

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

3.5.1 网络-物理模型周期性检测

为了准确检测网络-物理模型(Π8)的周期性,本文提出了一种改进的网络-物理模型周期性检测方法。不同工业控制系统候选周期的持续时间序列通常遵循不同的正态分布。然而,网络延迟可能会在这些持续时间序列中引入异常值。为了解决这个问题,本研究应用了三西格玛规则识别候选周期持续时间序列中的异常值,并用相应的平均值替换它们。然后,使用修正后的数据重新计算这些周期的均值和标准差,以学习周期模式的时间约束。算法6总结了网络-物理模型周期性检测算法。

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

在检测网络-物理模型的周期性状态和周期性时,可以灵活调整标准偏差周期性指标阈值,以适应不同时间粒度的工业控制系统。因此,所提出的方法可以灵活有效地应用于不同时间粒度的工业控制系统。

3.6 异常检测

本研究假设工业控制系统是一个“稳定”的系统,其网络结构、工业流程、设备和配置保持不变。在这些假设下,本研究专注于检测工业控制系统中与流程相关的攻击。因此,所提出的方法可以灵活有效地应用于许多不同的工业场景。

3.6.1 基于轮询时间模式的异常检测

第一层使用轮询时间模式在设备级别检测基本攻击。如果轮询请求的响应时间和周期在其各自均值的三个标准差范围内,则认为该轮询请求正常。否则,将其标记为异常并停止进一步调查。

3.6.2 基于DFA的异常检测

为了改进工业控制系统中的异常检测,本研究提出了一种基于DFA的异常检测方法(DFA-AD),具体细节见算法7。

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

为了有效降低误报率,DFA-AD采用了三种优化策略。具体如下:

(1)它通过检查系统状态、转移、持续时间和转移时间顺序的变化,准确识别良性控制命令序列。

(2)它利用行动时间区分长时间攻击和网络延迟,防止将网络延迟误判为长时间攻击。

(3)它通过瞬态时间阈值识别非周期性瞬时状态,防止未存储在LSP-DFA中的非周期性瞬时状态被识别为异常。

此外,借助转移时间的循环序列集,DFA-AD可以准确检测只改变转移时间顺序的异常,从而有效提高检测率

3.6.3 基于周期性集成DFA的异常检测

DFA-AD的主要缺点是它基于当前信息检测异常,忽略了其他时间上接近的事件。这一缺点使得难以检测伪装转移(Π9)和系统恢复(Π10)。为解决此问题,本文将周期性引入异常检测,提出了基于周期性集成DFA的异常检测(PIDFA-AD)。

DFA-AD的一些单步检测结果可能表明存在伪装过渡或系统恢复情况。因此,PIDFA-AD通过在这些单步结果出现后的整个工业过程周期内分析异常情况提高检测能力。这种改进有效地识别了伪装过渡(Π9)和系统恢复(Π10),从而不仅提高了检测率,而且显著降低了误报率。

PIDFA-AD在算法8中进行了概述。如果单步检测识别出01状态异常或过渡异常,并且在此后的整个工业过程周期内没有进一步的异常发生(第6行),则将结果更新为系统恢复(第7-11行)。相反,如果单步结果是正常过渡、网络延迟、良性控制命令序列或非周期性瞬态,并且在此后的整个工业过程周期内出现了新的异常,则将检测结果更新为伪装转移(第12-22行)。

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

4 实验评估

本节展示了本研究为评估所提出模型的性能而进行的大量实验的结果。首先,介绍所开发的实验设置、攻击场景、实验数据集和评估指标。然后,展示两个开发的工业过程的周期性检测结果。接着,将使用检测到的周期的所提出模型的性能与三种最先进的方法进行比较。最后,证明本研究提出的优化策略在识别与过程相关的攻击方面的有效性。

4.1 实验装置

据我们所知,目前尚无公开可用的专注于检测与过程相关攻击的数据集。此外,在真实的工业控制系统上发动此类攻击可能会造成重大损害,因此收集现实世界中的攻击数据并不实际。大多数现有的检测方法依赖于私有数据集进行验证,而这些数据通常是无法获取的。鉴于这些限制,本文通过搭建两个实验室规模的实验装置,生成了两个实验数据集及其对应的网络-物理模型。

这两个实验装置代表了两种不同的实验室规模的工业过程。第一个工业过程是一个交通信号控制系统,它控制着十字路口的九个交通信号灯和两个计时器。如图2所示,这个工业过程由两台Schneider Modbus MODICON M340可编程逻辑控制器控制,并由一个人机界面进行监控和操作。控制这个工业过程的可编程逻辑控制器控制使用Unity Pro XL进行编程,而人机界面则使用KingSCADA System 3.53进行设计和编译。左侧的可编程逻辑控制器控制着九Omron MY2N-GS微型功率继电器,用于模拟对应数字1、3-10的信号;右侧的可编程逻辑控制器控制着两个RS485数字显示屏(LED-054),用于显示两个计时器的确切秒数。请注意,RS485数字显示屏仅支持Modbus远程终端单元协议,因此通过在RS485数字显示屏和可编程逻辑控制器控制之间接入一个串行通信服务器(RS485-ETH)实现Modbus TCP/RTU的相互转移。

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

图2. 交通信号控制系统,代表数据集#1的一个工业过程

第一个工业过程包括一个200秒的短周期和一个86401秒的长周期。如图3所示在短周期的前半段,信号灯#1首先显示红色68秒,然后,显示绿色32秒。计时器#2从68开始,每秒减1,直到达到1s秒。然后,该计时器重置,从32开始,每秒减1,直到达到1秒。信号灯#3、#4和#5共同指示东西方向的交通信号信号灯#3显示红色68秒。接着,信号灯#5显示绿色29秒。最后,信号灯#4显示黄色3秒。信号灯#6、#7和#8共同指示南北方向的交通信号。信号灯#6显示红色3秒。然后,信号灯#8显示绿色59秒。接着信号灯#7显示黄色3秒。最后,信号灯#6显示红色35秒。信号灯#9是南北方向的转弯信号灯,它首先显示红色68秒,然后显示黄色29秒,最后显示绿色3秒。信号灯#10首先显示红色3秒,然后显示绿色62秒,最后显示红色35秒。计时器#11从3秒开始,每秒减1,直到达到1秒。然后,该计时器重置,从62秒开始,每秒减1,直到达到1s秒。最后,该计时器再次重置,从38秒开始,每秒减1,直到达到3秒。在短周期的后半段,<S2,S3>的转移时间为29秒,而<S4,S5>的转移时间为59秒,这与短周期的前半段相反。该程序每运行24小时后,这些信号灯会关闭1秒,然后过程再次开始。一旦启动,这个过程将重复进行,直到被人为停止。

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

图3. 交通信号控制系统的流程

第二个工业过程是由欧姆龙CJ1W-PA20SR可编程逻辑控制器控制的传送带系统(图4)。使用CX One Programmer对可编程逻辑控制器进行编程,并使用KingSCADA System 3.53设计人机界面。钻头在输送机上方悬停2秒,同时传送带向前移动10厘米。输送机的速度为5厘米/秒,因此输送机向前移动10厘米距离所需的时间为2秒。然后钻头下降到输送机上并停留6秒时间,在此期间输送机保持静止。接着钻头上升并悬停10秒,同时输送机向前移动50厘米。然后钻头再次下降到输送机上并停留32秒,在此期间输送机保持静止。最后,钻头上升并悬停2秒,同时输送机向前移动10厘米。然后这个循环重复进行显然,这个过程的短周期为50秒。在上述过程运行100次后,系统停止30秒,然后重新启动该过程,因此长周期为5030秒。

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

图4. 传送带系统,用于代表数据集#2的一个工业过程

使用交换机的端口监控功能捕获所有访问可编程逻辑控制器的流量。轮询周期设置为1秒,这是大多数公共数据集的常见标准。

4.2 攻击场景

为了评估所提出模型的性能,本研究在测试平台上模拟了六种与工业过程修改和中断相关的攻击场景。在本节中,这些攻击详细描述如下:

  • 基于消息时序的攻击:这种攻击在错误的时间发送合法消息或命令。

  • 基于消息顺序的攻击:这种攻击以错误的顺序发送合法消息或命令,导致系统进入临界状态。

  • 资源耗尽攻击:此攻击试图通过耗尽计算资源减缓或中断主设备或从设备的处理。

  • 选择性转发攻击:此攻击使用中间人技术选择性地转发某些操作,同时丢弃其他操作。其目标是扰乱工业流程。

  • 篡改攻击:此类攻击试图使用中间人技术修改操作值。与选择性转发攻击一样,其目标是扰乱工业流程。

  • 窃听攻击:此攻击旨在使用中间人技术窃听工业流程。它在主设备和从设备之间转发数据包,并保留流量副本以推断工业流程。

基于消息序列的攻击会改变工业控制系统的系统状态或状态序列。基于消息时序的攻击会增加或减少状态转移的时间。依赖中间人技术拦截和转发数据包的选择性转发、篡改和窃听攻击,以及资源耗尽攻击会增加轮询响应时间或轮询时间。

4.3 数据集

交通信号控制系统和传送带系统分别用于生成数据集#1和数据集#2。每个数据集包含一个控制数据集和一个攻击数据集。控制数据集反映工业控制系统和工业过程的正常行为。攻击数据集包含六种类型的攻击异常、伪装过渡、两种类型的非攻击异常和三种类型的正常情况。

在设备层面,检测样本是轮询周期和轮询响应时间。在系统层面,检测样本由元组<Sδ,Sχ,tδ,χ,Tδ,χ>表示,其中tδ,χTδ,χ分别表示从源状态Sδ到目标状态Sχ的过渡时间和行动时间。两个数据集的攻击数据的样本大小分布如表2所示。

表2. 数据集#1和#2的攻击数据样本量分布

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

控制数据集用于构建网络-物理模型,攻击数据集用于异常检测。控制数据集被划分为十个相等的子集,作为训练集,而攻击数据集被指定为测试集。在PIDFA-AD算法中,进行了标准的10折交叉验证。

4.4 检测能力比较

不同攻击的检测率,通常称为检测能力,是检测模型的一个重要标准。为了验证所提出模型的检测能力,将其与三种旨在检测与进程相关攻击的最先进方法进行了比较。这些比较方法是OTALA[10]、GAT-Info[16]和DFA-ND[8]。表3显示了比较结果。以下是对不同类型攻击的深入比较分析:

  • 基于消息时序的攻击。GAT-Info、OTALA和DFA-ND在检测基于消息时序的攻击时性能不佳的一个共同原因是,它们没有考虑网络延迟和数据包丢失对转移时间的影响,导致学习到的转移时间范围与实际情况不一致。因此,一些转移时间落在扩展约束范围内,但不在实际约束范围内的基于消息时序的攻击无法被这些模型检测到。此外,由于OTALA既不考虑转移时间的多样性也不考虑其顺序性,其检测能力比DFA-ND差。虽然DFA-ND考虑了转移时间的多样性,但它不考虑其顺序性,因此无法检测只改变转移时间顺序的基于消息时序的攻击。GAT-Info通过图注意力和Informer学习时间序列的特征,因此,其检测基于消息时序的攻击的能力比DFA-ND好。PIDFA-AD考虑了网络延迟和数据包丢失对转移时间的影响,因此能够准确学习转移时间的约束区间,提高了基于消息时序的攻击的检测率。此外,PIDFA-AD考虑了转移时间的多样性和顺序性,因此能够更准确地检测具有不同转移时间间隔的异常以及仅改变转移时间顺序的异常。通过这些优化策略,PIDFA-AD在基于消息时序的攻击检测中实现了最佳检测率。

  • 基于消息顺序的攻击。OTALA使用<寄存器地址,寄存器值>描述操作类型,这限制了其检测只操纵控制器IP地址和操作码的顺序攻击的能力。GAT-Info通过自动学习时间序列特征的能力,在基于消息顺序的攻击检测方面优于OTALA。DFA-ND将操作类型描述为<控制器IP地址,操作码,起始地址,寄存器数量>,因此它无法检测只修改数据字段的顺序攻击。PIDFA-AD通过将功能类型描述为控制器IP地址、操作码、寄存器地址、修改数据的组合,对这些攻击很敏感。因此,通过使用更有用的字段描述功能类型,检测模型能够检测到更多隐蔽的攻击。

  • 选择性转发。大多数先前的研究[8]、[10]、[16]支持选择性转发检测,这种攻击通常会改变操作顺序。然而,这些模型没有考虑数据包丢失和网络延迟的影响,导致它们在选择性转发检测中的检测率较低。本文提出的方法考虑了数据包丢失和延迟,并使用轮询响应时间和轮询周期代替操作时间间隔和执行时间检测使进程变慢的攻击。因此,PIDFA-AD能够准确检测轮询响应时间或轮询周期落在扩展时间约束内(在原始时间约束内无法检测到)的轮询时间异常,从而实现了最佳检测率。

  • 篡改攻击。OTALA和Gat-Infor都能检测到一些改变过程变量值的篡改攻击,但它们无法检测到不改变这些值的篡改攻击。DFA-ND可以通过操作时间间隔和执行时间检测不影响操作顺序和操作相关内容的篡改攻击,但它们没有考虑数据包丢失和网络延迟对操作时间间隔和执行时间的影响。因此,它们的模型无法检测到那些操作时间间隔/执行时间在扩展操作时间间隔/执行时间的约束区间内,但在真实操作时间间隔/执行时间的约束区间外的篡改攻击。PIDFA-AD通过考虑数据包丢失和网络延迟对轮询响应时间和轮询周期的影响,能够比DFA-ND检测到更多的篡改攻击。

  • 窃听攻击。GAT-Info无法检测到不改变过程变量值的篡改攻击。OTALA只能检测到改变过程变量值或转移时间的攻击。因此,它无法检测到不改变过程变量值或转移时间的窃听攻击。DFA-ND可以通过操作时间间隔和执行时间检测不影响操作顺序和操作相关内容的窃听行为,但它们没有考虑数据包丢失和网络延迟对操作时间间隔和执行时间的影响。因此,它们的模型无法检测到操作时间间隔/执行时间在扩展操作时间间隔/执行时间的约束区间内,但在真实操作时间间隔/执行时间的约束区间外的窃听行为。PIDFA-AD通过考虑数据包丢失和网络延迟对轮询响应时间和轮询周期的影响,能够比DFA-ND检测到更多的窃听攻击。

  • 资源耗尽攻击。攻击者可以通过流量洪泛(例如,轮询请求洪泛)或恶意软件程序(例如,加密货币挖矿)发动资源耗尽攻击。OTALA可以通过转移时间检测流量洪泛攻击,因为流量洪泛攻击通常会增加转移时间。GAT-Info可以通过自动学习可能偏离预期值的过程变量的时间特征检测流量洪泛攻击。然而,恶意软件很难检测,因为它通常在主设备上运行,并且不会出现在工业流量中。DFA-ND可以通过操作时间间隔和执行时间检测流量洪泛和恶意软件,但它们没有考虑数据包丢失和网络延迟对操作时间间隔和执行时间的影响,因此它们的模型无法检测到许多操作时间间隔/执行时间在扩展操作时间间隔/执行时间的约束区间内,但在真实操作时间间隔/执行时间的约束区间外的恶意软件攻击。PIDFA-AD通过考虑数据包丢失和网络延迟对轮询时间模式的影响,有效地检测到洪泛和恶意软件攻击。特别是,它能够识别出操作时间间隔/执行时间值在扩展操作时间间隔/执行时间约束区间内,但在实际约束区间外的恶意软件攻击。

  • 伪装转移。文献[8]、[10]、[16]中提出的方法仅检测变化点,因此它们无法检测到表现为正常转移的伪装转移。PIDFA-AD可以通过学习工业控制系统的周期性模式,准确地检测到异常段中的伪装转移。

  • 正常转移。OTALA不对状态变量进行离散化处理,许多在训练阶段未出现但变量值在正常范围内的正常状态被识别为新的异常状态,导致误报率较高。PIDFA-AD通过对状态变量进行离散化处理,有效地降低了误报率。

  • 良性控制命令序列。在文献[8]、[10]、[16]中,良性控制命令序列被识别为异常。PIDFA-AD通过分析良性控制命令序列对工业控制系统状态的影响,正确识别良性控制命令序列,从而降低了误报率。

  • 网络延迟。文献[8]、[10]、[16]中提出的方法未考虑网络延迟,这可能导致将网络延迟误识别为基于消息时序的攻击。PIDFA-AD通过使用行动时间识别网络延迟并降低误报率,从而解决了这个问题。

  • 非周期性状态。在模型训练过程中,文献[8]、[10]、[16]将所有瞬态都视为正常状态,这导致在训练阶段观察到的非周期性状态在检测阶段被不准确地视为正常状态。PIDFA-AD通过后剪枝算法解决了这个问题,并提高了检测率。

  • 系统恢复。文献[8]、[10]、[16]中提出的方法未考虑攻击后的系统恢复情况,可能会将一些用于系统恢复的控制命令序列误识别为异常序列。PIDFA-AD通过工业控制系统的周期性识别系统恢复,从而有效降低了误报率。

表3. 不同方法对不同攻击类型的平均检测率

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

4.5 检测性能比较

为了进一步验证PIDFA-AD的检测性能,本研究将其与三种最先进的方法[8][10][16]进行了比较。

表4展示了比较结果。PIDFA-AD取得了最佳性能。OTALA由于忽略了网络延迟、数据包丢失、过渡时间的多样性和离散化,检测结果最差。由于缺乏离散化,OTALA的误报率较高。GAT-Info使用图注意力网络和Informer学习时间序列的时间特征,提高了检测性能,优于OTALA。DFA-ND的检测性能比GAT-Info更好,主要是因为它能够考虑操作时间间隔和响应时间的多样性。然而,由于DFA-ND不考虑过渡时间的顺序性,一些针对时间序列的攻击可能无法被检测到,导致检测率较低。PIDFA-AD成功解决了现有研究的一些缺点,实现了令人印象深刻的平均检测率98.95%和极低的平均误报率0.62%。此外,它的平均F1分数达到98.81%,表现出色。

表4. 不同方法在不同数据集上的检测性能

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

所提出的方法在两个不同的实验室规模工业控制系统上进行了验证,得到的F1值和准确率均优于现有方法。这一结果表明,该方法在不同配置下具有良好的适应性,能够有效地迁移到其他实验平台并取得类似的结果。

4.6 改进的轮询时间模式的影响

为了评估改进的轮询时间模式的效果,本研究在保持其他优化策略不变的情况下,比较了使用不同执行间隔和执行时间的检测器的性能。表5展示了比较结果。

  • NO-PTP-DFA:表示未使用轮询时间模式的DFA检测器。

  • OE-DFA:表示使用运行时间间隔和执行时间的DFA检测器。

  • PTP-DFA(not packet loss and network delay):表示使用轮询时间模式的DFA检测器。它不考虑丢包和网络延迟对轮询时间模式的影响。

  • PTP-DFA(not network delay):表示使用轮询时间模式的DFA检测器。它考虑了丢包对轮询时间模式的影响,但不考虑网络延迟对轮询时间模式的影响。

  • PTP-DFA(not packet loss):表示使用轮询时间模式的DFA检测器。它考虑了网络延迟对轮询时间模式的影响,但不考虑丢包对轮询时间模式的影响。

  • Our model:表示一个使用轮询时间模式的DFA检测器。它考虑了数据包丢失和网络延迟对轮询时间模式的影响。

与NO-PTP-DFA相比,OE-DFA通过使用执行时间间隔和执行时间显著提高了检测性能。然而,OE-DFA的误报率仍然很高,平均误报率约为12.39%。使用轮询时间模式,平均检测率提高了5.57%,平均误报率降低了约11.72%。这一实验结果表明,轮询时间模式在检测与过程相关的攻击方面比操作时间间隔和执行时间更有效。通过考虑数据包丢失或网络延迟对轮询时间模式的影响,可以进一步提高模型的检测率和误报率。PIDFA-AD通过考虑数据包丢失和网络延迟对轮询时间模式的影响,具有最佳的检测性能。与OE-DFA相比,PIDFA-AD的平均检测率提高了9.23%,平均误报率降低了11.78%。这些实验结果表明,考虑数据包丢失和网络延迟的轮询时间模式可以有效地提高异常检测率并降低误报率。

表5. 不同执行时间间隔和执行时间

不同数据集上的检测性能

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

4.7 离散化的影响

为了验证离散化在缓解状态爆炸方面的有效性,本研究比较了两个已开发工业过程在离散化前后的状态和转移变化。

为了验证所提出的混合事件离散化方法在异常检测中的有效性,本研究在保持其他优化策略不变的情况下,比较了使用不同离散化方法的检测器的性能。表6展示了比较结果。

  • Our model(without discretisation):表示一个未进行离散化的DFA检测器。

  • K-Means-DFA:表示一个使用K-Means离散化的DFA检测器,该方法将数据点划分为个簇。

  • EWD-DFA:表示一个使用等宽离散化的DFA检测器,该方法将值的范围划分为等宽的区间。

  • EFD-DFA:表示一个使用等频离散化的DFA检测器,该方法将值划分为区间,使得每个区间包含相同数量的值。

  • Our model:表示一个集成了本文提出的所有优化策略的DFA检测器。

EWD-DFA、EFD-DFA和K-Means-DFA的结果是针对不同数量的区间进行平均的,具体设置为[1,20]。PIDFA-AD不受区间数量的影响。

如表6所示,未进行离散化的检测器检测性能最差。相比之下,采用混合事件离散化的PIDFA-AD取得了最佳性能。未进行离散化的检测器误报率最高,尤其是在数据集#1上,达到了0.1556。离散化后,PIDFA-AD在两个数据集上始终实现了最低的误报率,平均降低了14.725%的误报率。这表明PIDFA-AD在减少误报方面非常有效,从而提高了其在实际应用中的可信度。未进行离散化的检测器的平均准确率为,是所有方法中最低的。这表明未离散化的数据对模型的泛化能力有很大的负面影响。相比之下,PIDFA-AD实现了99.235%的平均准确率,比未进行离散化的检测器高出13.412%。这表明PIDFA-AD通过有效的离散化显著提高了准确率。在其他方法中,K-Means-DFA的性能优于EWD-DFA和EFD-DFA,因为它将值分配到最近的区间,而不是简单地根据宽度或频率对值进行分类。EWD-DFA的性能比EFD-DFA略有优势。

表6. 不同离散化方法在不同数据集上的检测性能

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

综上所述,所提出的离散化方法不仅有效解决了网络-物理模型的状态爆炸问题,还提高了检测性能。这使得所提出的方法能够有效地扩展到更复杂、大规模的工业控制系统中。

4.8. 改进的过渡时间模式的影响

改进的过渡时间模式使用GMM-CPSet应对过渡时间的顺序性的挑战。它采用极值检测和处理减轻网络延迟的影响。

图5展示了学习过渡时间模式的过程以及检测结果的比较。在图5(a)中,原始过渡时间值的分布显示出12247.4521毫秒的显著偏差。此外,它们的概率密度分布显示值明显分为三个部分。应用GMM后,过渡时间值被分为三个类:类#1、#2和#3,如图5(e)所示。然后,使用正态分布模型学习每个类的分布模式。在图5(b)-(d)中,学习到的正态分布模型的偏差相对较小,分别为0.2662、0.2349和0.2611毫秒。经过GMM划分后,偏差从12247.4521毫秒降至平均0.2541毫秒,这是一个显著的改进(48199倍)。这一结果证实了使用GMM学习过渡时间分布的优势。

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

图5. 学习过渡时间模式的过程以及检测结果的比较。(a)原始时间间隔值上过渡时间的概率分布。(b)类#1的概率分布。(c)类#2的概率分布。(d)类#3的概率分布。(e)GMM的聚类结果。(f)检测结果的比较图:红线表示攻击发生的时刻,蓝线表示使用GMM-CPSet的方法的检测结果,橙线表示不使用GMM-CPSet的方法的检测结果,其中1表示受到攻击,0表示未受到攻击。

在图5(e)中,红色/绿色虚线分别代表极值处理前后每个子聚类的时间约束。检测和处理由网络延迟引起的过渡时间极值可解决过渡时间约束区间延长的问题。因此,过渡时间在红色虚线和绿色虚线之间的攻击能够被准确识别。

在图5(f)中,未使用GMM-CPSet的检测方法在过渡时间受到连续攻击时无法检测到任何点。相比之下,使用GMM-CPSet的方法成功识别出过渡时间受到连续攻击的所有点。这表明使用GMM-CPSet的方法的检测性能优于未使用GMM-CPSet的方法。

为了评估网络延迟和GMM-CPSet的影响,本研究在保持其他优化不变的情况下,比较了使用抗网络延迟或GMM-CPSet的检测器的性能。表7显示了比较结果。

  • NAG-DFA:表示一种不考虑网络延迟对转移时间模式的影响以及转移时间的顺序性质的DFA检测器。

  • AND-DFA(network delay):表示一种考虑了网络延迟对转移时间模式的影响,但不考虑转移时间的顺序性质的DFA。

  • GMM-CPSet-DFA(not network delay):表示一种考虑了转移时间的顺序性质,但不考虑网络延迟对转移时间模式的影响的DFA。

表7. 不同过渡时间模式在不同数据集上的检测性能

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

与NAG-DFA相比,AND-DFA的平均误报率降低了5.38%。与NAG-DFA相比,AND-DFA的平均检测率提高了2.635%。这些结果表明,减少网络延迟对转移时间模式的影响可以有效降低误报率并提高检测率。此外,通过考虑转移时间的顺序性质,与NAG-DFA相比,GMM-CPSet-DFA的平均检测率提高了4.635%。结果表明,考虑转移时间的顺序性质可以有效提高检测器的异常检测率。在同时考虑了网络延迟对转移时间的影响和转移时间的顺序性质后,与NAG-DFA相比,PIDFA-AD的平均检测率提高了10.18%,平均误报率降低了5.47%。这些结果表明,同时考虑转移时间的顺序性质和网络延迟对转移时间的影响可以提高检测率并降低误报率。

4.9 后剪枝的影响

为了更具体地评估剪枝后策略的效果,本研究在保持其他优化策略不变的情况下,比较了使用不同剪枝策略的检测器。表8展示了比较结果。

  • NP-DFA:表示一个未剪枝的DFA检测器,它保留了所有低频状态。

  • FP-DFA:表示一个完全剪枝的DFA检测器,它移除了所有低频状态。

  • Our model:表示所提出的平衡剪枝检测器,它移除了非周期性低频状态,同时保留了周期性低频状态。

FP-DFA和PIDFA-AD具有相同的检测率。然而,PIDFA-AD通过有效处理周期性瞬态和非瞬态状态,将平均误报率显著降低了2.69%。此外,与NP-DFA相比,PIDFA-AD将平均检测率提高了7.235%。这些结果凸显了采用剪枝后策略在降低误报率的同时提高检测率的有效性。

表8. 不同后剪枝策略在不同数据集上的检测性能

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

4.10 网络-物理模型周期性检测的影响

网络-物理模型周期性不仅用于检测周期性状态,还用于识别系统恢复和伪装转移。然而,网络延迟可能会降低网络-物理模型周期性检测的准确性,从而影响对这些事件的正确检测。因此,首先比较在网络-物理模型周期性检测中考虑和不考虑网络延迟的不同DFA-AD的性能,以评估其对周期性状态检测的影响。然后,比较在类似条件下不同PIDFA-AD的性能。最后,为了验证PIDFA-AD在检测系统恢复和伪装转移方面的有效性,将其与DFA-AD进行比较。表9显示了比较结果。

表9. 不同网络-物理模型周期性检测方法

在不同数据集上的检测性能

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

考虑网络延迟对周期性网络-物理模型检测的影响后,DFA-AD的平均误报率降低了4.81%。这一结果表明,考虑网络延迟可以更准确地检测周期性状态。其次,在考虑网络延迟对网络-物理模型周期性检测的影响后,PIDFA-AD在检测率和误报率方面都有轻微改善。这表明考虑网络延迟有助于更准确地检测系统恢复和伪装转移。

与DFA-AD相比,PIDFA-AD将平均误报率降低了5.54%,凸显了其在准确检测系统恢复方面的优越性。值得注意的是,由于数据集中不存在伪装转移,DFA-AD和PIDFA-AD在数据集#2中的检测率相同。然而,数据集#1的结果显示,PIDFA-AD的检测率比DFA-AD高3.88%,证实了其在伪装转移检测方面的有效性能。综上所述,这些结果凸显了PIDFA-AD能够利用检测到的周期有效检测伪装转移和系统恢复的能力。

5 总结

本文为工业控制系统提出了一种新颖的基线模型,通过学习设备级轮询时间模式和系统级网络-物理模型检测异常。本文提出了一种改进的轮询时间模式学习方法,通过减少丢包和网络延迟的影响更准确地捕捉轮询时间模式。本文还提出了一种改进的网络-物理模型构建方法,该方法通过混合事件离散化缓解状态爆炸问题,通过异常值替换减少网络延迟对转移时间或行动时间的影响,并使用循环排列集捕捉转移时间的顺序特性。此外,本文提出了一种后剪枝算法,以平衡网络-物理模型中低频状态的去除和保留。此外,本文还提出了一种网络-物理模型周期性检测方法,该方法减少了网络延迟的影响,以确保检测到所有工业过程周期。利用该基线模型,本文提出了一种具有高检测率和低误报率的实时异常检测方法。该方法在准确识别伪装转移和系统恢复方面特别有效。大量实验结果证明了所提出的异常检测方法的有效性和优越性。

参考文献

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法
谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

[8] Cheng Z, Cui B, Fu J. Rethinking the Operation Pattern for Anomaly Detection in Industrial Cyber–Physical Systems[J]. Applied Sciences, 2023, 13(5): 3244.

[10] Shlomo A, Kalech M, Moskovitch R. Temporal pattern-based malicious activity detection in SCADA systems[J]. Computers & Security, 2021, 102: 102153.

[16] Zhao M, Peng H, Li L, et al. Graph Attention Network and Informer for Multivariate Time Series Anomaly Detection[J]. Sensors, 2024, 24(5): 1522.

[48] An K. Sulla determinazione empirica di una legge didistribuzione[J]. Giorn Dell'inst Ital Degli Att, 1933, 4: 89-91.

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

第一作者:林小李

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法
谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

东北大学博士研究生,主要研究方向为工业控制网络安全,风险评估,可视分析等。

指导教师:姚羽

谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法
谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

东北大学教授,“谛听”团队创始人,复杂网络系统安全保障技术教育部工程研究中心主任。

原文始发于微信公众号(谛听ditecting):谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月7日13:43:08
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   谛听 | 基于长短周期确定性有限自动机的工业控制系统实时异常检测方法https://cn-sec.com/archives/3809185.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息