登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 外文翻译 > 理工学类 > 自动化 > 正文

基于PLC的功率控制系统的假序列攻击的构建外文翻译资料

 2022-07-22 13:05:19  

英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料


基于PLC的功率控制系统的假序列攻击的构建

摘要

确保传感器测量的精确度对于安全地调节功率控制系统中的物理过程是至关重要的。 对控制系统的传统假数据注入(FDI)攻击主要需要攻击者获得最佳恶意输入。 与传统的FDI攻击不同,我们提出的虚假序列攻击可以禁用对可编程逻辑控制器(PLC)的故障检测与关于受害者系统的部分信息。 我们的攻击准则是从受损的PLC中识别收集的无故障I / O轨迹的离散事件模型,并找到被选择作为从识别的模型注入到受损传感器中的期望攻击的不可检测的假序列。 工业仿真表明,我们对故障检测的控制系统构建了伪序列攻击。

关键字:故障检测,功率控制系统,假序列攻击,假数据注入,离散事件模型。

作者:邬晶、龙承念、李少远、肖敏

上海交通大学自动化系,教育部系统控制与信息处理重点实验室,中国上海,邮编200240。

来源:第35届中国控制会议(CCC),2016年7月27-29日,中国上海。

介绍

控制系统作为网络 - 物理关键基础设施的基本组成部分已经广泛应用于电网。 由于它们在现代工业社会中的关键作用,它们正成为导致恶意破坏的对手的高度脆弱的目标。 传统的安全保护主要是通过网络安全解决方案和高效防止病毒侵入工业网络。 然而,最近的研究表明,在使用可信安全验证器(TSV)通过物理安全检查后,不允许执行具有存在威胁的控制器代码[1]。 此外,入侵主机系统像Stuxnet恶意软件[2] - [3]是非常具有挑战性的工作,从良好保护的控制网络。 因此,越来越多的利益已经付给传统的虚假数据注入(FDI)攻击,这不需要突破硬化的工业控制网络来上传恶意有效载荷在功率控制系统中。

近年来,越来越多的安全研究集中在电网的FDI攻击。从系统拓扑的角度看,Liu et al。 [4]宣布虚假数据注入攻击可以引入任意错误到某些状态变量,误导状态估计过程,而不被错误的测量检测。 Yang et al。 [5]实施了对各种IEEE标准总线系统的FDI攻击,并证明了其优于随机选择的基线策略的优点。然而,上述FDI攻击是可行的,假设整个系统的配置或拓扑可用,并且可访问大量电力系统的大量受损的传感器,这在实际操作期间难以实现。从网络物理平台的角度来看,Mclaughlin et al。 [6]通过控制器的行为模型提出对PLC的FDI攻击,以搜索最优输入向量来破坏控制系统。 Pang et al。 [7]提出隐身假数据攻击,可彻底破坏输出跟踪控制系统的正常运行。两者都忽略了故障检测的成熟解[8] - [9] [10],它们被应用于智能控制器如PLC。

在本文中,我们提出对PLC的假序列攻击,这可以禁用PLC中的故障检测。 在攻击构造期间,仅需要控制在PLC和实际设备之间监视的几个受损传感器和足够的信号序列(I / O向量)。 此外,我们分析和建模受损PLC的收集到的无故障I / O轨迹,以发现假序列,这些错误序列可以注入到远程传感器的输入中,从而损坏控制系统,并且不能通过故障检测来检测。 值得注意的是,在现有故障检测的条件下,我们利用容错率k构建基于识别模型的假序列。

我们组织本文的其余部分如下:在第2节,我们给出我们的伪序列攻击的制定。 在第3节中,我们介绍了基于PLC的控制系统的建模和假序列攻击的构建。 在第4节,我们提供一个代表性的工业仿真,并获得一些仿真结果。 在第5节中,我们将得出一些结论。

问题描述

考虑图1中描述的威胁模型。 1,攻击者只需要访问和混淆在全国各地分布的控制系统的远程较少保护的传感器。 然后,攻击可以通过异构通信网络间接对来自远程终端单元(RTU)或PLC的远程传感器的人机接口(HMI)执行恶意破坏。 为了防止物理故障引起的异常,每个智能控制器部署故障检测机制。 为了确保我们的攻击的可行性,我们假设攻击者获得高级基础设施配置,例如传感器/执行器与RTU或PLC输入/输出之间的连接关系,这不难访问 实践。 利用上述知识,攻击者构造伪序列攻击以注入到向PLC发送误导测量的受损传感器。

图1:伪序列攻击的威胁模型

然而,如何构建使PLC利用控制系统中部署的成熟故障检测执行恶意动作的攻击是一个挑战。伪序列攻击的主要任务之一是分析和禁用故障检测。伪序列攻击本质上是利用故障检测原理的漏洞,该原理仅设计用于解决随机故障问题,并且通过受损的远程传感器向PLC发送不可检测和破坏的测量。图。图2示出了攻击如何构造。我们假设对手可以访问在PLC控制器和工厂之间交换的信号或堆栈跟踪。利用输入和输出矢量数据库,我们识别与故障检测的建模方法类似的无故障的离散事件模型。最后,我们搜索所有的不可检测的虚假序列的集合,导致从标识模型的恶意系统行为。具体的搜索算法在下一节讨论。注意,获得适当长度的假序列在整个遍历过程中至关重要。

图2:构造假序列攻击

虚假序列攻击的建模与构造

我们需要一个正式的描述来识别BEHmIdent的行为,并观察BEHmObs的行为,用于量化由识别的模型产生的超出m行为。 识别目标是使对于识别参数m的给定值的超过m行为的量最小化。 相反,很明显,BEHmIdent等于BEHmObs。 然后我们在识别模型的基础上执行假序列。

数据收集和观察行为的形式定义

我们可以通过在PLC控制器[8]收集信号之后捕获信号来收集PLC和控制器之间的采样数据。 图。 图3示出了从PLC捕获I / O向量序列的广泛适应的方法,其可以用于由攻击者监控受损数据。 我们通过OPC通信模式收集数据以在I / O向量演算的每一端形成识别数据库。

图3:PLC周期和数据收集

在实现数据收集之后,我们需要定义观察到的输入/输出(I / O)序列,收集的数据的语言和行为。 在我们开始之前,我们引入以下定义。

定义一:

具有r个输入和s个输出的所收集数据的观察到的I / O序列的集合被表示为

Sigma;=(gamma;1, hellip;, gamma;p)

其中gamma;i=(ui(1),ui(2),...,ui(| ui |)),ui(j)是第i个I / O向量u中的第j个输出,u = I1,...,Ir,O1,...,Os)=(IO1,... IOm),其中m = r s。

我们假设对于forall;,两个连续的I / O向量u(t)ne;u(t 1)成立,以确保当且仅当至少一个I / O向量 改变。

定义二:

观察的语言集合和收集的数据的行为:长度q的观察语言作为长度q的观察I / O向量序列的集合。

使用观察的语言集,观察到的长度n的行为定义为:

模型识别

模型类

识别的目的是确保所识别的m行为BEHmIdent等于观察到的m行为BEHmObs,其中m可以是任何可用值。 简而言之,所识别的模型将再现基于PLC的控制系统的语言。 考虑的系统是良好编程的控制器和物理设备的耦合系统,被认为是非确定性的。 因此,我们提出非确定性自动自动机与输出(NDAAO)[10],适合于我们的系统建模。

定义三:

具有输出(NDAAO)的非确定性自主自动化是五元组

N DAAO = (X, Omega;, fnd, lambda;, x0)

其中:

X = x0, ..., x|x|minus;1 是状态的有限集合。

Omega;= omega;1, ..., omega;|omega;| 是输出符号的有限集合

fnd : X → 2X 是非确定性过渡函数。

lambda; : X → Omega;是将每个状态与输出符号相关联的输出函数。

x0 是初始状态。

NDAAO可以由有向图G(V,E)表示。 G的顶点集是NDAAO中所有状态的集合:

V(G)=X

G的边缘集由过渡函数fnd表示:

E(G)={(xi, xj)isin;Xtimes;X:xjisin;fnd(xi)}

由于每个节点与对应状态xi的输出lambda;(xi)相关联, 图4示出了有助于表示图形NDAAO的简单示例。

图4:ndaao的图形表示

定义四:NDAAO的词集和行为:NDAAO从xi开始生成的n长词的集合是

然后由NDAAO生成的长度为n的字的集合是

利用词集的描述,我们可以获得NDAAO的识别的n行为,即

定义五:识别的事件向量ε(j)是NDAAO的两个相邻的识别的输出向量omega;(j)和omega;(j 1)之间的变化; 它被表示为ε=omega;(j 1)-omega;(j),。 输入事件向量I(ε(j))是识别的输出向量I(j),I(j 1)的两个相邻输入,并且输出事件向量O(ε(j))具有相似的定义。 具体配方如下:

考虑I / O向量序列gamma;涉及两个输入和一个输出,我们有

该序列可以表示为:

识别算法

我们提出一个识别算法生成NDAAO,在上一节中显示。 我们定义识别参数k,其确定用于创建新状态的I / O向量序列的长度。 参数k服务器产生NDAAO的k行为的思想完全等于从观察到的向量产生的n行为。 产生的NDAAO称为n-完全。

NDAAO的建设主要分为三个步骤。 首先,我们将观察到的序列转换为一组长度为k的字序列,并在开始时创建一组k-1个虚拟状态,以与其他字符一致。 算法1的部分1示出了观察序列的变换。 其次,我们执行NDAAO识别。 NDAAO的状态与长度k的字相关联,并且过渡函数由长度k 1的字表示。 算法1的部分2示出了NDAAO的标识。 最后,我们合并等效状态以减少状态空间。 对于任何两个状态xi和xj是不同的,如果它们与相同的输出相关联,并且如果它们具有相同的后继集合,则我们可以将这两个状态合并到一个状态。 我们通过从NDAAO的状态和转换函数绘制图形点来使模型可视化。 具体算法如算法1的第3部分所示。

实例1:

考虑从无故障系统收集的三个序列:

gamma;1=(A,B,C,D,E,A),gamma;2=(A,B,D,C,D,E,A),gamma;3= ,D,B,C,D,F,E,A)。 大写字母表示不同的I / O向量。 这里我们选择识别参数k = 2。 序列转化后,我们可以得到

在得到Sigma;k=2和 Sigma;k=3之后,根据算法1的第2部分,从Sigma;k=2和过渡函数得到 Sigma;k=3的状态。相应的图示出在图5中。

图5:在识别算法的第二步之后识别NDAAO

算法1:NDAAO的构建

主要识别的模型具有比原始模型的状态和边缘冗余的状态和边缘,因此根据算法1的部分3减少状态空间以简化主要模型。 例如,如果我们将状态DB与状态AB合并,状态BA具有状态EA,状态BC具有状态DC,并且将x长度字替换为xiisin;X。 我们将得到简化的NDAAO在图6中。

图6:最后确定的NDAAO合并后的等价状态

错误序列攻击的构造

在我们识别出无故障的NDAAO之后,我们可以利用故障检测的原理构造不可检测的假序列。 我们都知道,故障检测是根据识别的NDAAO的输出来确定每个当前观察的I / O向量。 如果结果为真,则认为当前向量合法,否则为假警报。 在我们的攻击方法中,我们构造了伪序列攻击,其不仅满足来自识别的模型的相同输出,其确保不能检测到攻击,而且还通过选择具有错误致动的假序列的适当长度来导致恶意系统行为 逻辑。 以xi开始的长度n的假序列的具体形式描述定义如下,

上述定义Snxi构建从所鉴定的NDAAO截取的且不同于观察到的I / O载体的任何序列的长度n的序列。 因此,定义的假序列攻击可以是当注入到受损传感器中时的潜在有害入侵。 由于减少的NDAAO是(k 1) - 完成,建立以下等式。

forall;mle;k 1, BEHmObs=BEHmIdent

根据上述理论,在Snxi中只有长度不小于k-2的序列可以是假序列。 我们基于识别参数k is获得从NDAAO产生的所有假序列集合

由于我们提出假序列的定义,下一步是提出搜索算法以获得所有不可检测的假序列的集合。 算法2示出使用IncSearching的递归公式可以逐渐获得长度不小于k 2的假序列,并且从NDAAO选择并且从观察到的I / O向量的任何子序列中分离的那些序列从状态xinit开始。 利用IncSearching的输出,通过将来自NDAAO的状态X的所有Sxinit与所有开始状态xinit合并,获得所有序列集合Ak,如下所示,

算法2:搜索

通过算法2,获得的示例1的不可检测的伪序列的集合是(A, D, B, D, ...), (..., D, C, D, F, ...), (A, B, C, D, F, ...),其中在字母之前或之后的撇号可以是字母的任何前导或后继。

因为攻击者可能对来自控制系统的有限受损传感器具有有限的控制,我们需要确定在从上述方法产生的伪序列的两个连续向量之间改变的控制器I /

全文共7501字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[145841],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 20元 才能查看全部内容!立即支付

微信号:bysjorg

Copyright © 2010-2022 毕业论文网 站点地图