CN109361648A - 工控***的隐蔽攻击的检测方法及装置 - Google Patents

工控***的隐蔽攻击的检测方法及装置 Download PDF

Info

Publication number
CN109361648A
CN109361648A CN201811014574.9A CN201811014574A CN109361648A CN 109361648 A CN109361648 A CN 109361648A CN 201811014574 A CN201811014574 A CN 201811014574A CN 109361648 A CN109361648 A CN 109361648A
Authority
CN
China
Prior art keywords
dimensional information
vector
cycle tests
information vector
content
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811014574.9A
Other languages
English (en)
Other versions
CN109361648B (zh
Inventor
孙利民
杨安
王小山
孙玉砚
石志强
李红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN201811014574.9A priority Critical patent/CN109361648B/zh
Publication of CN109361648A publication Critical patent/CN109361648A/zh
Application granted granted Critical
Publication of CN109361648B publication Critical patent/CN109361648B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

本发明提供工控***的隐蔽攻击的检测方法及装置,包括:采集工控***当前时段的三维信息,构成三维信息序列;对所述三维信息序列进行标准化和窗口划分处理,获得测试序列;若判断测试序列中三维信息向量的格式符合预设规定且所述三维信息向量符合预设的模糊化数据库中的内容,则获知所述测试序列的内容正常;根据所述测试序列内容正常,将所述测试序列输入预先训练的LSTM模型,输出当前时刻的三维信息向量的预测值;识别当前时刻的三维信息向量的预测值和真实值的差异,根据时序上的级联检测方法,生成入侵检测结果。本发明实施例能够精确识别现有检测技术无法识别的隐蔽攻击。

Description

工控***的隐蔽攻击的检测方法及装置
技术领域
本发明涉及入侵检测技术领域,更具体地,涉及工控***的隐蔽攻击的检测方法及装置。
背景技术
工业控制***(industrial control system,ICS),简称工控***,是一类用于工业生产的控制***的统称,它包含监视控制与数据采集***(supervisory control anddata acquisition,SCADA),分布式控制***和其他一些常见于工业部门与关键基础设施的小型控制***(如可编程逻辑控制器)等。ICS广泛应用社会的各行各业中,包括机械制造、石油石化等工业生产企业,以及污水处理、核电***等基础设施。目前,内部恶意人员、敌对企业、国家级组织等攻击者日益增多,自动化工具、零日漏洞等攻击技术迅猛发展,ICS的安全直接关系到企业的正常运转和国家的安全稳定。
在用于生产制造等普通应用场景的ICS中,根据具体业务和设备的风险等级,只需确定控制器或传感器作为特定的防护对象,选取上述对应的流程攻击检测方法即可。然而在军工、核电等高防护等级的ICS中,其所有设备的任何异常现象都会造成人员伤亡、生态灾难等严重后果,需要对整个ICS进行全方位、全流程的入侵检测。然而随着“震网”病毒的出现,这些高防护等级的ICS成为攻击者的核心关注目标之一。经过多年对ICS的探索与实践,攻击者已对ICS有了深入的理解。因此针对这些特殊的ICS,攻击者开发出了“havex”等多个APT(advanced persistent threat)复杂攻击工具。在针对以破坏物理安全为目的的ICS复杂攻击中,主要的攻击方式是以隐蔽攻击为代表的针对整个控制架构的流程攻击,同时攻击控制器和传感器。因此,在高防护等级的ICS中,需要区别于前两种检测方案,专门构建针对控制架构流程攻击的检测算法。
隐蔽攻击是基于攻击者对ICS目标***所使用的协议及工业流程等有充分深入的了解,通过持续更改控制命令以及所有相关的观测量,致使上述取值永远保持在检测机制的检测阈值之下,导致检测机制的失效,故目前没有检测技术可以识别隐蔽攻击。
发明内容
本发明提供一种克服上述问题或者至少部分地解决上述问题的工控***的隐蔽攻击的检测方法及装置。
根据本发明的一个方面,提供一种工控***的隐蔽攻击的检测方法,包括:
采集工控***当前时段的三维信息,构成三维信息序列;所述三维信息包括控制流、状态流和能量流信息;
对所述三维信息序列进行标准化和窗口划分处理,获得测试序列;
若判断测试序列中三维信息向量的格式符合预设规定且所述三维信息向量符合预设的模糊化数据库中的内容,则获知所述测试序列的内容正常;
根据所述测试序列内容正常,将所述测试序列输入预先训练的LSTM模型,输出当前时刻的三维信息向量的预测值;
识别当前时刻的三维信息向量的预测值和真实值的差异,根据时序上的级联检测方法,生成入侵检测结果;
其中,所述测试序列Sw,t=(st-N,st-N+1,...,st-1),N为窗口长度,st-1为t-1时刻的三维信息向量;所述预设的模糊化数据库根据对训练序列进行模糊化处理后的结果获得。
根据本发明的第二个方面,提供一种工控***的隐蔽攻击的检测装置,包括:
采集模块,用于采集工控***当前时段的三维信息,构成三维信息序列,所述三维信息包括控制流、状态流和能量流信息;
预处理模块,用于对所述三维信息序列进行标准化和窗口划分处理,获得测试序列;
内容检测模块,用于若判断测试序列中三维信息向量的格式符合预设规定且所述三维信息向量符合预设的模糊化数据库中的内容,则获知所述测试序列的内容正常;
预测模块,用于根据所述测试序列内容正常,将所述测试序列输入预先训练的LSTM模型,输出当前时刻的三维信息向量的预测值;
检测结果生成模块,用于识别当前时刻的三维信息向量的预测值和真实值的差异,根据时序上的级联检测方法,生成入侵检测结果;
其中,所述测试序列Sw,t=(st-N,st-N+1,...,st-1),N为窗口长度,st-1为t-1时刻的三维信息向量;所述预设的模糊化数据库根据对训练序列进行模糊化处理后的结果获得。
根据本发明的第三个方面,还提供一种电子设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的检测方法。
根据本发明的第四个方面,还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的检测方法。
本发明提出的工控***的隐蔽攻击的检测方法及装置,通过采集工控***中当前时段的三维信息,通过标准化和窗口划分处理,构成体现三维信息变化情况的测试序列,首先对测试序列进行内容检测,内容检测的目的是对测试序列中各向量的格式以及是否符合数据模糊化数据库中的内容进行检测,其中数据模糊化数据库用于记载降低了***状态转移过程中数据偏移程度的信息,因此能够提升检测模型的精准度,通过将向量与数据模糊化数据库中的内容进行比对,即可获知向量对应的***状态是否正常,若向量的内容正常,则需要继续根据预先训练的LSTM模型,结合当前时段的测试序列预测当前时刻的向量,由于LSTM模型是根据训练时段的工控***的三维信息的经验规律获得的,因此将当前时段的测试序列输入至LSTM模型中,即可获得符合经验规律的当前时刻的向量,通过对比当前时刻的向量的预计值和真实值,再结合时序上的级联检测方法,即可有效地识别现有检测技术无法识别的隐蔽攻击。
附图说明
图1为根据本发明实施例的工控***的隐蔽攻击的检测方法的流程示意图;
图2为根据本发明实施例的判断测试序列的内容正常的流程示意图;
图3为根据本发明实施例的构建模糊化数据库的流程示意图;
图4为根据本发明实施例的检测装置的功能框图;
图5为根据本发明实施例的电子设备的框图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
隐蔽攻击是基于攻击者对ICS目标***所使用的协议及工业流程等有充分深入的了解,通过持续更改控制命令以及所有相关的观测量,致使上述取值永远保持在检测机制的检测阈值之下,导致检测机制的失效,故目前没有检测技术可以识别隐蔽攻击。现有的入侵检测方法无法有效地识别隐蔽攻击,造成严重的业务中断及设备破坏。发明人在研究中发现:所有设备在运行过程中会消耗能量,并随着执行操作及自身状态的不同而变化。这些能量变化可以用电流、功率变化等边信道信息所表示。因此,设备的控制流、状态流和能量流(边信道信息)数据之间存在逻辑关系。本发明实施例提出工控***的隐蔽攻击的检测方法,结合控制流、状态流和能量流的三维信息,利用深度学习算法,精准识别隐蔽攻击。
为了便于理解,在此先对本实施例及后续实施例中可能涉及到的相关概念进行解释说明:
***应只有***状态和***状态转移过程两个部分,***状态是指在一定时间内***保持在同一个状况下所对应的状态,其他状况称之为***状态转移过程。
子序列,例如一个序列A=a1,a2,……an,任意删除若干项,剩余的序列叫做A的一个子序列,也可以认为是从序列A按原顺序保留任意若干项得到的序列。公共子序列,即如果序列C既是序列A的子序列,同时也是序列B的子序列,则称它为序列A和序列B的公共子序列。进一步地,A和B的公共子序列中长度最长的(包含元素最多的)叫做A和B的最长公共子序列。
本发明的发明构思为:采集工控***中当前时段的三维信息,通过标准化和窗口划分处理,构成体现三维信息变化情况的测试序列,首先对测试序列进行内容检测,内容检测的目的是对测试序列中各向量的格式以及是否符合数据模糊化数据库中的内容进行检测,其中数据模糊化数据库用于记载降低了***状态转移过程中数据偏移程度的信息,因此能够提升检测模型的精准度,通过将向量与数据模糊化数据库中的内容进行比对,即可获知向量对应的***状态转移过程是否正常。若向量的内容正常,则需要继续根据预先训练的LSTM(Long Short-Term Memory)模型,结合当前时段的测试序列预测当前时刻的向量。由于LSTM模型是根据训练时段的工控***的三维信息的经验规律获得的,因此将当前时段的测试序列输入至LSTM模型中,即可获得符合经验规律的当前时刻的向量,通过对比当前时刻的向量的预计值和真实值,再结合时序上的级联检测方法,即可有效地识别现有检测技术无法识别的隐蔽攻击。
图1示出了本发明实施例的工控***的隐蔽攻击的检测方法的流程示意图,如图所示,包括:
S101、采集工控***当前时段的三维信息,构成三维信息序列。
需要说明的是,本发明实施例中的三维信息为控制流、状态流和能量流三维信息,其中控制流是指由工控***中控制器输出的控制命令的集合,状态流是指工控***中各设备观测量的集合,而能量流是设备在运行过程中所消耗的能量,以热量、功率等形式所表现。所有设备在运行过程中会消耗能量,并随着执行操作及自身状态的不同而变化。这些能量变化可以用电流、功率变化等边信道信息所表示。因此,设备的控制流、状态流和能量流(边信道信息)数据之间存在逻辑关系。
本发明实施例中三维信息向量序列中的向量(即三维信息向量)按照时序排列,其中每个向量为在某离散时刻提取出的a个控制命令,u个状态观测量和w个能量信息组成,其中,a、u和w均为实数,分别与工控***中的控制器、状态传感器和能量传感器的个数相关。
S102、对三维信息序列进行标准化和窗口划分处理,获得测试序列,测试序列Sw,t=(st-N,st-N+1,...,st-1),N为窗口长度,st-1为t-1时刻的三维信息向量。
需要说明的是,工控***中的数据(即三维信息)种类非常复杂,各数据的性质不同,通常具有不同的量纲和数量级。当各数据间的水平相差很大时,如果直接用原始的数据进行分析,就会突出数值较高的数据在综合分析中的作用,相对削弱数值水平较低数据的作用。因此,为了保证结果的可靠性,需要对原始的数据进行标准化处理。在工控***中,从一个孤立的三维信息中很难判断工控***是否异常,因此,通过对三维信息序列进行窗口划分,组成测试序列,测试序列由连续时刻的三维信息向量组成,即实现了记录三维信息在一定时间的变化情况。
例如,三维信息序列包括时刻1至时刻100,共100个时刻的三维信息向量,设滑动窗口的长度为5,则时刻100的测试序列Sw,100=(s95,s96,s97,s98,s99),从本实例中可以看出,时刻100的测试序列并不包括时刻100的三维信息向量,也就是说,测试序列中的三维信息向量中并不包括对应时刻的三维信息向量。
S103、若判断三维信息向量的格式符合预设规定且三维信息向量符合预设的模糊化数据库中的内容,则获知测试序列的内容正常。预设的模糊化数据库根据对训练序列进行模糊化处理后的结果获得。
需要说明的是,本发明实施例在获得测试序列后首先需要对向量进行内容检测。具体地,通过统计和分析训练序列(由训练时段的三维信息构成)的三维信息的变化情况,可以获知***中的合法***状态,将工控***的运行状态划分为***状态保持过程和***状态转移过程。***状态转移过程可以由多次***状态转移组成。本发明实施例通过对训练时段的三维信息向量进行标准化和窗口划分操作,构成训练序列,识别并划分工控***中的状态及状态转移过程,采用基于数据模糊化的采样误差消除方法,替换各状态转移过程中不一致的向量,并生成模糊化数据库,能够减少采样误差,提升检测的精准度。
在对测试序列进行内容检测时,主要判断测试序列中向量的数据是否正确,包括检测向量的元素格式,比如检测向量是否属于合法***状态集合且各向量中的元素的取值范围是否合法,还比如检测向量的元素内容,比如检测向量对应的***状态是否属于合法的***状态转移列表,或者该***状态是否属于合法的***状态转移过程且在该过程中的位置是否适当。由于模糊化数据库中记录了合法的***状态转移过程中的三维信息,因此如果向量中三维信息符合预设的模糊化数据库中的内容,则获知测试序列的内容正常。
S104、根据测试序列内容正常,将测试序列输入预先训练的LSTM模型,输出当前时刻的三维信息向量的预测值。LSTM模型根据训练时段的训练序列以及该训练序列对应时刻的三维信息向量训练而成。
需要说明的是,若通过内容检测发现测试序列内容不正常,则无需进行步骤S104,可以直接得出工控***当前处于异常状态的结论,在测试序列的内容正常,则需要进一步通过预先训练的LSTM模型进行序列检测。LSTM是长短期记忆网络,是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件。在本发明实施例中,通过将u-N到u-1时刻的三维信息向量构成u时刻的训练序列输入至LSTM模型中,输出u时刻的三维信息向量的预测值,再将预测值与u时刻的三维信息向量的真实值进行比较,进而调节LSTM模型中各参数的取值,最终获得精准的LSTM模型。
在一个可选实施例中,若通过内容检测发现测试序列内容不正常,则利用训练时段的三维信息,更新LSTM模型所需的Cell等历史数据信息,最后更新该实时向量,用于后续检测。
S105、识别当前时刻的三维信息向量的预测值和真实值的差异,根据时序上的级联检测方法,生成入侵检测结果。
需要说明的是,通过将三维信息的预测值和真实值进行比对,即可获得三维信息的偏移程度,若偏移程度超过了阈值,则认为当前时段的三维信息的变化程度与预计的不符,通过级联检测方法,计算后续多个时刻的三维信息的预测值,若连续多个时刻的三维信息的预测值均超过阈值,则认为工控***遭受了入侵。
基于上述实施例的内容,作为一种可选实施例,若判断测试序列中三维信息向量的格式符合预设规定且三维信息向量符合预设的模糊化数据库中的内容,则获知测试序列的内容正常,参见图2,具体为:
S201、获取各三维信息向量对应的***状态以及各三维信息向量的元素的合法取值范围和合法取值集合。
具体地,获取三维信息向量对应的***状态采用以下方法:判断三维信息向量的固定情况,若三维信息向量的取值保持固定状态超过状态最小持续时间时,判断该三维信息向量的取值对应一个***状态,否则为***状态转移过程。
三维信息向量的元素取值范围检测方法:获取全部训练数据,判断各三维信息向量中元素的类型。针对连续向量元素,计算其最大值和最小值,生成该向量元素的取值范围[valuemin,valuemax];针对离散向量元素,记录该向量元素所有出现的取值,生成该向量元素的合法取值集合(即向量元素取值范围)。
S202、若所有三维信息向量对应的***状态合法且三维信息向量中元素属于合法取值范围或合法取值集合,则判断测试序列中三维信息向量的格式正常。
由于本发明实施例在对测试序列进行分析时,预先记录了合法的***状态,并构成了合法***状态集合,因此,将测试序列中的三维信息向量对应的***状态在合法***状态集合中进行检索,若能够检索到,则说明该三维信息向量对应的***状态是合法的***状态。同理,三维信息向量中元素的种类分为离散型和连续型,对于离散型的元素,会根据历史的合法***中记录该元素的合法取值的集合,对于连续型的元素,会根据历史的合法***中记录该元素的合法取值范围。对于三维信息向量中的元素,会根据该元素的类型,与合法的取值范围或者合法取值集合进行比对,若属于合法的取值范围或者合法取值集合,则说明该三维信息向量的元素的取值范围是合法的。换句话说,当发现任何一个向量对应的***状态非法,或者任何一个元素的取值范围非法,,或者任何一个元素不在合法取值集合中,则判断测试序列中三维信息向量的格式异常。对于元素是否属于合法取值集合的判断过程与元素是否属于合法取值范围的过程类似,在此不再赘述。
S203、根据预设的模糊化数据库检测测试序列中的任一三维信息向量对应的***状态所属的***状态转移列表、***状态转移过程以及在状态转移过程中的位置;
具体地,模糊化数据库存储了每个***状态转移过程所对应的信息,包括:该***状态转移过程对应的转移列表(包括当前***状态和下一个***状态)、最长公共子序列、最长公共子序列中各序列元素所包含的合法误差向量集合及合法误差向量中各元素的最大值和最小值、固定元素列表、最大序列长度、最小序列长度。
S204、若三维信息向量对应的***状态列表属于合法的***状态转移列表,该***状态属于合法的***状态转移过程以及在状态转移过程中的位置适当,则获知向量符合预设的模糊化数据库中的内容,测试序列的内容正常。
具体地,包括:
A1、根据上一时刻的三维信息向量对应的***状态,判断是否刚开始进行状态转移;若是,则执行步骤A2,否则执行步骤A5;
A2,获取离该时刻最近的***状态所对应的时刻ts,获取从时刻ts到当前时刻所对应的测试序列;
A3,根据ts时刻的***状态,在模糊化数据库中选取可能的状态转移过程;
A4,针对每个可能的状态转移过程,判断该测试序列是否符合此状态转移过程中的最长公共子序列(部分)/或固定向量,若符合(即向量对应的位置和取值均一致),则判定该状态转移过程为候选状态转移过程,当所有状态转移过程均判断结束后,将所有候选状态转移过程聚合成候选状态转移过程子集,并记录当前三维信息向量在各候选状态转移过程中最长公共子序列上的位置;若没有候选状态转移过程子集,则认为发现异常,产生警报;
A5,若存在候选状态转移过程子集,则针对候选状态转移过程子集中的每个候选状态转移过程,若存在固定向量,则执行A6,否则执行A7;
A6,判断在当前向量中,固定向量各元素所对应的元素取值是否与固定向量中的元素取值一致,若不一致则将该候选状态转移过程从候选状态转移过程子集中去除;
A7,根据上一个三维信息向量在其最长公共子序列上的位置,确定当前在此最长公共子序列中已走过的路径,以及此路径中的最后一个序列向量(历史最近序列向量)。判断判断当前三维信息向量是否为向量对应的下一个序列元素/误差向量(即在该历史最近序列向量对应的可能误差向量集合中且向量元素在最大值和最小值之间),若不符合则将该候选状态转移过程从候选状态转移过程子集中去除;
A8,若候选状态转移过程子集为空,则认为发现异常,产生警报;否则认为正常,更新各候选状态转移过程中的历史最近序列向量。
基于上述实施例的内容,作为一种可选实施例,识别当前时刻的三维信息向量的预测值和真实值的差异,根据时序上的级联检测方法,生成入侵检测结果,具体为:
根据当前b时刻的三维信息向量的预测值以及实际值sb间的差异,生成偏移向量εLT
具体地,本发明实施例为了获取当前b时刻的三维信息向量,需要将检测序列中的对应b时刻的向量Sw,b(Sw,b=(sb-N,sb-N+1,...,sb-1))输入至预先训练的LSTM模型中,获得b时刻的三维信息向量的预测值结合b时刻的三维信息向量的实际值sb,计算偏移向量:
判断偏移向量εLT是否满足||εLT||>thr,若满足,则判定当前b时刻的三维信息向量异常,thr为预设的第一阈值。
继续判断b+1到b+el-1时刻的三维信息向量的异常情况,若b+1到b+el-1时刻的三维信息向量仍然异常,则判断工控***在b至b+el-1时刻异常,el为预设的第二阈值。
需要说明的是,本发明实施例预先设置第二阈值el,当b时刻的向量判断为异常时,通过级联检测后续时刻的向量是否异常,若出现连续异常的个数达到预设的第二阈值el,则判定该(b,b+el-1)时间段发生异常。相应地,若出现连续异常的个数未达到第二阈值el时则认为工控***未受到隐蔽攻击,并继续后续时刻的检测。
本发明实施例通过级联检测方法实现了高效地识别出现有检测技术无法识别的隐蔽攻击的目的。
基于上述实施例的内容,作为一种可选实施例,对三维信息序列进行标准化处理的步骤,具体为:
根据三维信息向量中元素的取值个数,将三维信息向量分为离散类向量和连续类向量。具体地,设置阈值λc,若三维信息向量中元素的取值个数大于λc,则称之为连续类向量;若三维信息向量中元素的取值个数不大于λc,则称之为离散类向量。
对离散类向量,采用线性函数归一化方法对离散类向量中的元素进行归一化处理;
对连续类向量,采用独热编码方式对连续类向量中的元素进行归一化处理。
具体地,针对连续向量元素ci,采用线性函数归一化(min-max scaling)进行归一化;针对离散向量元素,采用独热编码方式(one-hot encoding)进行归一化。例如阀门的打开状态和关闭状态分别用[1,0]和[0,1]表示。
基于上述实施例的内容,作为一种可选实施例,若判断测试序列中三维信息向量的格式符合预设规定且所述向量符合预设的模糊化数据库中的内容,则获知所述测试序列的内容正常,之前还包括构建模糊化数据库的步骤,参见图3,具体包括:
S301、根据训练序列中向量的变化情况,识别并划分工控***中的***状态和状态转移过程。
S302、采用最长公共子序列方法识别每个状态转移过程中相同的训练子序列,并依据训练子序列替换各状态转移过程中不一致的向量;
需要说明的是,***处于状态转移过程并不一定意味着工控***正遭受攻击,有些时候状态转移过程也属于正常情况。在正常情况下,当***处于相同的状态转移过程时,其变化情况应该是一致的。但由于***转移时刻与设备状态的采样周期是存在偏差,单只相同状态转移过程中的变化情况存在局部差异。本发明实施例利用最长公共子序列方法,将状态转移过程中相同的向量序列进行筛选,即方便后续对状态转移过程中的向量进行识别,并且,通过利用该向量序列替换各状态转移过程中不一致的向量,能够减少采样误差。
S303、生成模糊化数据库,所述模糊化数据库中记录每个状态转移过程所对应的信息,包括:该状态转移过程对应的转移列表(包括当前***状态和下一个***状态)、最长公共子序列、最长公共子序列中各序列元素所包含的合法误差向量集合及合法误差向量中各元素的最大值和最小值、固定元素列表、最大序列长度、最小序列长度录。
基于上述实施例的内容,作为一种可选实施例,采用最长公共子序列方法识别每个状态转移过程中相同的向量序列,并依据向量序列替换各状态转移过程中不一致的向量,具体为:
根据***状态转移列表将训练序列的***状态转移过程划分成多个子集,每一子集与且只与一种***状态转移对应。
对于任意一个子集,识别该子集中是否存在最长公共子序列。
若存在最长公共子序列,则将该子集中其它变化的向量替换为最长公共子序列中距离最近的向量。
例如,子集为{s1,s2,s3,s4,s5,s6},其中,s1至s6为训练序列中第1时刻对应的向量至第6时刻对应的向量,若存在最长公共子序列{s3,s4,s5},则将s1和s2替换为s3,将s6替换为s5
若不存在,则识别该子集所有向量中的固定向量,并用对应***状态转移的当前状态中的向量替换所有变化的向量。
需要说明的是,固定向量是针对无最长公共子序列的情况,此时依次检测三维信息向量中的每个元素。针对各元素,判断其在训练序列中的取值,若取值个数为1,则认为是固定向量元素,否则为变化的向量元素。最后将所有的固定向量元素进行整合,形成新的向量,称为固定向量,同时记录此向量各元素在原向量中的位置。针对变化的向量元素,采用当前状态中对应的向量元素取值进行替换。
基于上述实施例的内容,作为一种可选实施例,根据测试序列内容正常,将测试序列输入预先训练的LSTM模型,输出当前时刻的三维信息的预测值,之前还包括训练LSTM模型的步骤,具体为:
将第一个训练序列作为LSTM模型的初始输入,确定LSTM模型的参数,输出该向量对应时刻的三维信息的预测值。
将预测值和真实值相减,生成偏移向量εL
根据偏移向量εL更新LSTM模型中的参数。
具体地,LSTM的参数集合β中的相关参数β=β+αf(β,εL),其中f为参数误差计算函数,用于计算各参数的偏移误差大小;α为LSTM学习率。
比较向量总误差||εL||2和预设的误差收敛阈值εT的偏移程度,若向量总误差不小于预设的误差收敛阈值,则提取下一个训练序列输入至LSTM模型进行训练,直至偏移程度小于εT时,结束训练过程。
根据本发明的另一个方面,本发明实施例还提供一种工控***的隐蔽攻击的检测装置,参见图4,图4示出了本发明实施例的检测装置的功能框图,该检测装置用于前述各实施例的检测工控***中是否收到隐蔽攻击。因此,在前述各实施例中的检测方法中的描述和定义,可以用于本发明实施例中各执行模块的理解。
如图所示,包括
采集模块401,用于采集工控***当前时段的三维信息,构成三维信息序列;所述三维信息包括控制流、状态流和能量流信息;
预处理模块402,用于对三维信息序列进行标准化和窗口划分处理,获得测试序列;
内容检测模块403,用于若判断测试序列中三维信息向量的格式符合预设规定且三维信息向量符合预设的模糊化数据库中的内容,则获知测试序列的内容正常;
预测模块404,用于根据测试序列内容正常,将测试序列输入预先训练的LSTM模型,输出当前时刻的三维信息向量的预测值;
检测结果生成模块405,用于识别当前时刻的三维信息向量的预测值和真实值的差异,根据时序上的级联检测方法,生成入侵检测结果;
其中,测试序列Sw,t=(st-N,st-N+1,...,st-1),N为窗口长度,st-1为t-1时刻的三维信息向量;预设的模糊化数据库根据对训练序列进行模糊化处理后的结果获得。
图5示出了本发明实施例的电子设备的结构示意图,如图5所示,处理器(processor)501、存储器(memory)502和总线503;其中,处理器501及存储器502分别通过总线503完成相互间的通信;处理器501用于调用存储器502中的程序指令,以执行上述实施例所提供的控制方法,例如包括:采集工控***当前时段的三维信息,构成三维信息序列;对三维信息序列进行标准化和窗口划分处理,获得测试序列;若判断测试序列中三维信息向量的格式符合预设规定且三维信息向量符合预设的模糊化数据库中的内容,则获知测试序列的内容正常;根据测试序列内容正常,将测试序列输入预先训练的LSTM模型,输出当前时刻的三维信息向量的预测值;识别当前时刻的三维信息向量的预测值和真实值的差异,根据时序上的级联检测方法,生成入侵检测结果;其中,测试序列Sw,t=(st-N,st-N+1,...,st-1),N为窗口长度,st-1为t-1时刻的三维信息向量;预设的模糊化数据库根据对训练序列进行模糊化处理后的结果获得。
本发明实施例提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令使计算机执行上述实施例所提供的控制方法,例如包括:采集工控***当前时段的三维信息,构成三维信息序列;对三维信息序列进行标准化和窗口划分处理,获得测试序列;若判断测试序列中三维信息向量的格式符合预设规定且三维信息向量符合预设的模糊化数据库中的内容,则获知测试序列的内容正常;根据测试序列内容正常,将测试序列输入预先训练的LSTM模型,输出当前时刻的三维信息向量的预测值;识别当前时刻的三维信息向量的预测值和真实值的差异,根据时序上的级联检测方法,生成入侵检测结果;其中,测试序列Sw,t=(st-N,st-N+1,...,st-1),N为窗口长度,st-1为t-1时刻的三维信息向量;预设的模糊化数据库根据对训练序列进行模糊化处理后的结果获得。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种工控***的隐蔽攻击的检测方法,其特征在于,包括:
采集工控***当前时段的三维信息,构成三维信息序列;所述三维信息包括控制流、状态流和能量流信息;
对所述三维信息序列进行标准化和窗口划分处理,获得测试序列;
若判断测试序列中三维信息向量的格式符合预设规定且所述三维信息向量符合预设的模糊化数据库中的内容,则获知所述测试序列的内容正常;
根据所述测试序列内容正常,将所述测试序列输入预先训练的LSTM模型,输出当前时刻的三维信息向量的预测值;
识别当前时刻的三维信息向量的预测值和真实值的差异,根据时序上的级联检测方法,生成入侵检测结果;
其中,所述测试序列Sw,t=(st-N,st-N+1,...,st-1),N为窗口长度,st-1为t-1时刻的三维信息向量;所述预设的模糊化数据库根据对训练序列进行模糊化处理后的结果获得。
2.根据权利要求1所述的检测方法,其特征在于,所述若判断测试序列中三维信息向量的格式符合预设规定且所述三维信息向量符合预设的模糊化数据库中的内容,则获知所述测试序列的内容正常,具体为:
获取各所述三维信息向量对应的***状态以及各所述三维信息向量中元素的合法取值范围和合法取值集合;
若所有三维信息向量对应的***状态合法,且三维信息向量中元素属于合法取值范围或合法取值集合,则判断测试序列中三维信息向量的格式正常;
根据预设的模糊化数据库检测测试序列中的任意三维信息向量对应的***状态所属的***状态转移列表、***状态转移过程以及在状态转移过程中的位置;
若三维信息向量对应的***状态列表属于合法的***状态转移列表,该***状态属于合法的***状态转移过程以及在状态转移过程中的位置适当,则获知所述三维信息向量符合预设的模糊化数据库中的内容,所述测试序列的内容正常。
3.根据权利要求1所述的检测方法,其特征在于,所述识别当前时刻的三维信息向量的预测值和真实值的差异,根据时序上的级联检测方法,生成入侵检测结果,具体为:
根据当前b时刻的三维信息向量的预测值以及实际值sb间的差异,生成偏移向量εLT
判断所述偏移向量εLT是否满足||εLT||>thr,若满足则判定当前b时刻的三维信息向量异常,thr为预设的第一阈值;
继续判断b+1到b+el-1时刻的三维信息向量的异常情况,若b+1到b+el-1时刻的序列仍然异常,则判断工控***在b至b+el-1时刻异常,el为预设的第二阈值。
4.根据权利要求1所述的检测方法,其特征在于,所述对所述三维信息序列进行标准化处理的步骤,具体为:
根据三维信息向量中元素的取值个数,将所述三维信息向量分为离散类向量和连续类向量;
对所述离散类向量,采用线性函数归一化方法对所述离散类向量中的元素进行归一化处理;
对所述连续类向量,采用独热编码方式对所述连续类向量中的元素进行归一化处理。
5.根据权利要求1所述的检测方法,其特征在于,若判断测试序列中三维信息向量的格式符合预设规定且所述向量符合预设的模糊化数据库中的内容,则获知所述测试序列的内容正常,之前还包括构建模糊化数据库的步骤,具体为:
根据所述训练序列中三维信息向量的变化情况,识别并划分工控***中的状态保持过程和状态转移过程;
采用最长公共子序列方法识别每个状态转移过程中相同的训练子序列,并依据所述训练子序列替换各状态转移过程中不一致的三维信息向量;
生成所述模糊化数据库,所述模糊化数据库记录每个状态转移过程所对应的信息,包括:该状态转移过程对应的转移列表、最长公共子序列、最长公共子序列中各元素所包含的合法误差向量集合及合法误差向量中各元素的最大值和最小值、固定元素列表、最大序列长度、最小序列长度。
6.根据权利要求5所述的检测方法,其特征在于,所述采用最长公共子序列方法识别每个状态转移过程中相同的训练子序列,并依据所述训练子序列替换各状态转移过程中不一致的三维信息向量,具体为:
根据***状态转移列表将训练序列的***状态转移过程划分成多个子集,每一子集与且只与一种***状态转移对应;
对于任意一个子集,识别该子集中是否存在最长公共子序列;
若存在最长公共子序列,则将该子集中其它变化的三维信息向量替换为所述最长公共子序列中距离最近的三维信息向量;
若不存在,则识别该子集所有三维信息向量中的固定向量,并用对应***状态转移的当前状态中的三维信息向量替换所有变化的三维信息向量。
7.根据权利要求1所述的检测方法,其特征在于,所述根据所述测试序列内容正常,将所述测试序列输入预先训练的LSTM模型,输出当前时刻的三维信息向量的预测值,之前还包括训练所述LSTM模型的步骤,具体为:
将第一个训练序列作为所述LSTM模型的初始输入,确定LSTM模型的参数,输出所述第一个训练序列对应时刻的三维信息向量的预测值
将预测值和真实值st进行比较,生成偏移向量
根据偏移向量εL更新LSTM模型中的参数;
比较向量总误差||εL||2和预设的误差收敛阈值εT的偏移程度,若向量总误差不小于预设的误差收敛阈值,则提取下一个训练序列输入至所述LSTM模型进行训练,直至偏移程度小于εT时,结束训练过程。
8.一种工控***的隐蔽攻击的检测装置,其特征在于,包括:
采集模块,用于采集工控***当前时段的三维信息,构成三维信息序列,所述三维信息包括控制流、状态流和能量流信息;
预处理模块,用于对所述三维信息序列进行标准化和窗口划分处理,获得测试序列;
内容检测模块,用于若判断测试序列中三维信息向量的格式符合预设规定且所述三维信息向量符合预设的模糊化数据库中的内容,则获知所述测试序列的内容正常;
预测模块,用于根据所述测试序列内容正常,将所述测试序列输入预先训练的LSTM模型,输出当前时刻的三维信息向量的预测值;
检测结果生成模块,用于识别当前时刻的三维信息向量的预测值和真实值的差异,根据时序上的级联检测方法,生成入侵检测结果;
其中,所述测试序列Sw,t=(st-N,st-N+1,...,st-1),N为窗口长度,st-1为t-1时刻的三维信息向量;所述预设的模糊化数据库根据对训练序列进行模糊化处理后的结果获得。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至7任意一项所述的检测方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至7任一所述的检测方法。
CN201811014574.9A 2018-08-31 2018-08-31 工控***的隐蔽攻击的检测方法及装置 Active CN109361648B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811014574.9A CN109361648B (zh) 2018-08-31 2018-08-31 工控***的隐蔽攻击的检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811014574.9A CN109361648B (zh) 2018-08-31 2018-08-31 工控***的隐蔽攻击的检测方法及装置

Publications (2)

Publication Number Publication Date
CN109361648A true CN109361648A (zh) 2019-02-19
CN109361648B CN109361648B (zh) 2020-05-29

Family

ID=65350410

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811014574.9A Active CN109361648B (zh) 2018-08-31 2018-08-31 工控***的隐蔽攻击的检测方法及装置

Country Status (1)

Country Link
CN (1) CN109361648B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110378111A (zh) * 2019-06-04 2019-10-25 哈尔滨工业大学(威海) 针对工业控制***隐蔽攻击的入侵检测方法及检测***
CN111770078A (zh) * 2020-06-24 2020-10-13 西安深信科创信息技术有限公司 用于cps的主动学习方法、装置及发现攻击的方法、装置
CN111885084A (zh) * 2020-08-03 2020-11-03 国网新疆电力有限公司电力科学研究院 一种入侵检测方法、装置及电子设备
WO2020231334A1 (en) * 2019-05-10 2020-11-19 Singapore University Of Technology And Design Modelling and black-box security testing of cyber-physical systems
WO2021230814A1 (en) * 2020-05-11 2021-11-18 Singapore University Of Technology And Design Anomaly detection system for a cyber-physical system
WO2022169420A1 (en) * 2021-02-05 2022-08-11 Singapore University Of Technology And Design Anomaly detection system and method for an industrial control system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015185071A1 (en) * 2014-06-04 2015-12-10 Giesecke & Devrient Gmbh Method for enhanced security of computational device with multiple cores
CN106709613A (zh) * 2015-07-16 2017-05-24 中国科学院信息工程研究所 一种适用于工业控制***的风险评估方法
CN106878257A (zh) * 2016-12-14 2017-06-20 南京邮电大学 具有攻击防护的工业网络闭环控制方法及其架构
CN107992746A (zh) * 2017-12-14 2018-05-04 华中师范大学 恶意行为挖掘方法及装置
CN108319981A (zh) * 2018-02-05 2018-07-24 清华大学 一种基于密度的时序数据异常检测方法及装置
CN108388233A (zh) * 2018-03-21 2018-08-10 北京科技大学 一种工控现场设备隐蔽攻击检测方法
CN108388795A (zh) * 2018-02-11 2018-08-10 浙江工业大学 一种基于lstm检测器的对抗攻击防御方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015185071A1 (en) * 2014-06-04 2015-12-10 Giesecke & Devrient Gmbh Method for enhanced security of computational device with multiple cores
CN106709613A (zh) * 2015-07-16 2017-05-24 中国科学院信息工程研究所 一种适用于工业控制***的风险评估方法
CN106878257A (zh) * 2016-12-14 2017-06-20 南京邮电大学 具有攻击防护的工业网络闭环控制方法及其架构
CN107992746A (zh) * 2017-12-14 2018-05-04 华中师范大学 恶意行为挖掘方法及装置
CN108319981A (zh) * 2018-02-05 2018-07-24 清华大学 一种基于密度的时序数据异常检测方法及装置
CN108388795A (zh) * 2018-02-11 2018-08-10 浙江工业大学 一种基于lstm检测器的对抗攻击防御方法
CN108388233A (zh) * 2018-03-21 2018-08-10 北京科技大学 一种工控现场设备隐蔽攻击检测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
杨安 等: "sbsd:Detecting the Sequence Attack through Sensor Data in ICSs", 《2018 IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS(ICC)》 *
杨安,孙利民,王小山,石志强: "工业控制***入侵检测技术综述", 《计算机研究与发展》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020231334A1 (en) * 2019-05-10 2020-11-19 Singapore University Of Technology And Design Modelling and black-box security testing of cyber-physical systems
CN110378111A (zh) * 2019-06-04 2019-10-25 哈尔滨工业大学(威海) 针对工业控制***隐蔽攻击的入侵检测方法及检测***
CN110378111B (zh) * 2019-06-04 2023-05-09 哈尔滨工业大学(威海) 针对工业控制***隐蔽攻击的入侵检测方法及检测***
WO2021230814A1 (en) * 2020-05-11 2021-11-18 Singapore University Of Technology And Design Anomaly detection system for a cyber-physical system
CN111770078A (zh) * 2020-06-24 2020-10-13 西安深信科创信息技术有限公司 用于cps的主动学习方法、装置及发现攻击的方法、装置
CN111770078B (zh) * 2020-06-24 2022-07-12 西安深信科创信息技术有限公司 用于网络物理***的主动学习方法、装置及发现攻击的方法、装置
CN111885084A (zh) * 2020-08-03 2020-11-03 国网新疆电力有限公司电力科学研究院 一种入侵检测方法、装置及电子设备
WO2022169420A1 (en) * 2021-02-05 2022-08-11 Singapore University Of Technology And Design Anomaly detection system and method for an industrial control system

Also Published As

Publication number Publication date
CN109361648B (zh) 2020-05-29

Similar Documents

Publication Publication Date Title
CN109361648A (zh) 工控***的隐蔽攻击的检测方法及装置
Elnour et al. A dual-isolation-forests-based attack detection framework for industrial control systems
CN111967571B (zh) 一种基于mhma的异常检测方法和设备
CN108566364B (zh) 一种基于神经网络的入侵检测方法
CN111652496B (zh) 基于网络安全态势感知***的运行风险评估方法及装置
CN110865929B (zh) 异常检测预警方法及***
KR102274389B1 (ko) 센서 데이터를 이용한 이상패턴 탐지 모델 구축 방법 및 이를 이용한 이상 탐지 장치 및 방법
CN108737410B (zh) 一种基于特征关联的有限知工业通信协议异常行为检测方法
CN113556258B (zh) 一种异常检测方法及装置
Kleinberg et al. The temporal logic of causal structures
CN112153002B (zh) 告警信息分析方法、装置、计算机设备和存储介质
Vodenčarević et al. Identifying behavior models for process plants
CN109753591A (zh) 业务流程预测性监控方法
Chang et al. Anomaly detection for industrial control systems using k-means and convolutional autoencoder
KR102627062B1 (ko) 비정상 장비 트레이스 검출 및 분류
EP2410312A1 (en) A method for computer-assisted analyzing of a technical system
Umer et al. Generating invariants using design and data-centric approaches for distributed attack detection
CN112738014A (zh) 一种基于卷积时序网络的工控流量异常检测方法及***
CN117114454B (zh) 一种基于Apriori算法的直流套管状态评估方法及***
CN112039903A (zh) 基于深度自编码神经网络模型的网络安全态势评估方法
Sun et al. Intrusion detection system based on in-depth understandings of industrial control logic
Novikova et al. Autoencoder anomaly detection on large CAN bus data
Hegazy Tag Eldien, AS; Tantawy, MM; Fouda, MM; TagElDien, HA Real-time locational detection of stealthy false data injection attack in smart grid: Using multivariate-based multi-label classification approach
Ghaeini et al. Zero residual attacks on industrial control systems and stateful countermeasures
CN114826718A (zh) 一种基于多维度信息的内部网络异常检测方法及***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant