一种基于信息熵的子图模糊匹配安全事件识别方法与流程

文档序号:28380907发布日期:2022-01-07 23:00阅读:81来源:国知局
一种基于信息熵的子图模糊匹配安全事件识别方法与流程

1.本发明属于网络安全技术领域,尤其涉及一种基于信息熵的子图模糊匹配安全事件识别方法。


背景技术:

2.安全事件识别主要是从海量、离散、多源的告警事件中,通过对告警事件间的关联分析、隐含关系挖掘等方法,还原复杂的攻击步骤。安全事件的识别主要负责实现对网络攻击事件执行步骤的还原,将能够表示复杂攻击场景的告警事件有序组合到一起。
3.目前,网络安全事件识别方法中,第一类方法是关于告警因果关系的挖掘,当前多数方法是基于单一告警进行因果关系的推断研判,针对攻击者日益复杂的攻击手段和多手段协同模式,基于单一来源的告警推断难以应对各类复杂多步攻击场景,并对告警的因果关系无法做出全面挖掘和深度分析;第二类方法是基于攻击图的事件识别方法,由于攻击图内部要素的相关性和攻击图数据规模庞大带来的分析效率低下问题,需要把攻击图拆分成路径集合,来减弱其对匹配知识数据的依赖性,但该类方法会给告警分析带来大量的复制开销,该类方法中告警的漏报和误报会带来大量冗余路径误报,且难以有效应对事件攻击图的局部更新情况。


技术实现要素:

4.针对网络空间日益复杂的攻击行为、海量告警关系挖掘中告警的漏报和误报,以及攻击行为关联图计算效率低的问题,本发明公开了一种基于信息熵的子图模糊匹配安全事件识别方法。
5.本发明公开了一种基于信息熵的子图模糊匹配安全事件识别方法,其具体步骤包括:
6.s1,告警事件语义图模型构建;获取告警事件,定义告警事件的基本语义要素,构建告警事件语义图模型,告警事件语义图模型基于告警事件的六元组来进行构建,告警事件语义图模型包括节点和连接边,每个节点分别表示告警事件的具体六元组的值,连接边表示具体六元组与告警事件的所属关系,告警事件基本语义要素用于告警事件标签的定义和告警事件之间关系权重值的计算;告警事件的基本语义要素为告警事件名称、属性集合、告警事件类型、前提事件、结果事件和告警事件发生时间的集合,告警事件的表达式为六元组alert={name,proset,type,precond,posteff,time},其中,name表示告警事件名称,type表示告警事件类型,precond和postef分别表示告警事件发生的前提事件和结果事件,time表示告警事件发生时间,属性集合proset表示为proset=《s,t,a,v》,其中,s表示攻击源(source),t表示攻击目标(target),a表示攻击工具(attacker),v表示脆弱点(vulnerability)。告警事件语义图模型中各连接边上的权重值为属性关联时间窗t,属性关联时间窗表示告警事件的发生时间time与告警事件的其他各属性值的采集时间的时间差。
7.s2,告警事件格式化处理;将获取的各类告警事件,通过数据解析处理,转化为告警事件的六元组表达式形式,作为后续告警事件关联图构建的告警事件数据输入。
8.s3,定义告警事件关联图;告警事件关联图表达为二元组g=(v,e),其中,集合v={v1,v2,...,vn},集合v表示告警事件关联图中的节点集合,v1,v2,...,vn表示告警事件关联图中的节点,n为告警事件关联图中节点的数目,集合e={e1,e2,...,em},集合e表示告警事件关联图中的连接边集合,e1,e2,...,em表示告警事件关联图中的连接边,m为告警事件关联图中连接边的数目。将一个告警事件定义为告警事件关联图中一个节点,将告警事件之间的关系作为告警事件关联图中的连接边,基于告警事件之间的多维相似性关系、前序关系和后续关系,构建告警事件关联图的各个节点之间的连接边。其中,所述的前序关系是指某一告警事件为当前告警事件的前提事件(precond),且该两个告警事件发生时间(time)属性值的差值在固定的阈值范围内;所述的后续关系是指某一告警事件为当前告警事件的结果事件(postef),且该两个告警事件发生时间(time)属性值的差值在固定的阈值范围内;所述的多维相似性关系是指两个告警事件的属性集合(proset)和告警事件类型type具体值的相似程度,以及告警事件发生时间(time)属性值的差值。
9.s4,将新输入的告警事件添加到告警事件关联图中;对新输入到告警事件关联图中的告警事件,基于告警事件的前提事件(precond)、结果事件(postef)和告警事件发生时间(time),通过计算当前告警事件与事件关联图中告警事件之间的前序关系和后续关系,得到与该新输入告警事件具有前序关系和后续关系的告警事件;基于告警事件的属性集合(proset)、告警事件类型(type)和告警发生时间(time),通过计算当前告警事件与事件关联图中告警事件之间的多维相似性关系,得到与该新输入告警事件具有多维相似性关系的告警事件。其中,两件告警事件之间多维相似关系的计算,具体包括两件告警事件的告警事件类型type、攻击源s、攻击目标t、攻击工具a、脆弱点v的相似程度的计算。
10.s5,构建安全事件语义图模型;安全事件语义图模型表示为二元组g'=(v',e'),其中,集合v'={v'1,v'2,...,v'n},集合v

表示安全事件语义图模型中的告警事件节点的集合,集合e'={e'1,e'2,...,e'n},集合e

表示安全事件语义图模型中的连接边。将告警事件作为安全事件语义图模型中的节点,将各告警事件之间的多维相似性关系、前序关系和后续关系作为安全事件语义图模型中的连接边,完成安全事件语义图模型的构建,利用该安全事件语义图模型表示一次完整的安全事件。根据安全事件语义图模型和告警事件关联图中告警事件之间的关联关系,构建已知典型安全事件的事件语义图模型,作为安全事件识别的种子集合,利用已知典型安全事件的事件语义图模型来构建安全事件语义图模型库;
11.s6,基于信息熵的子图模糊匹配安全事件递归识别;利用安全事件语义图模型库中的安全事件语义图模型构成安全事件语义图模型集合,作为从告警事件关联图中识别安全事件的初始种子集合,采用基于信息熵的子图模糊匹配安全事件识别方法,从告警事件关联图中识别安全事件,完成第一轮的安全事件的识别;然后利用新识别的安全事件,构建相应的安全事件语义图模型,将该安全事件语义图模型作为新的安全事件语义图模型集合,完成安全事件语义图模型集合的更新,并将该更新的安全事件语义图模型集合重新作为种子集合,采用基于信息熵的子图模糊匹配安全事件识别方法,继续从告警事件关联图中识别安全事件,重复以上步骤,直至无法从当前的告警事件关联图中识别出新的安全事
件为止。
12.步骤s6所述的基于信息熵的子图模糊匹配安全事件识别方法,采用子图匹配方法对已知安全事件的安全事件语义图模型与告警事件关联图所包含的告警事件关联子图进行子图局部匹配,在子图匹配过程中,在告警事件关联图中,优先选择其中条件熵最大的告警事件节点参与局部匹配,在告警事件关联图中,获取与已知安全事件的安全事件语义图模型局部匹配的告警事件关联子图,计算该告警事件关联子图中所有节点的条件熵的累加值,当计算获得的条件熵累加值高于每个已知安全事件下的所有告警事件节点条件熵的累加值时,将该告警事件关联子图识别为新的安全事件。
13.所述的告警事件关联子图,为告警事件关联图的子集,是将安全事件按照告警事件关联图的定义模式进行表示,具体为将安全事件下的每一个告警事件按照告警事件语义图模型进行表示,将安全事件下的告警事件之间的前序关系、后续关系和多维相似性关系按照告警事件关联图中的定义进行表示。
14.所述的告警事件关联子图或安全事件语义图模型的告警事件节点的条件熵的计算,x表示告警事件关联子图或安全事件语义图模型的某一告警事件节点,x1,x2,...,xi表示告警事件节点x的相邻节点中与其具有前序关系、后续关系和多维相似性关系的i个节点,告警事件节点x的条件熵的计算公式为:
15.h(x/x1x2...xi)=h(x1/x)+h(x2/x)+...+h(xi/x),
16.其中,h(x/x1,x2,...,xi)表示在节点x1,x2,...,xi的条件下的节点x的条件熵,也即节点x的信息熵,h(xi/x)、h(x1/x)、h(x2/x)分别表示在节点x的条件下节点x1、x2和xi的条件熵。
17.本发明的有益效果为:
18.本发明方法综合应用告警的图关联关系中有价值的关联信息进行联动推断,进一步提升多步攻击和关联告警的挖掘能力以及降低误报率,并利于基于信息熵的子图模糊匹配算法,实现了网络安全事件的快速感知识别。
附图说明
19.图1为本发明的告警事件语义图模型;
20.图2为本发明的安全事件识别流程图。
具体实施方式
21.为了更好的了解本发明内容,这里给出一个实施例。
22.本发明公开了一种基于信息熵的子图模糊匹配安全事件识别方法,其具体步骤包括:
23.s1,告警事件语义图模型构建;获取告警事件,定义告警事件的基本语义要素,构建告警事件语义图模型,告警事件语义图模型基于告警事件的六元组来进行构建,告警事件语义图模型包括节点和连接边,每个节点分别表示告警事件的具体六元组的值,连接边表示具体六元组与告警事件的所属关系,告警事件基本语义要素用于告警事件标签的定义和告警事件之间关系权重值的计算,如图1所示;告警事件的基本语义要素为告警事件名称、属性集合、告警事件类型、前提事件、结果事件和告警事件发生时间的集合,告警事件的
表达式为六元组alert={name,proset,type,precond,posteff,time},其中,name表示告警事件名称,type表示告警事件类型,precond和postef分别表示告警事件发生的前提事件和结果事件,time表示告警事件发生时间,属性集合proset表示为proset=《s,t,a,v》,其中,s表示攻击源(source),t表示攻击目标(target),a表示攻击工具(attacker),v表示脆弱点(vulnerability)。告警事件语义图模型中各连接边上的权重值为属性关联时间窗t,属性关联时间窗表示告警事件的发生时间time与告警事件的其他各属性值的采集时间的时间差。
24.s2,告警事件格式化处理;将获取的各类告警事件,通过数据解析处理,转化为告警事件的六元组表达式形式,作为后续告警事件关联图构建的告警事件数据输入。
25.s3,定义告警事件关联图;告警事件关联图表达为二元组g=(v,e),其中,集合v={v1,v2,...,vn},集合v表示告警事件关联图中的节点集合,v1,v2,...,vn表示告警事件关联图中的节点,n为告警事件关联图中节点的数目,集合e={e1,e2,...,em},集合e表示告警事件关联图中的连接边集合,e1,e2,...,em表示告警事件关联图中的连接边,m为告警事件关联图中连接边的数目。将一个告警事件定义为告警事件关联图中一个节点,将告警事件之间的关系作为告警事件关联图中的连接边,基于告警事件之间的多维相似性关系、前序关系和后续关系,构建告警事件关联图的各个节点之间的连接边。其中,所述的前序关系是指某一告警事件为当前告警事件的前提事件(precond),且该两个告警事件发生时间(time)属性值的差值在固定的阈值范围内;所述的后续关系是指某一告警事件为当前告警事件的结果事件(postef),且该两个告警事件发生时间(time)属性值的差值在固定的阈值范围内;所述的多维相似性关系是指两个告警事件的属性集合(proset)和告警事件类型type具体值的相似程度,以及告警事件发生时间(time)属性值的差值。
26.s4,将新输入的告警事件添加到告警事件关联图中;对新输入到告警事件关联图中的告警事件,基于告警事件的前提事件(precond)、结果事件(postef)和告警事件发生时间(time),通过计算当前告警事件与事件关联图中告警事件之间的前序关系和后续关系,得到与该新输入告警事件具有前序关系和后续关系的告警事件;基于告警事件的属性集合(proset)、告警事件类型(type)和告警发生时间(time),通过计算当前告警事件与事件关联图中告警事件之间的多维相似性关系,得到与该新输入告警事件具有多维相似性关系的告警事件。其中,两件告警事件之间多维相似关系的计算,具体包括两件告警事件的告警事件类型type、攻击源s、攻击目标t、攻击工具a、脆弱点v的相似程度的计算。两件告警事件之间多维相似关系的计算,在具体实现过程中,采用并发检索架构,计算多组输入告警事件与告警事件关联图中已有告警事件的前序关系、后续关系和多维相似性关系,获取每条新输入告警事件与告警事件关联图中已存在告警事件之间的关联关系,实现对新输入告警事件的高效接入添加,完成告警事件关联图的更新。
27.s5,构建安全事件语义图模型;安全事件语义图模型表示为二元组g'=(v',e'),其中,集合v'={v'1,v'2,...,v'n},集合v

表示安全事件语义图模型中的告警事件节点的集合,集合e'={e'1,e'2,...,e'n},集合e

表示安全事件语义图模型中的连接边。将告警事件作为安全事件语义图模型中的节点,将各告警事件之间的多维相似性关系、前序关系和后续关系作为安全事件语义图模型中的连接边,完成安全事件语义图模型的构建,利用该安全事件语义图模型表示一次完整的安全事件。根据安全事件语义图模型和告警事件关联
图中告警事件之间的关联关系,构建已知典型安全事件的事件语义图模型,作为安全事件识别的种子集合,利用已知典型安全事件的事件语义图模型来构建安全事件语义图模型库;
28.s6,基于信息熵的子图模糊匹配安全事件递归识别;利用安全事件语义图模型库中的安全事件语义图模型构成安全事件语义图模型集合,作为从告警事件关联图中识别安全事件的初始种子集合,采用基于信息熵的子图模糊匹配安全事件识别方法,从告警事件关联图中识别安全事件,完成第一轮的安全事件的识别;然后利用新识别的安全事件,构建相应的安全事件语义图模型,将该安全事件语义图模型作为新的安全事件语义图模型集合,完成安全事件语义图模型集合的更新,并将该更新的安全事件语义图模型集合重新作为种子集合,采用基于信息熵的子图模糊匹配安全事件识别方法,继续从告警事件关联图中识别安全事件,重复以上步骤,直至无法从当前的告警事件关联图中识别出新的安全事件为止,如图2所示。
29.步骤s6所述的基于信息熵的子图模糊匹配安全事件识别方法,采用子图匹配方法对已知安全事件的安全事件语义图模型与告警事件关联图所包含的告警事件关联子图进行子图局部匹配,在子图匹配过程中,在告警事件关联图中,优先选择其中条件熵最大的告警事件节点参与局部匹配,在告警事件关联图中,获取与已知安全事件的安全事件语义图模型局部匹配的告警事件关联子图,计算该告警事件关联子图中所有节点的条件熵的累加值,当计算获得的条件熵累加值高于每个已知安全事件下的所有告警事件节点条件熵的累加值时,将该告警事件关联子图识别为新的安全事件。
30.所述的告警事件关联子图,为告警事件关联图的子集,是将安全事件按照告警事件关联图的定义模式进行表示,具体为将安全事件下的每一个告警事件按照告警事件语义图模型进行表示,将安全事件下的告警事件之间的前序关系、后续关系和多维相似性关系按照告警事件关联图中的定义进行表示。
31.所述的告警事件关联子图或安全事件语义图模型的节点的信息熵的计算,因为告警事件关联图中告警事件数量非常庞大,且每个告警事件节点之间的关系是复杂且未知,加之大多数告警事件节点之间的关系非常小,因此计算单个告警事件节点的信息熵没有实际意义,需要计算的是相邻节点之间的条件熵。x表示告警事件关联子图或安全事件语义图模型的某一告警事件节点,x1,x2,...,xi表示告警事件节点x的相邻节点中与其具有前序关系、后续关系和多维相似性关系的i个节点,则告警事件节点x的条件熵的计算公式为:
[0032][0033]
其中,告警事件关联图g中,任意一个告警事件xj的信息熵计算公式为h(xj)=-pjlog2(pj),pj表示当前告警事件xj的发生概率,因为告警事件关联图中告警事件节点数量非常庞大,可以认为x

∞,h(x)

0,由此可得,告警事件节点x的条件熵的计算公式为:
[0034]
h(x/x1x2...xi)=h(x1/x)+h(x2/x)+...+h(xi/x),
[0035]
其中,h(x/x1,x2,...,xi)表示在节点x1,x2,...,xi的条件下的节点x的条件熵,也即节点x的信息熵,h(xi/x)、h(x1/x)、h(x2/x)分别表示在节点x的条件下节点x1、x2和xi的条
件熵。
[0036]
以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1