CN109344610A - 序列攻击的检测方法及装置 - Google Patents

序列攻击的检测方法及装置 Download PDF

Info

Publication number
CN109344610A
CN109344610A CN201811011452.4A CN201811011452A CN109344610A CN 109344610 A CN109344610 A CN 109344610A CN 201811011452 A CN201811011452 A CN 201811011452A CN 109344610 A CN109344610 A CN 109344610A
Authority
CN
China
Prior art keywords
observed quantity
operational order
observation amount
sample operations
sequence
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
CN201811011452.4A
Other languages
English (en)
Other versions
CN109344610B (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 CN201811011452.4A priority Critical patent/CN109344610B/zh
Publication of CN109344610A publication Critical patent/CN109344610A/zh
Application granted granted Critical
Publication of CN109344610B publication Critical patent/CN109344610B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种序列攻击的检测方及装置,其中方法包括:实时获取工控系统中的数据;对于在获取第一个操作指令后获取的观测量,根据操作间隔的观测量变化信息判断观测量是否异常;对于在获取第一个操作指令后获取的操作指令,获取一定长度的历史操作指令序列,根据检测模型计算从历史操作指令序列跳转到当前操作指令的跳转概率,根据所述跳转概率判断所述操作指令是否异常,并检测该操作指令执行时的观测量变化信息是否异常。本发明实施例有效地解决操作时序无法检测以及因虚假控制流数据导致检测失效的问题,提高了序列攻击检测的精确性,实现全操作流程的入侵检测。

Description

序列攻击的检测方法及装置
技术领域
本发明涉及入侵检测技术领域,更具体地,涉及序列攻击的检测方法及装置。
背景技术
工业控制系统(industrial control system,ICS)是一类用于工业生产的控制系统的统称,它包含监视控制与数据采集系统(supervisory control and dataacquisition,SCADA),分布式控制系统和其他一些常见于工业部门与关键基础设施的小型控制系统(如可编程逻辑控制器)等。ICS广泛应用社会的各行各业中,包括机械制造、石油石化等工业生产企业,以及污水处理、核电系统等基础设施。目前,内部恶意人员、敌对企业、国家级组织等攻击者日益增多,自动化工具、零日漏洞等攻击技术迅猛发展,ICS的安全直接关系到企业的正常运转和国家的安全稳定。
在主要用于机械制造等过程控制的ICS中,控制器是一个重要的控制节点,负责根据当前状态下发相应的操作指令,同时接收上传的观测量信息以判断设备的实时状态,为后续操作指令的选择提供依据。然而随着远程维护等业务需求的提出,ICS逐步采用工业以太网和TCP/IP等开放性通信协议,其与外部网络的联系越来越紧密。这导致大量控制器暴露在互联网上,易被选为主要攻击目标之一。
一旦控制器被攻陷,攻击者可利用控制器实现以序列攻击为代表的针对控制流的流程攻击。序列攻击是依赖控制流程、被控物理设备的攻击,该攻击主要针对由写、执行等操作组成的周期性操作序列。它通过将正常操作以非正常次序、时序出现,使目标设备出现问题。澳大利亚污水泄露事件是典型的序列攻击,在未执行污水净化前,恶意发布操作指令,打开蓄水池的阀门,造成严重的污水污染。
目前针对序列攻击的主要检测算法是通过旁路监听ICS中的控制流,从中获取操作以形成操作命令序列,进而采用有限状态机、markov模型等数学检测模型,正确构建多个操作之间正常合理的对应关系,从操作次序上识别异常操作。然而上述检测算法存在两点问题。第一,检测算法只采用单一控制流数据,只能检测操作次序的异常,无法判断操作执行时是否符合特定的系统状态。例如澳大利亚污水泄露事件中打开蓄水池阀门之前,需要判断蓄水池中污水是否已被净化。第二,现有检测算法大多采用事件驱动模式,只能检测操作执行时刻的系统状态,无法识别因操作延误而导致的系统状态异常。序列攻击可延误、阻挡下发的操作指令,影响ICS的高实时性,造成系统异常。例如延误蓄水池阀门开启命令,导致水位溢出。第三,数据完整性存在问题。ICS在设计之初未考虑安全性,且与互联网紧密关联,故攻击者可通过注入、阻断、篡改操作命令等方式,伪造虚假的操作序列,导致检测算法产生漏报,造成检测算法的失效。
发明内容
本发明提供一种克服上述问题或者至少部分地解决上述问题的序列攻击的检测方法及装置。
根据本发明的一个方面,提供一种序列攻击的检测方法,包括:
实时获取工控系统中的数据,所述数据为操作指令或观测量;
对于在获取第一个操作指令后获取的观测量,根据操作间隔的观测量变化信息判断所述观测量是否异常;
对于在获取第一个操作指令后获取的操作指令,获取一定长度的历史操作指令序列,根据检测模型计算从所述历史操作指令序列跳转到当前操作指令的跳转概率,根据所述跳转概率判断所述操作指令是否异常,并检测该操作指令执行时的观测量变化信息是否异常;
其中,所述检测模型用于存储样本操作指令序列、样本操作指令的跳转概率、样本操作指令执行时的观测量变化信息和操作间隔的观测量变化信息。
根据本发明的第二个方面,还提供一种序列攻击的检测装置,包括:
数据获取模块,用于实时获取工控系统中的数据,所述数据为操作指令或观测量;
观测量检测模块,用于对于在获取第一个操作指令后获取的观测量,根据操作间隔的观测量变化信息判断所述观测量是否异常;
操作指令检测模块,用于对于在获取第一个操作指令后获取的操作指令,获取一定长度的历史操作指令序列,根据检测模型计算从所述历史操作指令序列跳转到当前操作指令的跳转概率,根据所述跳转概率判断所述操作指令是否异常,并检测该操作指令执行时的观测量变化信息是否异常;
其中,所述检测模型用于存储样本操作指令序列、样本操作指令的跳转概率、样本操作指令执行时的观测量变化信息和操作间隔的观测量变化信息。
根据本发明的第三个方面,还提供一种电子设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的检测方法。
根据本发明的第四个方面,还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的检测方法。
本发明提出的序列攻击的检测方法及装置,保证高效地识别出不同类型的序列攻击,有效地解决操作时序无法检测以及因虚假控制流数据导致检测失效的问题,提高了序列攻击检测的精确性,并且在操作时序和次序检测的基础上,扩充序列攻击检测的检测范围,实现全操作流程的入侵检测。
附图说明
图1为根据本发明实施例的序列攻击的检测方法的流程示意图;
图2为根据本发明实施例的获取检测模型深度的流程示意图;
图3为根据本发明实施例的示意图序列攻击的检测装置的功能框图;
图4为根据本发明实施例的电子设备的框图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
为了克服现有技术中控制器序列攻击检测方法存在的检测不完备、受数据真实性影响大等不足,无法有效地识别序列攻击,造成严重的业务中断及设备破坏的问题,本发明实施例通过对控制器进行分析发现:控制器不仅接收控制流数据,同样还要接收状态流数据,控制流数据和状态流数据受系统业务流程的约束,联系紧密,可相互验证各自数据的正确性。本发明的发明构思为:从未受攻击的传感器上传数据中提取设备的观测量数据组成状态流数据,从控制器中提取操作指令组成控制流数据,以建立检测模型,对于实时获取的数据(可以是操作指令,也可以是观测量),判断模型中是否存在对应的节点,以及跳转条件和变化趋势是否正确,若出现错误,即认为产生操作次序、时序或设备状态的异常。
图1示出了本发明实施例的序列攻击的检测方法的流程示意图,如图所示,包括:
S101、实时获取工控系统中的数据,所述数据为操作指令或观测量。
S102、对于在获取第一个操作指令后获取的观测量,根据操作间隔的观测量变化信息判断观测量是否异常;
对于在获取第一个操作指令后获取的操作指令,获取一定长度的历史操作指令序列,根据检测模型计算从历史操作指令序列跳转到当前操作指令的跳转概率,根据跳转概率判断操作指令是否异常,并检测该操作指令执行时的观测量变化信息是否异常。
需要说明的是,由于本发明实施例的检测方法需要实时获取工控系统中的数据,因此刚开始获取到的数据并不一定是操作指令,在本发明实施例中,在获取第一个操作指令后,即生成了历史操作指令序列(此时该序列中只有一个操作指令),后续根据获取到的操作指令的时序,实现了对历史操作指令序列的扩充。在存在历史操作序列的情况下,本发明实施例可以精确地检测出操作命令的次序、时序以及操作间隔的状态是否异常。
本发明实施例的检测模型用于存储样本操作指令序列、样本操作指令的跳转概率、样本操作指令执行时的观测量变化信息和操作间隔的观测量变化信息。
样本操作指令序列是指在检测前的某个/某些历史时段内获取的合法的操作指令(称之为样本操作指令)构成的序列,例如获取lP时长的所有样本操作指令,构成样本操作指令序列:
操作指令的跳转概率是指从一个样本操作指令后出现另一个样本操作指令的发生概率。
操作指令执行时的观测量变化信息是指在样本操作指令执行前、后所有的观测量的取值信息和变化类型信息,目的是为了获取每个合法的样本操作指令与观测量的对应关系以及对应情况。取值信息可以包括观测量取值的分布情况、平均差值、变化程度等等,变化关系即样本操作指令执行前后的观测量的变化趋势——比如取值固定、无变化还是有变化、而对应情况则存在以下几种情况:一个样本操作指令执行前的样本观测量与一个样本操作指令执行后的观测量存在对应关系(简称1对1)、一个样本操作指令执行前的观测量与多个样本操作指令执行后的观测量存在对应关系(简称1对多)、多个样本操作指令执行前的观测量与一个样本操作指令执行后的观测量存在对应关系(简称多对1)或者多个样本操作指令执行前的观测量与多个样本操作指令执行后的观测量存在对应关系(简称多对多)。
操作间隔的观测量的变化信息是指相邻两个样本操作指令的时间间隔中观测量的变化趋势,需要注意的是,本发明实施例中操作命令执行前后所指的时间较短,且明显小于操作间隔的时间。记录操作间隔的观测量的变化趋势信息是为了获取合法的操作顺序,以及在合法的操作顺序下观测量的变化信息。例如包括:观测量在操作间隔的取值变化类型——数值固定、无变化、有变化等、观测量在操作间隔的取值变化趋势的类型——稳定、特定波段、随机波动等类型、观测量后续变化趋势对应的AR(auto regressive,自回归)模型参数或者取值范围等等。由此可见,本发明实施例的检测模型将操作指令和观测量相融合,能够清楚地表征控制流的合法次序以及对应的状态流信息,为后续检测操作指令和观测量是否异常提供了核心支撑。
若获取到第一个操作指令后获取的数据为观测量,则获取对应的操作间隔的观测量变化信息,进而判断该观测量是否异常,实现了对虚假状态流信息的检测。
若获取到第一个操作指令后获取的数据为操作指令,则将自检测开始获得的一定数量的操作指令构成历史操作指令序列,由于检测模型中记录了操作指令的跳转概率,因此通过计算历史操作指令序列跳转到当前操作指令的跳转概率,再将获得的跳转概率与预设的阈值进行比较,即可判断出操作指令是否异常,实现了对操作次序的检测。并且,本发明实施例检测该操作指令执行时的观测量变化信息是否异常实现了操作时序的检测。
需要说明的是,本发明实施例保证高效地识别出不同类型的序列攻击,有效地解决操作时序无法检测以及因虚假控制流数据导致检测失效的问题,提高了序列攻击检测的精确性,并且在操作时序和次序检测的基础上,扩充序列攻击检测的检测范围,实现全操作流程的入侵检测。
基于上述实施例的内容,作为一种可选实施例,本发明实施例的检测方法还包括:
当获取到第一个操作指令时,若从检测模型中确定存在对应的样本操作指令,则获取第一个操作指令执行时的观测量,结合样本操作指令执行时的观测量变化信息判断第一个操作指令是否异常。
需要说明的是,当获取到第一个操作指令时,首先从检测模型中检索与该第一个操作指令一致的样本操作指令,若不存在,则认为该第一个操作指令异常,若存在,则从工控系统中获取该第一个操作指令执行前后的观测量,作为该第一个操作指令执行时的观测量,由于检测模型中记录了样本操作指令执行时的观测量,因此通过将操作指令实际执行时的观测量与对应的样本操作指令的观测量变化信息进行比对,即可获知操作指令是否异常。显然,对于获取的第一个操作指令,仅能识别操作指令的时序和次序以及执行时的状态流是否合法,无法识别出操作指令执行后——即操作间隔的状态流信息是否合法。
基于上述实施例的内容,作为一种可选实施例,本发明实施例的检测模型为树形结构,树形结构中的边表示样本操作指令序列中的一个样本操作指令,节点表示由该节点到根节点所经过的边所对应的样本操作指令组成的序列,节点记录样本操作指令的跳转概率以及观测量属性信息,观测量属性信息用于表征操作指令执行时的观测量变化信息和操作间隔的观测量变化信息。
基于上述实施例的内容,作为一种可选实施例,观测量属性信息具体包括:离散观测量取值集合,离散观测量取值集合中包括样本操作指令执行时的离散观测量的取值。
相应地,根据操作间隔的观测量变化信息判断所述观测量是否异常,具体包括:
对于在获取第一个操作指令后获取的观测量,将历史获取的最近一次的操作指令作为该观测量对应的操作指令,从检测模型中确定是否存在与对应的操作指令匹配的节点,若存在匹配的节点,则判断观测量的类型。
由前述内容可知,本发明实施例的检测模型中的边即为一个样本操作指令,将边的末端连接的节点作为该边对应的节点,换句话说,每一个节点存在一个对应的样本操作指令,由于每个节点表示由该节点到根节点所经过的边所对应的样本操作指令组成的序列,即每个节点对应的操作指令为序列中的最后一个操作指令。对于获取的观测量来说,将历史获取的最近一次的操作指令作为该观测量对应的操作指令,若在检测模型中为找到与上述对应的操作指令匹配的节点,则可以直接判断观测量异常。
若在检测模型中找到与上述对应的操作指令匹配的节点,则需要继续判断观测量的类型。作为本领域技术人员可以理解的是,观测量具有两种类型:离散观测量和连续观测量。离散观测量是指与连续观测量相对的、分散开来的、不存在中间值的量,最典型的就是开关的状态,而连续观测量则是指在时间和数量上连续的物理量,最典型的就是温度值。
若观测量的类型为离散观测量,则获取对应的操作指令执行时的离散观测量,并与匹配的节点记录的离散观测量取值集合中的离散观测量取值进行比对,若一致,则判断观测量正常。
所述观测量属性信息还包括观测量变换对应集合,所述观测量变化对应集合中包括样本操作指令执行前、后两个离散观测量取值集合的对应关系;相应地,所述检测该操作指令执行时的观测量变化信息是否异常,包括:
从所述检测模型中确定是否存在与该操作指令匹配的节点;若存在匹配的节点,则判断所述观测量的类型;若所述观测量的类型为离散观测量,则获取该操作指令执行前、后的观测量向量的对应关系,并与所述匹配的节点记录的对应关系进行对比,若一致,则判断所述观测量正常。
基于上述实施例的内容,作为一种可选实施例,观测量属性信息还包括:连续观测量在操作间隔的变化趋势的类型以及连续观测量在操作间隔的变化趋势的类型对应的AR模型参数或取值范围;
相应地,当观测量的类型为连续观测量时,获取该连续观测量对应的操作指令,将对应该操作指令的节点中记录的连续观测量在操作间隔的变化趋势的类型对应的AR模型参数或取值范围判断该连续观测量是否合法。
具体地,本发明实施例中记录的连续观测量在操作间隔的变化趋势的类型以及连续观测量在操作间隔的变化趋势的类型对应的AR模型参数或取值范围,具体的获取方法包括:
获取lP时长的观测量,构成观测量向量序列OS,OSj=(O1,O2,...,Ok),为在j时刻提取的由k个观测量组成的向量。
获取对于测试模型中的各节点,从序列OS中,提取该节点对应的操作指令Pt执行前后的观测量集合Ob和Oa,以及该操作与下个操作之间的观测量序列Di
对于第i个连续观测量Oci(用角标i表示第i个连续观测量;角标c表示该观测量为连续观测量),从Ob、Oa和D中提取Oci对应的部分Ocb,i,Oca,i和Di,提取Ocb,i和Oca,i是为了计算该操作执行前后该连续观测量Oci的变化情况,提取Di是为了计算该连续观测量Oci在操作间隔中的变化情况。
根据公式:计算Oci在操作间隔的变化值ca,i,并将变化值ca,i与连续状态信息趋势阈值向量τlm(根据专家经验、现场工程师的交流而预定义获得)中的第i个向量τlm,i进行比较,确定连续观测量Oci在操作间隔的变化趋势的类型wcl,i,包括稳定、特定波动、随机波动等情况。
计算Di序列的自相关系数和偏相关系数,并结合Di和wcl,i等信息判断Oci是否适用于AR模型,若适用则根据Oci训练AR模型的参数集ARcl,i,若不适用则记录取值范围SCcl,i用于阈值检测。其中SCcl,i的获取方法为:在序列Di中选取最大和最小值,形成SCcl,i
由上述内容可知,对于一个连续观测量,在检测前已经预先确定了连续观测量是使用AR模型还是使用取值范围进行异常检测,AR模型是一种线性预测,即已知N个数据,可由模型推出第N点前面或后面的数据(设推出P点),所以其本质类似于插值,其目的都是为了增加有效数据,只是AR模型是由N点递推,而插值是由两点(或少数几点)去推导多点,所以AR模型要比插值方法效果更好。在本发明实施例中,AR模型中预测了后面时刻的连续观测量,对于当前获取的连续观测量,若根据该连续观测量与AR模型中的观测量一致,则可认为该连续观测量正常,反正则认为该连续观测量异常。
所述观测量属性信息还包括:连续观测量在操作间隔的数值变化类型、样本操作指令执行时连续观测量的固定取值情况以及前后连续观测量向量的平均差值;
相应地,所述检测该操作指令执行时的观测量变化信息是否异常,还包括:
从所述检测模型中确定是否存在与该操作指令匹配的节点;若存在匹配的节点,则判断所述观测量的类型;若所述观测量的类型为连续观测量,则获取该操作指令执行连续观测量的固定取值情况以及前后连续观测量向量的平均差值,并与所述匹配的节点中记录的样本操作指令执行时连续观测量的固定取值情况以及前后连续观测量向量的平均差值进行比对,若一致,则判断所述观测量正常。
本发明实施例实现了对设备观测量的检测,有效解决因虚假的操作指令导致的检测失效的问题,提供了序列攻击检测的精确性。同时本发明实施例利用样本的观测量和AR模型识别操作间隔的观测量异常状态检测,提高序列攻击检测的范围和精度。
基于上述实施例的内容,作为一种可选实施例,若数据为操作指令,则获取一定长度的历史操作指令序列,具体为:
判断历史获取的操作指令的个数是否达到检测模型的深度;
若达到,则将检测模型的深度作为获取的历史操作指令序列的长度;若未达到,则将历史获取的操作指令的个数作为获取的历史操作指令序列的长度;
其中,检测模型的深度根据样本操作指令序列的信息熵获得。
需要说明的是,本发明实施例在获取历史操作指令序列时考虑了检测模型的深度。检测模型的深度决定了检测序列的最大长度,当深度小时,计算复杂度小,但误差大;深度大时,计算复杂度大,但误差小。本发明实施例通过考虑检测模型的深度,兼顾计算的误差和复杂度。图2示出了本发明实施例获取检测模型深度的流程示意图,如图所示,包括:
S201、将采集到的长度为lp的样本操作指令序列按照不同的长度l划分为多个子集,其中每个子集SPl={Pl,P2×l,…,Po×l},满足o×l≤lp,(o+1)×l>lp
S202、对每个SPl计算对应的信息熵El,形成集合EN=(E1,E2,…,Elp/2)。
S203、选取EN中的最小值对应的长度作为样本操作指令序列的周期长度以及检测模型的深度。
基于上述实施例的内容,作为一种可选实施例,观测量属性信息还包括:离散观测量在操作指令执行时的变化类型Wd、连续观测量在操作间隔的变化类型Wc、操作指令执行前后离散观测量取值集合的对应情况CSF以及操作指令执行时连续观测量的固定取值情况和平均差值;
具体地,离散观测量在操作指令执行时的变化类型的获取方法为:
从提取该节点对应的操作Pt执行前、后的状态集合Ob,Oa,对于节点中记录的离散观测向量Od,从集合Ob和Oa中提取Od对应的Odb和Oda,计算SFdb和SFda及其之间的对应关系CSF,确定离散观测量在操作指令执行时的变化类型Wd
SFdb表示由多个合法的操作执行前离散观测量向量sfdb组成的前合法离散观测量向量集合,SFda表示由多个合法的操作执行后离散观测量向量sfda组成的后合法离散观测量向量集合。对应关系CSF用于表征SFdb中的各离散观测量向量和SFda中的各离散观测量向量的对应关系,其中离散观测量向量sfdb是由操作执行前的某一时刻的众多离散观测量构成,而sfda是由操作执行后的某一时刻的众多离散观测量构成。例如,对于1个操作执行前离散观测量向量和1个操作执行后离散观测量向量对应,可以确定该对应关系的变化类型为1对1、3个操作执行前离散观测量向量和1个操作执行后离散观测量向量对应,可以确定该对应关系的变化类型为多(3)对1、1个操作执行前离散观测量向量和2个操作执行后离散观测量向量对应,可以确定该对应关系的变化类型为1对多(2)、2个操作执行前离散观测量向量和3个操作执行后离散观测量向量对应,可以确定该对应关系的变化类型为多(2)对多(3)。即离散观测量在操作指令执行时的变化类型包括1对1、1对多、多对1和多对多。
连续观测量在操作间隔的取值变化类型的获取方法为:
计算操作执行时连续观测量向量Oci对应的平均差值fc,i,并将fc,i与连续状态信息变化阈值向量τcm(根据专家经验、现场工程师的交流而预定义获得)中的第i个向量τcm,i进行比较,以确定wc,i;wc,i表示Oci在操作间隔中的数值变化类型,包括数值固定、无变化和有变化等情况。
相应地,获取第一个操作指令执行时的观测量,结合样本操作指令执行时的观测量变化信息判断第一个操作指令是否异常,具体为:
获取执行第一个操作指令时的观测量。具体地,获取执行第一个操作指令前、后各短暂时间的观测量。
对于第一个操作指令执行时的观测量中的离散观测量,根据第一个操作指令对应的节点中记录的离散观测量在样本操作指令执行时的变化类型,提取样本操作指令执行时的前后两个离散观测量取值集合的对应情况,以判断离散观测量在操作指令前后的变化是否合法。
需要说明的是,对于第一个操作指令A执行前的观测量中的离散观测量xb和对于第一个操作指令A执行后的观测量中的离散观测量xa,在检测模型中查找操作指令xb和xa,若未查到,则可直接判断操作指令A异常,若查到,则读取操作指令A在检测模型中对应的节点中记录的离散观测量在操作指令执行时的变化类型,提取操作指令执行时的前后两个离散观测量取值集合的对应情况,若在前后两个离散观测量取值集合的对应情况中查找到了对应关系xb-xa,则说明离散观测量x合法,若所有的离散观测量都合法,则判断操作指令正常。
对于第一个操作指令执行时的观测量中的连续观测量,根据第一个操作指令对应的节点中连续观测量在操作间隔的变化类型,选取样本操作指令执行时连续观测量的固定取值情况和平均差值,以此判断该第一个操作指令是否合法。
需要说明的是,对于第一操作执行时的观测量中的连续观测量,根据第一个操作指令对应的节点中连续观测量在操作间隔的变化类型,选取样本操作指令执行时连续观测量的固定取值情况和平均差值,然后将该连续观测量与样本操作指令执行时连续观测量的固定取值情况进行对比,将连续观测量实际的平均差值与样本操作指令执行时连续观测量的平均差值进行对比,若均一致,则判断该连续观测量合法,若第一操作执行时的观测量中的所有连续观测量,则判断第一操作合法。
根据本发明的另一个方面,本发明实施例还提供一种序列攻击的检测装置,参见图3,图3示出了本发明实施例的检测装置的功能框图,该检测装置用于前述各实施例的检测序列攻击。因此,在前述各实施例中的检测方法中的描述和定义,可以用于本发明实施例中各执行模块的理解。
如图所示,包括:
数据获取模块301,用于实时获取工控系统中的数据,数据为操作指令或观测量;
观测量检测模块302,用于对于在获取第一个操作指令后获取的观测量,将历史获取的最近一次的操作指令作为该观测量对应的操作指令,根据检测模型中存储的样本操作指令执行时的观测量变化信息或操作间隔的观测量变化信息判断观测量是否异常;
操作指令检测模块303,用于对于在获取第一个操作指令后获取的操作指令,获取一定长度的历史操作指令序列,根据检测模型计算从历史操作指令序列跳转到当前操作指令的跳转概率,根据跳转概率判断操作指令是否异常以及检测该操作指令执行时的观测量变化信息是否异常;
其中,检测模型用于存储样本操作指令序列、样本操作指令的跳转概率、样本操作指令执行时的观测量变化信息和操作间隔的观测量变化信息。
需要说明的是,本发明实施例的检测装置能够保证高效地识别出不同类型的序列攻击,有效地解决操作时序无法检测以及因虚假控制流数据导致检测失效的问题,提高了序列攻击检测的精确性,并且在操作时序和次序检测的基础上,扩充序列攻击检测的检测范围,实现全操作流程的入侵检测。
图4示出了本发明实施例的电子设备的结构示意图,如图4所示,处理器(processor)401、存储器(memory)402和总线403;其中,处理器401及存储器402分别通过总线403完成相互间的通信;处理器401用于调用存储器402中的程序指令,以执行上述实施例所提供的检测方法,例如,包括:实时获取工控系统中的数据,数据为操作指令或观测量;对于在获取第一个操作指令后获取的观测量,将历史获取的最近一次的操作指令作为该观测量对应的操作指令,根据检测模型中存储的样本操作指令执行时的观测量变化信息或操作间隔的观测量变化信息判断观测量是否异常;对于在获取第一个操作指令后获取的操作指令,获取一定长度的历史操作指令序列,根据检测模型计算从历史操作指令序列跳转到当前操作指令的跳转概率,根据跳转概率判断操作指令是否异常以及检测该操作指令执行时的观测量变化信息是否异常;其中,检测模型用于存储样本操作指令序列、样本操作指令的跳转概率、样本操作指令执行时的观测量变化信息和操作间隔的观测量变化信息。
本发明实施例提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令使计算机执行上述实施例所提供的检测方法,例如,包括:实时获取工控系统中的数据,数据为操作指令或观测量;对于在获取第一个操作指令后获取的观测量,将历史获取的最近一次的操作指令作为该观测量对应的操作指令,根据检测模型中存储的样本操作指令执行时的观测量变化信息或操作间隔的观测量变化信息判断观测量是否异常;对于在获取第一个操作指令后获取的操作指令,获取一定长度的历史操作指令序列,根据检测模型计算从历史操作指令序列跳转到当前操作指令的跳转概率,根据跳转概率判断操作指令是否异常以及检测该操作指令执行时的观测量变化信息是否异常;其中,检测模型用于存储样本操作指令序列、样本操作指令的跳转概率、样本操作指令执行时的观测量变化信息和操作间隔的观测量变化信息。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种序列攻击的检测方法,其特征在于,包括:
实时获取工控系统中的数据,所述数据为操作指令或观测量;
对于在获取第一个操作指令后获取的观测量,根据操作间隔的观测量变化信息判断所述观测量是否异常;
对于在获取第一个操作指令后获取的操作指令,获取一定长度的历史操作指令序列,根据检测模型计算从所述历史操作指令序列跳转到当前操作指令的跳转概率,根据所述跳转概率判断所述操作指令是否异常,并检测该操作指令执行时的观测量变化信息是否异常;
其中,所述检测模型用于存储样本操作指令序列、样本操作指令的跳转概率、样本操作指令执行时的观测量变化信息和操作间隔的观测量变化信息。
2.根据权利要求1所述的检测方法,其特征在于,所述实时获取工控系统中的数据,之后还包括:
当获取到第一个操作指令时,若从所述检测模型中确定存在对应的样本操作指令,则获取所述第一个操作指令执行时的观测量,结合所述样本操作指令执行时的观测量变化信息判断所述第一个操作指令是否异常。
3.根据权利要求2所述的检测方法,其特征在于,所述检测模型为树形结构,所述树形结构中的边表示样本操作指令序列中的一个样本操作指令,节点表示由该节点到根节点所经过的边所对应的操作指令组成的序列,所述节点记录样本操作指令的跳转概率以及观测量属性信息,所述观测量属性信息用于表征操作指令执行时的观测量变化信息和操作间隔的观测量变化信息。
4.根据权利要求3所述的检测方法,其特征在于,所述观测量的类型包括离散观测量,所述观测量属性信息具体包括:离散观测量取值集合,所述离散观测量取值集合中包括样本操作指令执行时的离散观测量的取值;
相应地,所述根据操作间隔的观测量变化信息判断所述观测量是否异常,包括:
对于在获取第一个操作指令后获取的观测量,将历史获取的最近一次的操作指令作为该观测量对应的操作指令;从所述检测模型中确定是否存在与所述对应的操作指令匹配的节点;若存在匹配的节点,则判断所述观测量的类型;若所述观测量的类型为离散观测量,则获取所述对应的操作指令执行时的离散观测量,并与所述匹配的节点记录的离散观测量取值集合中的离散观测量取值进行比对,若一致,则判断所述观测量正常;
所述观测量属性信息还包括观测量变换对应集合,所述观测量变化对应集合中包括样本操作指令执行前、后两个离散观测量取值集合的对应关系;相应地,所述检测该操作指令执行时的观测量变化信息是否异常,包括:
从所述检测模型中确定是否存在与该操作指令匹配的节点;若存在匹配的节点,则判断所述观测量的类型;若所述观测量的类型为离散观测量,则获取该操作指令执行前、后的观测量向量的对应关系,并与所述匹配的节点记录的对应关系进行对比,若一致,则判断所述观测量正常。
5.根据权利要求4所述的检测方法,其特征在于,所述观测量的类型还包括连续观测量,所述观测量属性信息还包括:连续观测量在操作间隔的变化趋势的类型以及连续观测量在操作间隔的变化趋势的类型对应的AR模型参数或取值范围;
相应地,所述根据操作间隔的观测量变化信息判断所述观测量是否异常,还包括:
若所述观测量的类型为连续观测量,则获取该连续观测量对应的操作指令,将对应该操作指令的节点中记录的连续观测量在操作间隔的变化趋势的类型对应的AR模型参数或取值范围判断该连续观测量是否合法;
所述观测量属性信息还包括:连续观测量在操作间隔的数值变化类型、样本操作指令执行时连续观测量的固定取值情况以及前后连续观测量向量的平均差值;
相应地,所述检测该操作指令执行时的观测量变化信息是否异常,还包括:
从所述检测模型中确定是否存在与该操作指令匹配的节点;若存在匹配的节点,则判断所述观测量的类型;若所述观测量的类型为连续观测量,则获取该操作指令执行连续观测量的固定取值情况以及前后连续观测量向量的平均差值,并与所述匹配的节点中记录的样本操作指令执行时连续观测量的固定取值情况以及前后连续观测量向量的平均差值进行比对,若一致,则判断所述观测量正常。
6.根据权利要求3所述的检测方法,其特征在于,所述对于在获取第一个操作指令后获取的操作指令,获取一定长度的历史操作指令序列,具体为:
判断历史获取的操作指令的个数是否达到所述检测模型的深度;
若达到,则将所述检测模型的深度作为获取的历史操作指令序列的长度;若未达到,则将历史获取的操作指令的个数作为获取的历史操作指令序列的长度;
其中,所述检测模型的深度根据样本操作指令序列的信息熵获得。
7.根据权利要求3所述的检测方法,其特征在于,所述观测量属性信息还包括:离散观测量在样本操作指令执行时的变化类型、连续观测量在操作间隔的变化类型、样本操作指令执行前后离散观测量取值集合的对应情况以及样本操作指令执行时连续观测量的固定取值情况和平均差值;
相应地,所述获取所述第一个操作指令执行时的观测量,结合所述样本操作指令执行时的观测量变化信息判断所述第一个操作指令是否异常,具体为:
获取执行所述第一个操作指令时的观测量;
对于所述第一个操作指令执行时的观测量中的离散观测量,根据所述第一个操作指令对应的节点中记录的离散观测量在样本操作指令执行时的变化类型,提取样本操作指令执行时的前后两个离散观测量取值集合的对应情况,以判断所述离散观测量在操作指令前后的变化是否合法;
对于所述第一个操作指令执行时的观测量中的连续观测量,根据所述第一个操作指令对应的节点中连续观测量在操作执行时的变化类型,选取样本操作指令执行时连续观测量的固定取值情况和平均差值,以此判断该第一个操作指令是否合法。
8.一种序列攻击的检测装置,其特征在于,包括:
数据获取模块,用于实时获取工控系统中的数据,所述数据为操作指令或观测量;
观测量检测模块,用于对于在获取第一个操作指令后获取的观测量,根据操作间隔的观测量变化信息判断所述观测量是否异常;
操作指令检测模块,用于对于在获取第一个操作指令后获取的操作指令,获取一定长度的历史操作指令序列,根据检测模型计算从所述历史操作指令序列跳转到当前操作指令的跳转概率,根据所述跳转概率判断所述操作指令是否异常,并检测该操作指令执行时的观测量变化信息是否异常;
其中,所述检测模型用于存储样本操作指令序列、样本操作指令的跳转概率、样本操作指令执行时的观测量变化信息和操作间隔的观测量变化信息。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至7任意一项所述的检测方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至7任一所述的检测方法。
CN201811011452.4A 2018-08-31 2018-08-31 序列攻击的检测方法及装置 Active CN109344610B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811011452.4A CN109344610B (zh) 2018-08-31 2018-08-31 序列攻击的检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811011452.4A CN109344610B (zh) 2018-08-31 2018-08-31 序列攻击的检测方法及装置

Publications (2)

Publication Number Publication Date
CN109344610A true CN109344610A (zh) 2019-02-15
CN109344610B CN109344610B (zh) 2020-09-11

Family

ID=65292119

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811011452.4A Active CN109344610B (zh) 2018-08-31 2018-08-31 序列攻击的检测方法及装置

Country Status (1)

Country Link
CN (1) CN109344610B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110149346A (zh) * 2019-06-12 2019-08-20 上海观安信息技术股份有限公司 一种电力网络中异常指令的检测方法及系统
CN110442837A (zh) * 2019-07-29 2019-11-12 北京威努特技术有限公司 复杂周期模型的生成方法、装置及其检测方法、装置
CN110535878A (zh) * 2019-09-23 2019-12-03 电子科技大学 一种基于事件序列的威胁检测方法
CN111245780A (zh) * 2019-12-23 2020-06-05 北京威努特技术有限公司 一种基于工业防火墙的序列攻击检测实现方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3953558A (en) * 1972-12-19 1976-04-27 Kanegafuchi Kagaku Kogyo Kabushiki Kaisha Method of moulding foamed synthetic resin pellets of polyolefine
CN102167840A (zh) * 2011-04-12 2011-08-31 姜修磊 超临界模压发泡制备聚合物微孔发泡材料的方法
CN102504323A (zh) * 2011-11-07 2012-06-20 常州天晟新材料股份有限公司 可工业化的超临界流体技术制备聚合物发泡材料的方法
CN203282653U (zh) * 2013-04-09 2013-11-13 青岛科技大学 一种超临界流体辅助聚合物模压发泡装置
CN106146874A (zh) * 2016-06-01 2016-11-23 湖州长园特发科技有限公司 一种超临界流体发泡聚烯烃材料及其制备方法
CN106330949A (zh) * 2016-09-13 2017-01-11 哈尔滨工程大学 一种基于马尔科夫链的入侵检测方法
CN107370732A (zh) * 2017-07-14 2017-11-21 成都信息工程大学 基于神经网络和最优推荐的工控系统异常行为发现系统
CN107491058A (zh) * 2017-08-07 2017-12-19 中国科学院信息工程研究所 一种工业控制系统序列攻击检测方法及设备
GB2558534A (en) * 2016-11-08 2018-07-18 Univ Durham Detecting a bad data injection event within an industrial control system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3953558A (en) * 1972-12-19 1976-04-27 Kanegafuchi Kagaku Kogyo Kabushiki Kaisha Method of moulding foamed synthetic resin pellets of polyolefine
CN102167840A (zh) * 2011-04-12 2011-08-31 姜修磊 超临界模压发泡制备聚合物微孔发泡材料的方法
CN102504323A (zh) * 2011-11-07 2012-06-20 常州天晟新材料股份有限公司 可工业化的超临界流体技术制备聚合物发泡材料的方法
CN203282653U (zh) * 2013-04-09 2013-11-13 青岛科技大学 一种超临界流体辅助聚合物模压发泡装置
CN106146874A (zh) * 2016-06-01 2016-11-23 湖州长园特发科技有限公司 一种超临界流体发泡聚烯烃材料及其制备方法
CN106330949A (zh) * 2016-09-13 2017-01-11 哈尔滨工程大学 一种基于马尔科夫链的入侵检测方法
GB2558534A (en) * 2016-11-08 2018-07-18 Univ Durham Detecting a bad data injection event within an industrial control system
CN107370732A (zh) * 2017-07-14 2017-11-21 成都信息工程大学 基于神经网络和最优推荐的工控系统异常行为发现系统
CN107491058A (zh) * 2017-08-07 2017-12-19 中国科学院信息工程研究所 一种工业控制系统序列攻击检测方法及设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
AN YANG 等: "SBSD: Detecting the Sequence Attack through Sensor Data in ICSs", 《2018 IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS (ICC)》 *
MARCO CASELLI 等: "Sequence-aware Intrusion Detection in Industrial Control Systems", 《ACM》 *
杨安 等: "工业控制系统入侵检测技术综述", 《计算机研究与发展》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110149346A (zh) * 2019-06-12 2019-08-20 上海观安信息技术股份有限公司 一种电力网络中异常指令的检测方法及系统
CN110442837A (zh) * 2019-07-29 2019-11-12 北京威努特技术有限公司 复杂周期模型的生成方法、装置及其检测方法、装置
CN110442837B (zh) * 2019-07-29 2023-04-07 北京威努特技术有限公司 复杂周期模型的生成方法、装置及其检测方法、装置
CN110535878A (zh) * 2019-09-23 2019-12-03 电子科技大学 一种基于事件序列的威胁检测方法
CN110535878B (zh) * 2019-09-23 2021-03-30 电子科技大学 一种基于事件序列的威胁检测方法
CN111245780A (zh) * 2019-12-23 2020-06-05 北京威努特技术有限公司 一种基于工业防火墙的序列攻击检测实现方法

Also Published As

Publication number Publication date
CN109344610B (zh) 2020-09-11

Similar Documents

Publication Publication Date Title
CN109344610A (zh) 序列攻击的检测方法及装置
Kurt et al. Online cyber-attack detection in smart grid: A reinforcement learning approach
CN107302547B (zh) 一种web业务异常检测方法及装置
Caselli et al. Sequence-aware intrusion detection in industrial control systems
Krotofil et al. The process matters: Ensuring data veracity in cyber-physical systems
CN107832896B (zh) 一种电厂设备缓变故障预警方法及装置
CN109743187A (zh) 工控网络异常检测方法及装置
CN109361648B (zh) 工控系统的隐蔽攻击的检测方法及装置
CN113281998B (zh) 基于生成对抗网络的多点fdi攻击检测方法
KR102440335B1 (ko) 이상 감지 관리 방법 및 그 장치
CN101902366A (zh) 一种业务行为异常检测方法和系统
CN112688946B (zh) 异常检测特征的构造方法、模块、存储介质、设备及系统
CN111679657A (zh) 一种基于工控设备信号的攻击检测方法及系统
CN114721336A (zh) 一种仪控系统工艺参数的信息安全事件预警方法
CN110062009A (zh) 一种信息物理融合系统防御的形式化检测方法
CN107491058B (zh) 一种工业控制系统序列攻击检测方法及设备
CN109743339B (zh) 电力厂站的网络安全监测方法和装置、计算机设备
CN112787984B (zh) 一种基于相关分析的车载网络异常检测方法及系统
CN110493176B (zh) 一种基于非监督机器学习的用户可疑行为分析方法及系统
CN112291239B (zh) 一种面向scada系统的网络物理模型及其入侵检测方法
Nouioua et al. Probabilistic analysis of predictability in discrete event systems
Murshed et al. Monitoring of solid oxide fuel cell systems
Alagrash et al. Machine learning and recognition of user tasks for malware detection
CN110007171A (zh) 变压器在线监测数据误报警的筛查方法及系统
Wang et al. Multi‐block principal component analysis based on variable weight information and its application to multivariate process monitoring

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