CN112003813A - 一种工业控制系统威胁态势感知方法 - Google Patents
一种工业控制系统威胁态势感知方法 Download PDFInfo
- Publication number
- CN112003813A CN112003813A CN201910443557.5A CN201910443557A CN112003813A CN 112003813 A CN112003813 A CN 112003813A CN 201910443557 A CN201910443557 A CN 201910443557A CN 112003813 A CN112003813 A CN 112003813A
- Authority
- CN
- China
- Prior art keywords
- network
- event
- events
- data packet
- security
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Biology (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供了一种工业控制系统威胁态势感知方法,该方法包括:获取工业控制系统中交互的数据包;解析获取的数据包,获取数据包的应用层信息;根据获取的应用层信息若确定该数据包对应网络事件,则记录该网络事件,以及该数据包的信息;将记录的网络事件进行聚类,每类网络事件作为一个安全事件;将存在因果关系的安全事件进行关联;根据安全事件的关联关系建立工业控制系统对应的全网攻击描述模型,并显示。该方案能够还原网络攻击过程。
Description
技术领域
本发明涉及网络安全技术领域,特别涉及一种工业控制系统威胁态势感知方法。
背景技术
现有的威胁态势感知系统通常只能发现系统与网络中出现的单一安全事件并进行感知,而无法通过分析将存在因果关系的事件进行关联,因而无法对于攻击者的攻击过程进行还原。
发明内容
有鉴于此,本申请提供一种工业控制系统威胁态势感知方法,能够还原网络攻击过程。
为解决上述技术问题,本申请的技术方案是这样实现的:
在一个实施例中,提供了一种工业控制系统威胁态势感知方法,所述方法包括:
获取工业控制系统中交互的数据包。
解析获取的数据包,获取数据包的应用层信息;
根据获取的应用层信息若确定该数据包对应网络事件,则记录该网络事件,以及该数据包的信息;
将记录的网络事件进行聚类,每类网络事件作为一个安全事件;
将存在因果关系的安全事件进行关联;
根据安全事件的关联关系建立工业控制系统对应的全网攻击描述模型,并显示。
由上面的技术方案可见,上述实施例中基于协议深度解析、网络时间聚合、安全事件关联和网络攻击建模来感知工业控制系统威胁态势,能够在发现网络中出现的各类安全事件的同时,将存在因果关系的安全事件进行关联,从而构建出攻击者的攻击过程。该方案能够还原网络攻击过程。
附图说明
以下附图仅对本发明做示意性说明和解释,并不限定本发明的范围:
图1为本申请实施例中工业控制系统威胁态势感知流程示意图;
图2为本申请实施例中安全事件关联分析过程示意图;
图3为本申请实施例中建立的顶层对象Petri网的示意图;
图4为本申请实施例中建立对象B的内部攻击行为示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并举实施例,对本发明的技术方案进行详细说明。
本申请实施例中提供一种工业控制系统威胁态势感知方法,基于协议深度解析、网络时间聚合、安全事件关联和网络攻击建模来感知工业控制系统威胁态势,能够在发现网络中出现的各类安全事件的同时,将存在因果关系的安全事件进行关联,从而构建出攻击者的攻击过程。能够还原网络攻击过程。
下面结合附图,详细描述工业控制系统威胁态势感知过程。
为了描述方便,下文将执行工业控制系统威胁态势感知的设备称为感知设备。
参见图1,图1为本申请实施例中工业控制系统威胁态势感知流程示意图。具体步骤为:
步骤101,获取工业控制系统中交互的数据包。
具体实现时,可以通过工业控制系统中的设备的网卡驱动程序抓取该设备收发的数据包来获取数据包,再通过本申请中感知设备获取工业控制系统中各设备上抓取的数据包。
步骤102,解析获取的数据包,获取数据包的应用层信息。
本申请实施例中在解析数据包的时候,还获取数据包的链路层信息、网络层信息、传输层信息。
对数据包的链路层进行解析,获取的链路层信息为:数据包的源MAC地址和目的MAC地址;
对数据包的网络层进行解析,获取的网络层信息为:数据包的源IP地址和目的IP,以及网络层或传输层协议类型,如TCP、UDP、ICMP、IGMP,通过对IP地址进行解析,可得出数据包的来源与去向情况,为后续网络事件的聚合与关联提供支持。
对数据包的传输层进行解析,获取的传输层信息为:数据包的源端口号和目的端口号。在网络协议架构中,不同的应用层协议所采用的端口号是有所不同的,因而可以通过端口号信息来判断该数据包所采用的应用层协议类型。
对数据包的应用层进行解析,包括对应用层协议头部信息的解析和数据部分的解析。
针对应用层协议头部解析获得的应用层信息为:功能标识符、数据长度等;
针对应用层数据部分的解析获得的应用层信息为:数据内容。
步骤103,根据获取的应用层信息若确定该数据包对应网络事件,则记录该网络事件。
本步骤中根据获取的应用层信息确定该数据包是否对应网络事件,如果是,记录该网络事件,以及网络事件对应的信息,即获取的对应数据的信息;否则,不记录该数据包的相关信息,即不关注该数据包,不进行后续的相关处理。
根据获取的应用层信息确定该数据包是否对应网络事件,包括:
针对一数据包,若该数据包的功能标识符和数据长度与对应应用层协议类型对应的功能标识符和数据长度不匹配,则确定该数据包对应网络事件。
针对一数据包,使用该数据包对应的应用层协议所采用的检测规则,对获取的数据内容进行匹配,若匹配成功,则确定该数据包对应网络事件。
步骤104,将记录的网络事件进行聚类,每类网络事件作为一个安全事件。
本步骤中将记录的网络事件进行聚类,包括:
将所有网络事件中,evttype、srcip、dstip和dstprt均相同的网络事件聚为第一类;记为第一安全事件;
该类网络事件,由于被不同的设备(工业控制系统中抓取数据包的设备)发现而产生的一系列冗余事件。
将evttype、dstip和dstprt均相同且srcip不同的网络事件聚为第二类,记为第二安全事件;
该类网络事件可能是由于网络中多个设备对某一设备进行攻击而产生的一些列网络事件,若Dos攻击等。
将evttype和srcip均相同且dstip和dstprt不全相同的网络事件聚为第三类,记为第三安全事件;
该类网络事件指可能由于工业控制系统中某一设备对其他多个设备进行攻击产生的一系列网络事件,如对某一网络的扫描等;
其他网络事件(所有网络事件中划分到上述三类事件中之外的事件)分别各自为一类网络事件。
其中,evttype为网络事件的类型,即应用协议类型,srcip为网络事件的源IP地址,dstip为网络事件的目的IP地址,dstprt为网络事件的目的端口号。
通过上述标准来对网络事件进行分类,既可以保持同类网络事件之间的关系,也不会导致安全事件的分类粒度过细。
上述对已存在的网络事件进行聚类,当新增一网络事件时,需确定该网络事件是否属于已存在的类,如果是,将该网络事件聚类到对应的类;否则,将该网络事件单独作为一类。
下面给出新增网络事件其所属的类的具体实现:
获取该网络事件的evttype、srcip、dstip和dstprt;若确定该网络事件与第一安全事件的evttype、srcip、dstip和dstprt均相同,则将该网络事件聚类到第一安全事件;若确定该网络事件与第二安全事件的evttype、dstip和dstprt均相同且srcip不同,则将该网络事件聚类到第二安全事件;若确定该网络事件与第三安全事件的evttype和srcip均相同且dstip和dstprt不全相同,则将该网络事件聚类到第三安全事件。其他情况,作为一类新的安全事件。
下面结合具体例子给出将新增网络事件聚类的过程:
(1)、当有新的网络事件NE发生时,将变量max和index初始化为0。其中,max表示匹配成功的分类中优先级最高的分类号,index表示max值所对应的安全事件的ID号。从安全事件表中取出一条安全事件SEi进行比较(在起始时i=1)。
(2)、比较NE与SEi的evttype属性值,如果不相同,转(5),否则,转(3)。
(3)、比较NE与SEi的srcip和dstip,如果有NE的dstip与SEi的dstip不相同,且NE的srcip与SEi的srcip不相同,则转(5),否则,转(4)。
(4)、若NE的srcip与SEi的srcip相同,NE的dstip与SEi的dstip相同,并且NE的dstprt与SEi的dstprt相同,则与第一类相匹配,将max的值置为1,转(5)。如果NE的srcip与SEi的srcip不相同,NE的dstip与SEi的dstip相同,并且NE的dstprt与SEi的dstprt相同,则与第二类相匹配,将max的值置为2,转(5)。如果NE的srcip与SEi的srcip相同,并且NE的dstip与SEi的dstip不相同,则与第三类相匹配,将max的值置为3,转(5)。
(5)、根据比较的情况对max和index进行更新,在安全事件表中取下一条安全事件SEi与网络事件NE相比较,转(2)。若已对所有安全事件完成比较,则依据max的值判断与哪一类安全事件以进行聚合。若max的值为1,转(6)。若max的值为2,转(7)。若max的值为3,转(8)。若max的值为0,则将该网络事件NE作为一类新的安全事件插入到安全事件表中,转(9)。
(6)、对网络事件NE与安全事件SEi聚合,生成新的安全事件SEi’来取代安全事件SEi在安全事件表中的记录,其中,新的安全事件SEi’的evttype、srcip、dstip、dstprt和createtime取NE相应的值,其他的属性值取NE与SEi相应属性的并值,转(9)。
(7)、对网络事件NE与安全事件SEi聚合,生成新的安全事件SEi’来取代安全事件SEi在安全事件表中的记录,其中,新的安全事件SEi’的evttype、srcip和createtime取NE相应的值,其他的属性值取NE与SEi相应属性的并值,转(9)。
(8)对网络事件NE与安全事件SEi聚合,生成新的安全事件SEi’来取代安全事件SEi在安全事件表中的记录,其中,新的安全事件SEi’的evttype、srcip、dstip、dstprt和createtime取NE相应的值,其他的属性值取NE与SEi相应属性的并值,转(9)。
(9)网络事件聚合完成,等待下一个网络事件产生。
步骤105,将存在因果关系的安全事件进行关联。
安全事件关联分析技术的基本思想是通过分析两个安全事件之间是否存在因果关系,来判断是否应该将这两个安全事件进行关联。如果两个安全事件之间存在关联关系,则这两个安全事件之间存在时间上的先后关系,并且前一个安全事件的发生是后一个安全事件发生的前提条件。
出于计算过程与描述的方便性,在安全事件的关联分析中用谓词逻辑来对一个安全事件可能产生的结果或该安全事件要发生必须具备的前提条件进行描述。即使用谓词逻辑描述一个安全事件可能产生的结果,或发生该安全事件的必要前提条件。
以缓冲区溢出攻击为例,如果通过对网络的扫描发现某台终端设备可以对其进行缓冲区溢出攻击,则这一安全事件产生的结果可以用谓词逻辑描述为:其中,subnet表示被扫描的网络,Scan()表示网络扫描事件,Host(IP,port)表示地址为IP,端口号为port的终端设备,Vul(BOF)表示终端设备中存在缓冲区溢出漏洞。
采用谓词逻辑对安全事件所产生的结果进行定义,可以构成一个结果集。由于仅通过安全事件的发生无法判断这一安全事件所对应的攻击行为是否成功执行,且即便某一安全事件对应的攻击行为执行失败,攻击者也有可能执行后续的攻击行为,进而产生后续的安全事件,因而定义的结果集是一个可能集。
基于谓词逻辑,本申请实施例中定义了超安全事件类,用来描述一种安全事件类型要发生必须具备的前提条件及其发生后所产生的结果。
超安全事件类HSE是一个三元组HSE=(attr,pre,con);其中,attr是与该超安全事件类相关的属性的集合,表示在安全事件中已获得的所有信息;pre表示该超安全事件类中的安全事件要发生必须具备的前提条件,pre由一系列谓词逻辑经过连接而成,这些谓词逻辑中的谓词都存在于attr中;con表示该超安全事件类中的安全事件发生后所产生的结果,con同样由一系列谓词逻辑经过连接而成。
在明确了超安全事件类的定义之后,对超安全事件类的实例进行定义。例如,对于同一类型的缓冲区溢出安全事件中,可以生成一个缓冲区溢出超安全事件类的实例。
对于给定的一种超安全事件类HSE=(attr,pre,con),一个HSE类型的超安全事件实例HSEi是一个关于attr的有限元组的集合,其中,每一个元组都有一个开始时间begin_time和结束时间end_time,HSEi的前提条件集表示为P(HSEi),结果集表示为C(HSEi)。针对两个超安全事件HSE1和HSE2,若存在一谓词p∈P(HSE2),且存在谓词集合C∈C(HSE1),对于所有的c∈C,c的end_time小于p的begin_time,并且在C中的谓词都蕴含p,则HSE1的发生是HSE2发生的必要条件,称HSE1是HSE2的先导事件,HSE1与HSE2之间存在因果关系。
上述实现通过基于谓词逻辑定义了超安全事件类,并给出了确定安全事件之间因果关系的过程、方式。
安全事件之间的关联关系可以用关联图CG=(N,E)来表示,其中N是安全事件节点的集合,E是安全事件之间的边的集合。对于N中的两个安全事件N1和N2,如果N1是N2的先导安全事件,则N1与N2间存在一条边。
参见图2,图2为本申请实施例中安全事件关联分析过程示意图。其主要模块包括知识库、安全事件处理器、关联引擎、数据库管理系统以及图形界面。
(1)、知识库的主要作用是存储关于超安全事件的相关信息,包括超安全事件中的谓词、谓词之间的逻辑关系,以及超安全事件的类型等。知识库中的超安全事件类通过其名字进行区分。
(2)、安全事件处理器的主要作用是从数据库中管理系统中提取安全事件,以知识库中超安全事件类的基本结构为依据,生成与之相对应的超安全事件实例,并对超安全事件实例的前提条件与结果进行初始化。
(3)、关联引擎的主要作用是对于安全事件处理器生成的超安全事件实例,以谓词逻辑为依据进行关联,并将产生的关联关系存储到数据库管理系统中。
(4)、数据库管理系统的主要作用是存储安全事件及其之间的关联关系,以便图形界面进行读取与展示。
(5)、图形界面的主要作用是提供交互接口,查看安全事件之间的关联关系以及更深入的分析工作提供基础。
步骤106,根据安全事件的关联关系建立工业控制系统对应的全网攻击描述模型,并显示。
本申请实施例中在进行建立全网攻击描述模型时使用对象Petri网实现,一个具有层次的对象Petri网通常可定义为如下所示的七元组:
OPN={O,P,ToK,∑,C,F}
其中,O={O1,O2,...,On}是内部对象集;P为库所集;T为变迁集,由对象中的接口变迁与对象内部的变迁组成,T=TIF∪TIN,其中TIF为对象中的接口变迁集,TIN为对象内部的变迁集;Tok为托肯集,它描述了每个库所拥有的某些属性;Σ为颜色集,是托肯中所有属性的集合;C为颜色函数,该函数将一个托肯映射到颜色集中的某个元素;F为有向弧集,(×为笛卡尔积)。
由对象Petri网的定义可知,一个对象Petri网主要包括以下组成部分:
对象:对象主要由库所、接口变迁及对象内部的变迁和有向弧组成。对象作为结构化的模块,一个简单对象就是一个有输入和(或)输出端口的Petri网。一类对象用一个矩形框表示。对于某对象所处的Petri网来说,该对象的内部结构是不可见的。对象可用对象子网来细化,直到没有可以表示的对象为止。如果两个对象之间有交互作用,则这两个对象之间有一个库所,库所的两端为这两个对象的某一接口变迁。
库所:在对象Petri网中,库所描述了整个网络或网络中某个对象当前所处的状态。每个库所包含一定数量的托肯,托肯中的颜色描述了该托肯的类型。
变迁:每个变迁代表一个动作,变迁上可以定义相应的布尔表达式,表示什么条件下该变迁发生。为了处理冲突以及其它需要,变迁的发生增加了优先权、动作延迟时间等属性。变迁上带有谓词函数和动作函数,谓词函数主要确定转移发生的条件,执行动作函数对标记进行处理来完成对象状态的改变。当一个变迁的所有输入位置中有足够的适当颜色的托肯时,则称该变迁是可以点火的,在该变迁点火时,它将从它的每个输入库所中除去若干个托肯,并在它的每个输出库所中加入若干个托肯。
有向弧:有向弧反映了事物的状态变化即库所转化的时序关系。在对象Petri网中,各库所间转化的有向弧上可带有谓词函数,作为转移开始启动和启动结束的条件之一。为了增加模型的语义表达能力,允许使用禁止弧。对于顶层网中的有向弧,对于子网中的有向弧,
工业控制系统对应的全网攻击描述模型中包括三类对象:第一类是网络初始状态节点对象,该类对象主要描述了在攻击发生时的网络状态及相关先决条件;第二类是网络设备节点对象,该类对象主要描述了工业控制网络中各类设备,包括网络中的计算机,控制终端及现场设备等;第三类是网络攻击行为对象,该类对象主要描述了攻击的进程及后续的目标。
网络初始状态节点对象ISO主要描述针对当前网络环境下攻击者及其所掌握的漏洞信息,以及当前网络环境中存在的管理上的缺陷等。网络初始状态节点对象可表示为如下所示的三元组:
ISO={ATT,VUL,SMV};
其中,ATT表示网络中的攻击者的集合,VUL表示攻击者所掌握的有关于该系统网络中各终端设备节点的漏洞信息,可用三元组VUL={ID,Name,Type}表示,其中ID表示漏洞编号,Name表示漏洞名称,Type表示该漏洞针对的终端设备操作系统或软件类型;SMV表示该系统网络中存在的管理上的缺陷信息,可用三元组SMV={ID,Type,Desc}表示,其中,ID表示管理缺陷编号,Type表示缺陷的类型,Desc表示该缺陷的具体描述。
网络终端设备节点对象NHO主要描述工业控制网络中各类终端设备节点所处的状态。一个网络终端设备节点对象可以表示为如下所示的四元组:
NHO={ID,Name,IP,State}。
其中,ID为节点ID号,Name为节点名称,IP为节点IP地址,State为网络节点对象状态,State={NOR,EAC,ACC,DCC,DIC,AVC},其中,NOR表示网络中的节点对象处于正常状态,可正常提供服务或执行指令;EAC表示该节点对象的设备认证性被破坏,攻击者可能会利用该设备伪造身份以欺骗网络中的其他终端设备节点;ACC表示该节点对象的设备访问控制特性被破坏,攻击者通过权限提升命令获取终端设备系统管理员权限,可执行远程代码或任意指令;DCC表示该节点对象的数据机密性被破坏,该节点上的重要数据如控制指令序列,配方或图纸等被窃取或泄露;DIC表示该节点对象的数据完整性被破坏,攻击者可利用该节点向其他节点设备发送无效或错误指令;AVC表示该节点对象的设备可用性被破坏,该节点可能遭受拒绝服务攻击而无法提供服务,或因为执行错误控制指令导致设备损坏。
网络攻击行为对象NAO主要描述了攻击者在工业控制网络中目前控制的终端设备以及攻击者下一步的攻击目标。一个网络攻击行为对象可以表示为如下所示的四元组:
NAO={ID,Name,Shost,Ghost}。
其中:ID为攻击行为ID号;Name为攻击行为名称;Shost为攻击行为的起始节点对象,即目前攻击者所控制的终端设备;Ghost为攻击行为的目标节点,即攻击者下一步的攻击目标。
攻击描述模型中的攻击行为主要描述了工业控制系统中某终端设备节点内部发生的各种攻击行为,这些攻击使该终端设备中的状态发生变迁。
终端设备攻击行为变迁HAT中的攻击行为描述了网络中某终端设备上State中元素的转化关系,即终端设备节点中各终端设备状态并不是孤立的,而是有可能通过终端设备中的攻击行为相互转化。一次终端设备攻击行为可以表示为如下所示的三元组:
HAT={ID,Name,Host}。
其中,ID为攻击行为ID号;Name为攻击行为名称;Host为该攻击行为所在的终端设备。
攻击过程建模模块对于网络攻击描述模型的构造方式是自顶向下,逐步精细的。其顶层Petri网模型用于描述工业控制系统中各终端设备间的攻击先后关系,将终端设备作为Petri网中的对象,则顶层Petri网由终端设备对象及对象间的攻击行为对象组成。顶层Petri网上的对象内部可按各终端设备节点内部的攻击过程扩展为子Petri网。网络中的每个终端设备对象在遭受攻击后可呈现出两种状态,一种是可导致攻击过程变迁至另一终端设备节点的终端设备脆弱状态,该状态是攻击者要实现的主要攻击目标,或是为实现最终攻击目标需要在攻击路径上各终端设备节点实现的阶段性目标,在对象Petri网中,这些状态体现为表示各对象中状态的库所;另一种是对象内部的中间状态,这些状态是在对终端设备攻击时终端设备状态演变过程中的状态,在对象Petri网中,这些状态体现为各终端设备攻击过程子网中的普通库所。
在对象定义后,针对任一组有关联关系的安全事件进行攻击描述模型的建立包括:
第一步、确定该组有关联关系的安全事件的链路层信息确定所对应的终端设备,作为对象Petri网的对象。
假设一组有关联的安全事件共7件,分别为安全事件1、安全事件2、安全事件3、安全事件4、安全事件5、安全事件6和安全事件7;该7件安全事件对应3个终端设备,终端设备A、终端设备B和终端设备C,即使用安全事件对应的链路层信息中的源MAC地址和目的MAC地址确定对应的终端设备。
确定的三个终端设备作为对象Petri网中的对象,分别为对象A、对象B和对象C。
第二步、根据安全事件的网络层信息确定存在攻击行为的两个终端设备,建立顶层对象Petri网。
假设存在3个安全事件(安全事件1、安全事件2、安全事件3),是三个设备之间的安全事件。这三个安全事件的网络层信息中的源IP地址和目的IP地址确定是两个设备之间的攻击行为,还是设备内部的攻击行为。
参见图3,图3为本申请实施例中建立的顶层对象Petri网的示意图。图3中变迁T1相关的事件为事件1,对应的安全事件为对象A和对象B之间的事件1;变迁T2相关事件为事件2,变迁T3相关事件为事件3。
第三步、针对每个终端设备根据安全事件的网络层信息确定是否存在节点内的攻击行为,如果存在,识别出攻击过程中该终端设备的脆弱性和中间状态。
假设根据安全事件的网络层信息(源IP地址和目的IP地址)确定事件4、事件5、事件6和事件7是发生在节点内的攻击行为,即终端设备B(对象)的内部发生事件。
第四步、将识别出的终端设备的脆弱状态和中间状态作为子网的库所,构建终端设备内部攻击过程的对象Petri网。
参见图4,图4为本申请实施例中建立对象B的内部攻击行为示意图。图4中变迁T4对应两个事件,分别为:事件4和事件5,变迁T5对应事件6,变迁T6对应事件7。对象B中存在一个对象B1,对象B1(被攻击或攻击对象,为对象B内的一个功能模块)对应四个状态(库所),与对象B的三个状态(库所)相关。
当所有安全事件均在对象Petri网中体现,完成攻击描述模型的建立。
综上所述,本申请通过基于协议深度解析、网络事件聚合、安全事件关联、网络攻击建模等技术,能够在发现网络中出现的各类安全事件的同时,将彼此间存在因果关系的安全事件进行关联,从而构建出攻击者的攻击过程,建立攻击模型,并于采取针对性措施进行反制并对攻击者的攻击特征进行分析,为后续针对工业控制系统开展针对性的安全防护提供技术支持。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种工业控制系统威胁态势感知方法,其特征在于,所述方法包括:
获取工业控制系统中交互的数据包。
解析获取的数据包,获取数据包的应用层信息;
根据获取的应用层信息若确定该数据包对应网络事件,则记录该网络事件,以及该数据包的信息;
将记录的网络事件进行聚类,每类网络事件作为一个安全事件;
将存在因果关系的安全事件进行关联;
根据安全事件的关联关系建立工业控制系统对应的全网攻击描述模型,并显示。
2.根据权利要求1所述的方法,其特征在于,根据应用层信息确定数据是否对应网络事件,包括:
针对一数据包,若该数据包的应用层信息中的功能标识符和数据长度与对应应用层协议类型对应的功能标识符和数据长度不匹配,则确定该数据包对应网络事件;
针对一数据包,使用该数据包对应的应用层协议所采用的检测规则,对获取的数据内容进行匹配,若匹配成功,则确定该数据包对应网络事件。
3.根据权利要求1所述方法,其特征在于,所述解析获取的数据包时,所述方法进一步包括:
获取数据包的链路层信息、网络层信息、传输层信息;
所述数据包的信息包括:链路层信息、网络层信息、传输层信息和应用层信息。
4.根据权利要求3所述的方法,其特征在于,所述将记录的网络事件进行聚类,包括:
将evttype、srcip、dstip和dstprt均相同的网络事件聚为第一类;
将evttype、dstip和dstprt均相同且srcip不同的网络事件聚为第二类;
将evttype和srcip均相同且dstip和dstprt不全相同的网络事件聚为第三类;
不属于上述任一类的网络事件单独作为一类;
其中,evttype为网络事件的类型,srcip为网络事件的源IP地址,dstip为网络事件的目的IP地址,dstprt为网络事件的目的端口号。
5.根据权利要求4所述的方法,其特征在于,所述方法进一步包括:
当新增一网络事件时,确定该网络事件是否属于已存在的类,如果是,将该网络事件聚类到对应的类;否则,将该网络事件单独作为一类。
6.根据权利要求3所述的方法,其特征在于,确定安全事件之间是否存在因果关系,包括:
若两个安全事件之间存在时间上的先后关系,且前一个安全事件的发生是后一个安全事件发生的前提条件,则确定所述两个安全事件之间存在因果关系;否则,确定所述两个安全事件之间不存在因果关系。
7.根据权利要求6所述的方法,其特征在于,所述确定安全事件之间是否存在因果关系,包括:
使用基于谓词逻辑定义超安全事件类,描述一种安全事件类型要发生必须具备的前提条件及其发生后所产生的结果;
其中,超安全事件类HSE=(attr,pre,con),一个HSE类型的超安全事件实例HSEi是一个关于attr的有限元组的集合,其中,每一个元组都有一个开始时间begin_time和结束时间end_time,HSEi的前提条件集表示为P(HSEi),结果集表示为C(HSEi);
针对两个超安全事件HSE1和HSE2,若存在一谓词p∈P(HSE2),且存在谓词集合C∈C(HSE1),对于所有的c∈C,c的end_time小于p的begin_time,并且在C中的谓词都蕴含p,则HSE1的发生是HSE2发生的必要条件,HSE1与HSE2之间存在因果关系。
8.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
使用关联图CG=(N,E)表示安全事件之间的关联关系;其中,N是安全事件的集合,E是安全事件之间的边的集合;对于N中的两个安全事件N1和N2,若N1与N2存在关联关系,则N1与N2间存在一条边。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述建立全网攻击描述模型时使用对象Petri网实现。
10.根据权利要求9所述的方法,其特征在于,所述根据安全事件的关联关系建立工业控制系统对应的全网攻击描述模型,包括:
针对每组有关联关系的安全事件建立对象Petri网,包括:
确定该组有关联关系的安全事件的链路层信息确定所对应的终端设备,作为对象Petri网的对象;
根据安全事件的网络层信息确定存在攻击行为的两个终端设备,建立顶层对象Petri网;
针对每个终端设备根据安全事件的网络层信息确定是否存在节点内的攻击行为,如果存在,识别出攻击过程中该终端设备的脆弱性和中间状态;
将识别出的终端设备的脆弱状态和中间状态作为子网的库所,构建终端设备内部攻击过程的对象Petri网。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910443557.5A CN112003813A (zh) | 2019-05-27 | 2019-05-27 | 一种工业控制系统威胁态势感知方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910443557.5A CN112003813A (zh) | 2019-05-27 | 2019-05-27 | 一种工业控制系统威胁态势感知方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112003813A true CN112003813A (zh) | 2020-11-27 |
Family
ID=73461918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910443557.5A Pending CN112003813A (zh) | 2019-05-27 | 2019-05-27 | 一种工业控制系统威胁态势感知方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112003813A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112738089A (zh) * | 2020-12-29 | 2021-04-30 | 中国建设银行股份有限公司 | 一种复杂网络环境下的源ip自动回溯方法和装置 |
CN114598509A (zh) * | 2022-02-23 | 2022-06-07 | 烽台科技(北京)有限公司 | 一种确定脆弱性结果的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102638458A (zh) * | 2012-03-23 | 2012-08-15 | 中国科学院软件研究所 | 识别脆弱性利用安全威胁并确定相关攻击路径的方法 |
FR3005188A1 (fr) * | 2013-04-26 | 2014-10-31 | Univ Paris Curie | Suivi visuel d'objet |
-
2019
- 2019-05-27 CN CN201910443557.5A patent/CN112003813A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102638458A (zh) * | 2012-03-23 | 2012-08-15 | 中国科学院软件研究所 | 识别脆弱性利用安全威胁并确定相关攻击路径的方法 |
FR3005188A1 (fr) * | 2013-04-26 | 2014-10-31 | Univ Paris Curie | Suivi visuel d'objet |
Non-Patent Citations (1)
Title |
---|
李艺: "工业控制网络安全防御体系及关键技术研究", 《中国博士学位论文全文数据库》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112738089A (zh) * | 2020-12-29 | 2021-04-30 | 中国建设银行股份有限公司 | 一种复杂网络环境下的源ip自动回溯方法和装置 |
CN114598509A (zh) * | 2022-02-23 | 2022-06-07 | 烽台科技(北京)有限公司 | 一种确定脆弱性结果的方法及装置 |
CN114598509B (zh) * | 2022-02-23 | 2023-06-20 | 烽台科技(北京)有限公司 | 一种确定脆弱性结果的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9729582B2 (en) | Methods, systems, and computer readable media for generating software defined networking (SDN) policies | |
US20050240989A1 (en) | Method of sharing state between stateful inspection firewalls on mep network | |
US9356844B2 (en) | Efficient application recognition in network traffic | |
US10567384B2 (en) | Verifying whether connectivity in a composed policy graph reflects a corresponding policy in input policy graphs | |
EP3905622A1 (en) | Botnet detection method and system, and storage medium | |
KR20020092972A (ko) | 패킷 필터링과 프로세싱을 가속화하는 시스템, 장치 및방법 | |
CN109286511B (zh) | 数据处理的方法及装置 | |
US11824834B1 (en) | Distributed firewall that learns from traffic patterns to prevent attacks | |
CN112383538A (zh) | 一种混合式高交互工业蜜罐系统及方法 | |
CN112003813A (zh) | 一种工业控制系统威胁态势感知方法 | |
CN111193640B (zh) | 采用策略分解和符号执行的有状态数据平面故障检测方法 | |
CN111698110B (zh) | 一种网络设备性能分析方法、系统、设备及计算机介质 | |
JP7156642B2 (ja) | 同定処理装置、同定処理プログラム及び同定処理方法 | |
CN110912887A (zh) | 一种基于Bro的APT监测系统和方法 | |
CN112910825B (zh) | 一种蠕虫检测方法及网络设备 | |
Cheng et al. | A new approach to designing firewall based on multidimensional matrix | |
CN112511523A (zh) | 一种基于访问控制的网络安全控制方法 | |
Alsmadi et al. | Model-based testing of SDN firewalls: a case study | |
CN108650274B (zh) | 一种网络入侵检测方法及系统 | |
EP4072066A1 (en) | Method for automatic derivation of attack paths in a network | |
US11765088B2 (en) | Method and system for processing data flow with incomplete comparison process | |
Shu et al. | A formal methodology for network protocol fingerprinting | |
KR20230062166A (ko) | 방화벽 정책 최적화 방법 및 그 장치 | |
CN110808972B (zh) | 数据流识别方法及装置 | |
CN112565259A (zh) | 过滤dns隧道木马通信数据的方法及装置 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20201127 |