System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种工控APT检测方法、装置及计算机可读存储介质制造方法及图纸_技高网
当前位置: 首页 > 专利查询>东北大学专利>正文

一种工控APT检测方法、装置及计算机可读存储介质制造方法及图纸

技术编号:40669157 阅读:3 留言:0更新日期:2024-03-18 19:04
本发明专利技术属于工控安全检测领域,提出一种工控APT检测方法、装置及计算机可读存储介质。从工控系统中采集正常的轮询流量和控制命令流量;建立设备状态修正算法,用于校正轮询流量并处理成系统状态日志;进行极端值检测与处理,得到处理后的系统状态日志;通过自相关函数进行工控基线的长短周期检测,获得工控基线的长短周期;并构建一个基于周期性检测的工控基线模型;基于构建的工控基线模型,对包含攻击的设备日志和工控流量数据进行工控APT攻击检测;相比于传统的工控APT攻击检测方法,本发明专利技术提高了APT攻击检测的准确率,降低了APT攻击检测的误报率,可以帮助网络安全人员发现隐蔽的APT攻击。

【技术实现步骤摘要】

本专利技术涉及工控安全检测领域,尤其涉及一种工控apt检测方法、装置及计算机可读存储介质。


技术介绍

1、工业控制系统(ics)正在从专用通信转向交换和路由企业网络,使其暴露在互联网上,面临网络攻击的风险。与标准的信息技术系统相比,工业控制系统显示出更加一致和规律的通信模式。ics通常严格定义任务执行的数量和顺序,每个控制系统都有一个独特的任务流程。现有的检测网络攻击方法,如入侵检测系统(idss),通常在ics和scada网络中实施。然而,这些设备并不能检测到更复杂的威胁,这些威胁是在一段时间内通过不寻常的活动顺序组合逐渐表现出来的,即单个活动或命令是合法的,但是以不同的顺序或时间间隔可能是危害工控系统的非法攻击(与过程相关的攻击)。其次,工业控制系统倾向于在一个明确定义的时间段内重复自己,恶意攻击者可以改变系统持有某个数值的持续时间,而不改变活动的顺序(时间攻击)。在ics的正常运行过程中,ics设备会记录设备日志和工控流量,捕捉其在一段时间内的工业过程。在此背景下,有必要对设备日志和工控流量进行关联分析,以检测隐蔽的工控apt攻击。目前,国内外许多学者和专家提出了很多apt攻击检测方法,如基于过程挖掘的一致性检查技术、基于自动机基线的异常检测技术等。

2、“myers d,suriadi s,radke k,et al.anomaly detection for industrialcontrol systems using process mining[j].computers&security,2018,78:103-125.”中使用过程发现和一致性检查对ics过程进行建模,并识别建模过程中的异常情况。这种过程挖掘异常检测方法分为四个不同的阶段;第一阶段是ics设备日志的生成方法,这些方法用于记录适合预处理的设备日志;第二阶段是设备日志到事件日志的转换阶段,对ics设备日志进行预处理,将其转换为适合用于过程挖掘活动的事件日志;第三阶段是建立ics系统的预期行为模型,以petri-net的形式对ics系统的可接受行为模型进行建模;最后是一致性检查阶段,新的预处理过的事件日志在创建的预期行为模型上进行回放,识别异常情况并插入事件类别,以便进一步分析。这种方法能够检测工业过程中的控制流(即事件序列)偏差,从而识别潜在的网络攻击。使用传统的基于签名或统计的ids,这种基于控制流的网络攻击检测方法是不可能的。

3、“shlomo a,kalech m,moskovitch r.temporal pattern-based maliciousactivity detection in scadasystems[j].computers&security,2021,102:102153.”中学习了一个代表工控系统正常行为和持续时间的基于状态的定时自动机,然后在运行时,未知的状态或事件被宣布为恶意的。其中,基于状态的定时自动机由一个四元组表示,ta=〈s,σ,t,c〉,其中:s是一个最终的状态集。σ是字母表。它包含符号(一个符号是由寄存器及其值组成),t是一组过渡,一个过渡由(s,s',d,δ)表示,其中源状态s∈s,目的状态s'∈s。从状态si到状态sj的过渡是由一组符号d∈σ触发的,该过渡满足时间约束δ。c是自动机的时钟,c在执行完一个过渡后被设置为0,所以时钟开始从过渡的开始时间计算到结束时间。因此,只有当由c计算的状态持续时间满足时间约束δ时,新的过渡才会由新的符号触发。一旦建立了自动机,它就可以用于恶意活动检测(otala)。恶意活动检测是将真实系统的行为与识别模型的预测进行比较。恶意活动是指当前行为与所学的预期行为的偏差。检测的恶意活动有两种类型。第一种是未知的状态或过渡,第二种对应于状态的时间。转移到新状态的触发器是由于一个(些)新符号而发生的。如果在构建自动机时根本没有遇到过该符号,或者没有检测到这样的过渡,就会报告一个警报。第二个异常是计时错误。当两个状态之间存在可能的过渡,但观察到的持续时间不满足确定的时间约束时,就会发生计时错误。

4、“myers d,suriadi s,radke k,et al.anomaly detection for industrialcontrol systems using process mining[j].computers&security,2018,78:103-125.”与上述技术相同的一个缺陷是建立工控系统基线模型时,未考虑过渡状态和轮询数据丢包问题的影响,导致建立的基线模型存在很多冗余状态,所有的过渡状态都会被识别为异常,导致异常检测算法误报率较高。与前述技术不同的是,该方法只能检测与过程相关的攻击,无法检测时间攻击。此外,当前过程发现算法的一个限制是过程挖掘中的“案例”概念。大多数ics设备日志没有“案例”的指示,并且需要一个预处理阶段来为过程挖掘活动准备日志。

5、“shlomo a,kalech m,moskovitch r.temporal pattern-based maliciousactivity detection in scadasystems[j].computers&security,2021,102:102153.”中建立工控系统基线模型时,未考虑过渡状态和轮询数据丢包问题的影响,导致建立的基线模型存在很多冗余状态,所有的过渡状态都会被识别为异常,导致异常检测算法误报率较高。此外,该论文提出的异常检测算法无法识别网络延迟和长时间攻击,算法会把网络延迟识别为时间攻击,这也是导致误报率高的一个原因。


技术实现思路

1、本专利技术的目的是提出一种高准确率、低误报率的工控apt攻击检测方法,帮助网络安全人员发现隐蔽的apt攻击。

2、本专利技术的技术方案:一种工控apt检测方法,包括以下步骤:

3、步骤一:从工控系统中采集轮询流量和控制命令序列;建立设备状态修正算法,用于校正轮询流量;

4、步骤二:校正后的轮询流量处理成系统状态日志vlog;

5、步骤三:所述系统状态日志vlog中,当相邻系统状态间的持续时间大于标定值时,基于系统状态日志vlog对系统状态转移的持续时间进行极端值检测与处理,得到处理后的系统状态日志vlog;所述标定值为相邻系统状态的持续时间均值与3倍该对相邻系统状态的持续时间的标准差之和;

6、步骤四:基于步骤三处理后的系统状态日志vlog,通过自相关函数进行工控基线的长短周期检测,获得工控基线的长短周期;

7、步骤五:基于步骤三处理后的系统状态日志vlog和步骤四的长短周期,构建一个基于周期性检测的工控基线模型;

8、步骤六:基于构建的工控基线模型,对包含攻击的设备日志和工控流量数据进行工控apt攻击检测,获得检测结果。

9、所述轮询流量存在异常情况,通过设备状态修正算法修正轮询流量;所述轮询流量包括请求数据包和应答数据包;根据请求数据包状态、应答数据本文档来自技高网...

【技术保护点】

1.一种工控APT检测方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的工控APT检测方法,其特征在于,所述轮询流量存在异常情况,通过设备状态修正算法修正轮询流量;所述轮询流量包括请求数据包和应答数据包;根据请求数据包状态、应答数据包状态以及采集的控制命令序列,确定异常情况;异常情况包括Q1异常、Q2异常、Q3异常、Q4异常和Q5异常;所述Q1异常为请求数据包正常,应答数据包丢失;所述Q2异常为当轮询操作发生在单个控制命令序列执行期间,现场设备返回的设备状态是某些控制命令执行后的过渡状态,而不是整个控制命令序列执行后的设备状态;所述Q3异常为请求数据包和应答数据包都丢失;所述Q4异常为当前轮询应答数据包与前一个轮询应答数据包的时间间隔大于轮询时间间隔均值与3倍的轮询时间间隔标准差之和;所述Q5异常为相邻设备状态间的持续时间大于该对相邻设备状态的持续时间均值与3倍的该对相邻设备状态的持续时间的标准差之和。

3.根据权利要求2所述的工控APT检测方法,其特征在于,所述设备状态修正算法针对Q1异常,遍历轮询流量,轮询请求数据包Preq(i),当Preq(i)和下一个轮询应答数据包Pres(i+1)之间不存在与Preq(i)匹配的应答数据包,根据以下2种情况分别处理:

4.根据权利要求1所述的工控APT检测方法,其特征在于,所述步骤二具体为:从轮询流量中提取设备状态记录,每条设备状态记录主要由记录的时间戳、源IP地址、目的IP地址、存储器地址序列、存储器值序列组成,所有的设备状态记录构成设备日志;按自定义的顺序把同一时刻的多条不同的设备状态记录合并成一条系统状态记录,每条系统状态记录主要由目的IP地址序列、存储器地址序列、存储器值序列组成;所有的系统状态记录构成系统状态日志Vlog。

5.根据权利要求1或2所述的工控APT检测方法,其特征在于,所述极端值检测与处理的具体步骤如下:

6.根据权利要求5所述的工控APT检测方法,其特征在于,所述步骤四具体为:

7.根据权利要求6所述的工控APT检测方法,其特征在于,所述基于周期性检测的工控基线模型由七元组形式化表示,所述七元组为从正常的系统状态日志和工控流量数据中学习得到;ICS-OTFSM=<D,A,C,B,Γ,W,U>,设备集D={d1,d2,…,dj,…,dm},m表示设备数;系统状态集A={S1,S2,…,Sn}表示工控系统的状态集合,Si=(si1|si2|…|sij|,…,|sip)是用于表征系统状态的特征向量,由设备集D中的p个设备的状态特征向量组成,p≤m,其中符号“|”为向量拼接符号;表示系统状态为Si时设备dj的状态,由设备dj中所有使用的存储器的值共同表示,表示系统状态为Si时设备dj中使用的第k个存储器的值,r表示设备di中使用的存储块数量;控制命令集C={c1,c2,…,cq},q≤m,cj={λj1,λj2,...,λjb}表示设备dj生成的控制命令集,b表示cj包含的控制命令数,λjb=(asrc,adst,pdst,func_code,refnum,data),其中asrc,adst,pdst,func_code,refnum,data分别表示源IP地址,目的IP地址,目的端口号,功能码,存储器地址,写入的数据;控制命令序列集:B=X1∪X2∪…∪Xq,q≤m,Xj={εj1,εj2,...,εjl,...εjn}表示设备dj生成的控制命令序列集合,n表示Xj包含的控制命令序列数,εjl=(λjα,λjβ,λjγ...)表示一个设备dj生成的有序控制命令序列,其中α,β,γ∈{1,2,...,b};时序状态转移集

8.根据权利要求7所述的工控APT检测方法,其特征在于,所述步骤六具体为:

9.根据权利要求8所述的工控APT检测方法,其特征在于,所述第一分类器检测过程具体为:

10.根据权利要求9所述的工控APT检测方法,其特征在于,所述第二分类器具体如下:

11.根据权利要求9所述的工控APT检测方法,其特征在于,所述第三分类器具体如下:

12.一种工控APT检测装置,其特征在于,包括:

13.根据权利要求12所述的工控APT检测装置,其特征在于,所述网络模块捕获的轮询流量存在异常情况,通过存储器中的设备状态修正算法修正轮询流量;所述轮询流量包括请求数据包和应答数据包;根据请求数据包状态、应答数据包状态以及网络模块采集的控制命令序列,确定异常情况;异常情况包括Q1异常、Q2异常、Q3异常、Q4异常和Q5异常;所述Q1异常为请求数据包正常,应答数据包丢失;所述Q2异常为当轮询操作发生在单个控制...

【技术特征摘要】

1.一种工控apt检测方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的工控apt检测方法,其特征在于,所述轮询流量存在异常情况,通过设备状态修正算法修正轮询流量;所述轮询流量包括请求数据包和应答数据包;根据请求数据包状态、应答数据包状态以及采集的控制命令序列,确定异常情况;异常情况包括q1异常、q2异常、q3异常、q4异常和q5异常;所述q1异常为请求数据包正常,应答数据包丢失;所述q2异常为当轮询操作发生在单个控制命令序列执行期间,现场设备返回的设备状态是某些控制命令执行后的过渡状态,而不是整个控制命令序列执行后的设备状态;所述q3异常为请求数据包和应答数据包都丢失;所述q4异常为当前轮询应答数据包与前一个轮询应答数据包的时间间隔大于轮询时间间隔均值与3倍的轮询时间间隔标准差之和;所述q5异常为相邻设备状态间的持续时间大于该对相邻设备状态的持续时间均值与3倍的该对相邻设备状态的持续时间的标准差之和。

3.根据权利要求2所述的工控apt检测方法,其特征在于,所述设备状态修正算法针对q1异常,遍历轮询流量,轮询请求数据包preq(i),当preq(i)和下一个轮询应答数据包pres(i+1)之间不存在与preq(i)匹配的应答数据包,根据以下2种情况分别处理:

4.根据权利要求1所述的工控apt检测方法,其特征在于,所述步骤二具体为:从轮询流量中提取设备状态记录,每条设备状态记录主要由记录的时间戳、源ip地址、目的ip地址、存储器地址序列、存储器值序列组成,所有的设备状态记录构成设备日志;按自定义的顺序把同一时刻的多条不同的设备状态记录合并成一条系统状态记录,每条系统状态记录主要由目的ip地址序列、存储器地址序列、存储器值序列组成;所有的系统状态记录构成系统状态日志vlog。

5.根据权利要求1或2所述的工控apt检测方法,其特征在于,所述极端值检测与处理的具体步骤如下:

6.根据权利要求5所述的工控apt检测方法,其特征在于,所述步骤四具体为:

7.根据权利要求6所述的工控apt检测方法,其特征在于,所述基于周期性检测的工控基线模型由七元组形式化表示,所述七元组为从正常的系统状态日志和工控流量数据中学习得到;ics-otfsm=<d,a,c,b,γ,w,u>,设备集d={d1,d2,…,dj,…,dm},m表示设备数;系统状态集a={s1,s2,…,sn}表示工控系统的状态集合,si=(si1|si2|…|sij|,…,|sip)是用于表征系统状态的特征向量,由设备集d中的p个设备的状态特征向量组成,p≤m,其中符号“|”为向量拼接符号;表示系统状态为si...

【专利技术属性】
技术研发人员:姚羽林小李周小明杨巍聂鑫宇焦轩琦胡博刘福意宋为何淼李小龙杨道青刘莹单垚方宇珊周金磊
申请(专利权)人:东北大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1