一种工控系统隐蔽攻击实时检测方法及装置与流程

文档序号:15928701发布日期:2018-11-14 01:24阅读:206来源:国知局

本发明涉及物理网信息安全技术领域,特别是指一种工控系统隐蔽攻击实时检测方法及装置。

背景技术

工业控制系统(简称“工控系统”,industrialcontrolsystems,ics)目前已经广泛应用于金融、交通、水利、制造、能源、军工等重要领域,是国家关键信息基础设施中的重要组成部分,直接影响国计民生。

近年来,随着工控系统与互联网的不断融合,以及网络空间安全形势日益严峻,针对工控系统的攻击越来越多。2010年的“震网(stuxnet)”病毒感染伊朗纳坦兹铀浓缩基地中的工业控制程序,控制生产浓缩铀的离心机异常加速,超越设计极限,致使离心机报废、核工厂被迫关闭;2015年“blackenergy3”攻击乌克兰电网,伪造继电开关控制指令,断开电路,同时破坏控制系统的网络和控制软件,发起电话ddos攻击,阻止控制系统恢复和感知电网异常状态,导致22万人失去电力供应;2017年staggs博士团队在黑客大会上公开通过物理手段连接美国境内无人值守的风力发电机,入侵并控制风电场控制系统。这一系列安全事件表明,工控领域正成为网络空间安全对抗的主战场,保障工控系统安全稳定运行已成为国家政治、军事、经济、社会稳定亟需解决的核心问题之一。

入侵检测(intrusiondetectionsystem,ids)是工控系统安全防护的重要手段之一。由于现代工控系统主要采用“互联网-企业网-控制网-现场层”四层架构,因此传统的it系统入侵检测技术,如网络协议分析、网络流量挖掘等方法可用于检测针对前三层的网络攻击。而现场层与传统it系统有显著不同,该层与物理世界紧密关联,涉及工控系统、智能传感器、可编程逻辑控制器、主终端与远程终端单元等现场设备。虽然工控系统种类繁多,但绝大多数工控系统具有共性特征,即其动态行为可用关键过程变量表征,且过程变量值在短时间内不会发生大幅跃变,因此基于工业过程数据分析的入侵检测技术应运而生。此类技术主要用于检测针对现场设备的攻击行为,利用过程分析技术预测工控系统的期望行为,再将其与观测行为进行对比,根据两者差异是否超过特定阈值决定是否发出入侵告警。

然而,近年来有研究人员发现了一类针对工控系统的更为隐蔽的攻击行为,能够躲避现有工控入侵检测技术,并给系统造成致命的破坏。隐蔽攻击充分利用绝大多数工控系统动态行为不会在短时间内发生大幅跃变这一共性特征,使工控系统的观测行为与其期望行为非常接近但不完全一致,从而诱导入侵检测系统将此类精心设计的微小偏差当作正常测量误差或噪声,故不对其作任何处理,因此攻击者可隐藏其攻击行为。然而,经过较长时间的累积,攻击者仍可向目标工控系统中注入足够多的错误信息,导致系统崩溃。近几年,针对工控系统的隐蔽攻击逐渐受到重视,国内外研究团队针对隐蔽攻击做了前期的探索,取得了初步的成果,如尽可能降低隐蔽攻击对工控系统的不良影响程度,但目前仍无有效的技术成功检测出隐蔽攻击。



技术实现要素:

本发明要解决的技术问题是提供一种工控系统隐蔽攻击实时检测方法及装置,以解决现有技术所存在的无法检测出工控系统隐蔽攻击的问题。

为解决上述技术问题,本发明实施例提供一种工控系统隐蔽攻击实时检测方法,包括:

获取工控系统在无攻击环境下的正常残差序列的先验正态分布;

在攻击检测过程中,将工控系统同一时刻的观测输出与期望输出进行对比,得到待检测残差序列;

向所述待检测残差序列中随机插入预设比例的、人工生成的、符合正常残差序列先验正态分布的残差值,得到新残差序列,计算所述新残差序列的偏态系数;

判断所述偏态系数的绝对值是否大于预设的阈值,若大于,则工控系统遭遇隐蔽攻击,否则,工控系统没有遭遇隐蔽攻击。

进一步地,所述获取工控系统在无攻击环境下的正常残差序列的先验正态分布包括:

获取工控系统在无攻击环境下的正常残差序列;

利用极大似然估计法估计所述正常残差序列的均值μnor和方差形成所述正常残差序列的先验正态分布其中,均值μnor和方差分别表示为:

其中,rnor_i表示残差序列rnor中的第i个值,n为残差序列rnor的总长度。

进一步地,在将工控系统同一时刻的观测输出与期望输出进行对比,得到待检测残差序列之前,所述方法还包括:

构建工控系统状态空间模型;

根据构建的工控系统状态空间模型,利用卡尔曼滤波预测工控系统的期望输出;

采集工控系统的观测输出。

进一步地,所述构建工控系统状态空间模型包括:

若工控系统的动态行为可用明确的物理方程式表示,则对物理方程式进行数学推导获取对应的状态空间模型;

若工控系统的动态行为无法用明确的物理方程式描述,则将工控系统置于无攻击环境下运行预设的时间,收集运行过程中工控系统的输入、输出数据,运用系统辨识技术获取工控系统的状态空间模型。

进一步地,所述状态空间模型表示为:

xk=axk-1+buk+εk

yk=cxk-1+duk+ek

其中,xk和yk分别表示工控系统在k时刻的状态变量和输出变量,xk-1表示工控系统在k-1时刻的状态变量,εk和ek分别表示k时刻的过程噪声和测量噪声,uk表示工控系统在k时刻的输入变量,a为状态转移矩阵,b为控制输入增益矩阵,c为输出矩阵,d为前馈矩阵。

进一步地,所述根据构建的工控系统状态空间模型,利用卡尔曼滤波预测工控系统的期望输出包括:

根据构建的工控系统状态空间模型,执行卡尔曼滤波的时间更新方程;其中,所述时间更新方程表示为:

其中,时间更新方程借助状态转移矩阵a,将工控系统k时刻的后验状态xk映射为k+1时刻的先验状态将k时刻的后验预测误差协方差矩阵pk映射为k+1时刻的先验预测误差协方差矩阵qk表示k时刻的过程噪声协方差矩阵,at和bt中的t表示矩阵转置;

在获取k+1时刻的先验状态后,执行预测方程,利用输出矩阵c预测k+1时刻的期望输出,其中,所述预测方程表示为:

在获取k+1时刻的先验预测误差协方差矩阵执行卡尔曼滤波的测量更新方程;其中,所述测量更新方程表示为:

其中,所述测量更新方程利用工控系统k+1时刻的实际观测输出yk+1修正k+1时刻的先验状态获得对应时刻的后验状态xk+1,kk+1表示k+1时刻的卡尔曼增益矩阵,rk+1是k+1时刻的测量噪声协方差矩阵,pk+1表示k+1时刻的后验预测误差协方差矩阵,i为单位矩阵;

迭代执行所述时间更新方程、预测方程、测量更新方程,推动卡尔曼滤波对工控系统期望输出的预测过程。

进一步地,所述待检测残差序列由工控系统的观测输出和期望输出在同一时刻的值相减得到。

进一步地,所述偏态系数表示为:

其中,sc表示偏态系数,l为新残差序列的长度,ri为新残差序列中的第i个值,为新残差序列的均值,σr为新残差序列的标准差。

本发明实施例还提供一种工控系统隐蔽攻击实时检测装置,包括:

获取模块,用于获取工控系统在无攻击环境下的正常残差序列的先验正态分布;

对比模块,用于在攻击检测过程中,将工控系统同一时刻的观测输出与期望输出进行对比,得到待检测残差序列;

计算模块,用于向所述待检测残差序列中随机插入预设比例的、人工生成的、符合正常残差序列先验正态分布的残差值,得到新残差序列,计算所述新残差序列的偏态系数;

判定模块,用于判断所述偏态系数的绝对值是否大于预设的阈值,若大于,则工控系统遭遇隐蔽攻击,否则,工控系统没有遭遇隐蔽攻击。

本发明的上述技术方案的有益效果如下:

上述方案中,获取工控系统在无攻击环境下的正常残差序列的先验正态分布;在攻击检测过程中,将工控系统同一时刻的观测输出与期望输出进行对比,得到待检测残差序列;向所述待检测残差序列中随机插入预设比例的、人工生成的、符合正常残差序列先验正态分布的残差值,得到新残差序列,计算其偏态系数;判断所述偏态系数的绝对值是否大于预设的阈值,若大于,则工控系统遭遇隐蔽攻击,否则,工控系统没有遭遇隐蔽攻击;这样,根据新残差序列偏态系数的绝对值大小判断工控系统是否遭遇隐蔽攻击,同时,计算新残差序列的偏态系数耗时很短,时效性好,因此能实现隐蔽攻击的实时检测,进一步提升工控系统的安全防护水平。

附图说明

图1为本发明实施例提供的工控系统隐蔽攻击实时检测方法的流程示意图;

图2为本发明实施例提供的工控系统隐蔽攻击实时检测方法的详细流程示意图;

图3为本发明实施例提供的状态空间模型构建流程示意图;

图4为本发明实施例提供的液位控制系统结构示意图;

图5为本发明实施例提供的工控系统隐蔽攻击检测效果示意图;

图6为本发明实施例提供的工控系统隐蔽攻击实时检测装置的结构示意图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。

本发明针对现有的无法检测出工控系统隐蔽攻击的问题,提供一种工控系统隐蔽攻击实时检测方法及装置。

实施例一

如图1所示,本发明实施例提供的工控系统隐蔽攻击实时检测方法,包括:

获取工控系统在无攻击环境下的正常残差序列的先验正态分布;

在攻击检测过程中,将工控系统同一时刻的观测输出与期望输出进行对比,得到待检测残差序列;

向所述待检测残差序列中随机插入预设比例的、人工生成的、符合正常残差序列先验正态分布的残差值,得到新残差序列,计算所述新残差序列的偏态系数;

判断所述偏态系数的绝对值是否大于预设的阈值,若大于,则工控系统遭遇隐蔽攻击,否则,工控系统没有遭遇隐蔽攻击。

本发明实施例所述的工控系统隐蔽攻击实时检测方法,获取工控系统在无攻击环境下的正常残差序列的先验正态分布;在攻击检测过程中,将工控系统同一时刻的观测输出与期望输出进行对比,得到待检测残差序列;向所述待检测残差序列中随机插入预设比例的、人工生成的、符合正常残差序列先验正态分布的残差值,得到新残差序列,计算其偏态系数;判断所述偏态系数的绝对值是否大于预设的阈值,若大于,则工控系统遭遇隐蔽攻击,否则,工控系统没有遭遇隐蔽攻击;这样,根据新残差序列偏态系数的绝对值大小判断工控系统是否遭遇隐蔽攻击,同时,计算新残差序列的偏态系数耗时很短,时效性好,因此能实现隐蔽攻击的实时检测,进一步提升工控系统的安全防护水平。

在前述工控系统隐蔽攻击实时检测方法的具体实施方式中,进一步地,如图2所示,所述获取工控系统在无攻击环境下的正常残差序列的先验正态分布包括:

获取工控系统在无攻击环境下的正常残差序列;

利用极大似然估计法估计所述正常残差序列的均值μnor和方差形成所述正常残差序列的先验正态分布其中,均值μnor和方差分别表示为:

其中,rnor_i表示残差序列rnor中的第i个值,n为残差序列rnor的总长度。

本实施例中,将工控系统置于无攻击环境下运行一段时间,收集当前工控系统正常运行过程中的正常残差序列;然后,利用极大似然估计法估计所述正常残差序列的均值μnor和方差形成所述正常残差序列的先验正态分布

在前述工控系统隐蔽攻击实时检测方法的具体实施方式中,进一步地,在将工控系统同一时刻的观测输出与期望输出进行对比,得到待检测残差序列之前,所述方法还包括:

构建工控系统状态空间模型;

根据构建的工控系统状态空间模型,利用卡尔曼滤波预测工控系统的期望输出;

采集工控系统的观测输出。

在前述工控系统隐蔽攻击实时检测方法的具体实施方式中,进一步地,如图3所示,所述构建工控系统状态空间模型包括:

若工控系统的动态行为可用明确的物理方程式表示,即工控系统为简单系统,则对物理方程式进行数学推导获取对应的状态空间模型;

若工控系统的动态行为无法用明确的物理方程式描述,即工控系统为复杂系统,则将工控系统置于无攻击环境下运行预设的时间,收集运行过程中工控系统的输入、输出数据,运用系统辨识技术获取工控系统的状态空间模型。

本实施例中,采用状态空间模型描述工控系统的输入、状态以及输出之间的关联关系,所述状态空间模型表示为:

xk=axk-1+buk+εk

yk=cxk-1+duk+ek

其中,xk和yk分别表示工控系统在k时刻的状态变量和输出变量,xk-1表示工控系统在k-1时刻的状态变量,εk和ek分别表示k时刻的过程噪声和测量噪声,uk表示工控系统在k时刻的输入变量,a为状态转移矩阵,b为控制输入增益矩阵,c为输出矩阵,d为前馈矩阵。

在前述工控系统隐蔽攻击实时检测方法的具体实施方式中,进一步地,所述根据构建的工控系统状态空间模型,利用卡尔曼滤波预测工控系统的期望输出包括:

根据构建的工控系统状态空间模型,执行卡尔曼滤波的时间更新方程;其中,所述时间更新方程表示为:

其中,时间更新方程借助状态转移矩阵a,将工控系统k时刻的后验状态xk映射为k+1时刻的先验状态将k时刻的后验预测误差协方差矩阵pk映射为k+1时刻的先验预测误差协方差矩阵qk表示k时刻的过程噪声协方差矩阵,at和bt中的t表示矩阵转置;

在获取k+1时刻的先验状态后,执行预测方程,利用输出矩阵c预测k+1时刻的期望输出,其中,所述预测方程表示为:

在获取k+1时刻的先验预测误差协方差矩阵执行卡尔曼滤波的测量更新方程;其中,所述测量更新方程表示为:

其中,所述测量更新方程利用工控系统k+1时刻的实际观测输出yk+1修正k+1时刻的先验状态获得对应时刻的后验状态xk+1,kk+1表示k+1时刻的卡尔曼增益矩阵,rk+1是k+1时刻的测量噪声协方差矩阵,pk+1表示k+1时刻的后验预测误差协方差矩阵,i为单位矩阵;

迭代执行所述时间更新方程、预测方程、测量更新方程,推动卡尔曼滤波对工控系统期望输出的预测过程。

本实施例中,所述先验状态和后验状态都用于描述工控系统的状态,其中,先验状态指的是在观测到当前时刻工控系统输出值之前,利用之前时刻的所有信息对当前时刻的状态作出的估计,后验状态指的是在观测到当前时刻的输出值后对当前时刻状态的估计,这些是状态空间模型的术语,在本实施例中,右上角有-号的就是先验值,没有-的就是后验值。

在前述工控系统隐蔽攻击实时检测方法的具体实施方式中,进一步地,如图2所示,所述待检测残差序列由工控系统的观测输出和期望输出在同一时刻的值相减得到。

本实施例中,所述待检测残差序列由获取的工控系统的观测输出序列yk和预测的期望输出序列在同一时刻的值相减得到,即形成待检测残差序列{rk}。

在前述工控系统隐蔽攻击实时检测方法的具体实施方式中,进一步地,所述偏态系数表示为:

其中,sc表示偏态系数,l为新残差序列的长度,ri为新残差序列中的第i个值,为新残差序列的均值,σr为新残差序列的标准差。

本实施例中,向待检测残差序列中随机插入预设比例α(例如,α=5%)的、人工生成的、符合正常残差先验正态分布的残差值获得新残差序列,计算其偏态系数。

本实施例中,可以通过新残差序列的偏态系数绝对值是否大于预设阈值来判断工控系统是否遭遇隐蔽攻击。当工控系统受到隐蔽攻击时,其输出的新残差序列的偏态系数显著偏离0,因此,如果新残差序列的偏态系数的绝对值超过预设的阈值,则表示检测到隐蔽攻击,从而发出告警信息。

为了更好地理解本发明实施例所述的工控系统隐蔽攻击实时检测方法,对其进行详细说明,如图2所示,所述方法主要包括:工控系统状态空间模型构建及输出预测、待检测残差获取、新残差序列生成、新残差序列偏态系数计算、隐蔽攻击识别步骤。图3给出了工控系统状态空间模型的构建方法,如为简单系统,可从物理方程式中推导出状态空间模型,如为复杂系统,通过系统辨识方法获取状态空间模型。

图4给出了一个典型的工控场景:液位控制系统。该系统主要由输入泵、液体容器、输出泵、液位传感器、可编程逻辑控制器plc组成。系统正常运行过程中,当容器液位过低时,控制器启动输入泵,向容器内注入液体;当容器液位过高时,控制器关闭输入泵,停止液体注入。在这个系统中实行隐蔽攻击,攻击者持续地小幅度地篡改液位测量值,直至液位高于容器高度而溢出,攻击目标达到。隐蔽攻击检测程序可以嵌入此系统的plc中,在plc将传感器测量的模拟量转换为数字量后进行入侵检测。针对此系统的隐蔽攻击检测主要通过以下步骤实现:

步骤1,构建该液位控制系统的状态空间模型。分析该系统为简单系统,系统行为规律可用明确的物理方程式表示:

其中,hk+1和hk分别是k+1时刻和k时刻容器内液位高度值,分别是k时刻的注入和抽出的液体体积,area为容器底面积。基于此物理方程式可以得到以下状态空间模型:xk=hk,b=[1/area,-1/area],a=1,c=1。

步骤2,利用卡尔曼滤波机制对容器内的期望液位进行预测,得到预测值

步骤3,隐蔽攻击检测系统根据液位传感器的测量值得到容器内液位的观测值hk,并获取液位残差形成待残差序列{rk}。

步骤4,向待检测残差序列{rk}中随机插入比例为α的、符合当前工控系统残差先验正态分布的、人工生成的残差值,从而形成新残差序列。

步骤5,计算新残差序列的偏态系数,并根据偏态系数的绝对值大小判断是否出现隐蔽攻击行为,如果偏态系数的绝对值超过特定阈值,表示检测到隐蔽攻击,检测系统发出告警信息。

从图5中可以看出,残差的偏态系数取值对隐蔽攻击非常敏感,从隐蔽攻击发生开始,残差的偏态系数曲线由0开始显著上升,当超过特定阈值θ,表示检测到隐蔽攻击,证明了基于残差偏态分析的方法对检测工控现场设备隐蔽攻击的有效性。

实施例二

本发明还提供一种工控系统隐蔽攻击实时检测装置的具体实施方式,由于本发明提供的工控系统隐蔽攻击实时检测装置与前述工控系统隐蔽攻击实时检测方法的具体实施方式相对应,该工控系统隐蔽攻击实时检测装置可以通过执行上述方法具体实施方式中的流程步骤来实现本发明的目的,因此上述工控系统隐蔽攻击实时检测方法具体实施方式中的解释说明,也适用于本发明提供的工控系统隐蔽攻击实时检测装置的具体实施方式,在本发明以下的具体实施方式中将不再赘述。

如图6所示,本发明实施例还提供一种工控系统隐蔽攻击实时检测装置,包括:

获取模块11,用于获取工控系统在无攻击环境下的正常残差序列的先验正态分布;

对比模块12,用于在攻击检测过程中,将工控系统同一时刻的观测输出与期望输出进行对比,得到待检测残差序列;

计算模块13,用于向所述待检测残差序列中随机插入预设比例的、人工生成的、符合正常残差序列先验正态分布的残差值,得到新残差序列,计算所述新残差序列的偏态系数;

判定模块14,用于判断所述偏态系数的绝对值是否大于预设的阈值,若大于,则工控系统遭遇隐蔽攻击,否则,工控系统没有遭遇隐蔽攻击。

本发明实施例所述的工控系统隐蔽攻击实时检测装置,获取工控系统在无攻击环境下的正常残差序列的先验正态分布;在攻击检测过程中,将工控系统同一时刻的观测输出与期望输出进行对比,得到待检测残差序列;向所述待检测残差序列中随机插入预设比例的、人工生成的、符合正常残差序列先验正态分布的残差值,得到新残差序列,计算其偏态系数;判断所述偏态系数的绝对值是否大于预设的阈值,若大于,则工控系统遭遇隐蔽攻击,否则,工控系统没有遭遇隐蔽攻击;这样,根据新残差序列偏态系数的绝对值大小判断工控系统是否遭遇隐蔽攻击,同时,计算新残差序列的偏态系数耗时很短,时效性好,因此能实现隐蔽攻击的实时检测,进一步提升工控系统的安全防护水平。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1