基于隐马尔可夫和概率推断的入侵意图识别系统及方法与流程

文档序号:11920220阅读:368来源:国知局
基于隐马尔可夫和概率推断的入侵意图识别系统及方法与流程

本发明属于计算机安全技术领域,涉及入侵意图识别,特别是基于时序关系与不确定性信息的入侵有意图识别方法。



背景技术:

随着计算机网络的发展,数据量呈几何级数增长。大数据环境下数据存储和网络接入方式使得网络攻击的成本更低、收益更高。现有的入侵意图识别方法难以模拟真实的攻击场景,进而对其意图进行有效识别和预测。因此,需要从大量攻击事件背后寻求隐藏的因果关系,基于攻击指向性,提取攻击意图。

对攻击者的攻击意图进行有效提取及预测,是有效评估安全事态感知的关键所在。近年来有些专家学者采用博弈的思想,以博弈双方的单步策略和收益来分析判断攻击意图。该方法对于确定的单纯的攻击者意图有一定的效果,但难以识别多攻击源复合、多步实施、不确定性的攻击意图。并且随着参加博弈者数量的增加,算法的效率及其实时性也大大降低。

专利200910080853.X“一种基于概率推理的网络入侵意图识别方法”基于层次意图识别和概率推理提出了一种识别多步攻击意图的方法。该方法最主要的贡献是提出了层次化的识别模型来进行概率推理计算。但该方法在运用人工智能理论的同时,依据了专家的知识和经验。由于所选取的专家的知识范围有限,不可避免引入了专家的主观性,导致虚警和误报。

由于网络环境复杂、入侵特征粒度不易确定从底层大量的报警信息中提取因果时序相关的复合攻击场景,是一项难题。此外,在入侵环境中攻击者会千方百计地躲避甚至干扰识别,其次根据被攻击目标的反映不同,攻击者可采取动态的多目标攻击,有时甚至是多个攻击者协作攻击。

众多研究表明攻击事件间最本质的逻辑联系是因果关系,即时间上的顺序性以及实施上的不确定性。基于上述特点,本发明使用概率来定性和定量分析复杂攻击内涵的因果关系。尽管大部分的方法都考虑了复合攻击攻击步骤间的因果关系,却忽略了两个攻击时间和空间的关系。如果考虑加入时间因素的动态贝叶斯网,模型完全满足推理的所有逻辑要求。时间因素的引入也有利于解决因果循环问题,将极大扩展贝叶斯网络在入侵检测领域能解决的范围。而隐马尔可夫模型就是最简单的动态贝叶斯网络模型。因此,使用隐马尔可夫来形式化攻击间的时序关系,再使用因果关系加以推断,能够更好地逼近真实的攻击场景。



技术实现要素:

本发明旨在解决以上现有技术的问题。提出了一种逼近真实攻击场景的有效入侵意图识别方法。由于复合攻击具有明显的时序特征,将其引入到模型参数的学习中,能使模型更加准确可靠的基于隐马尔可夫和带环置信度的入侵意图识别系统及方法。本发明的技术方案如下:

一种基于隐马尔可夫和带环置信度的入侵意图识别系统,其包括入侵数据获取模块、攻击模型构建模块、模型参数训练模块及预测分析模块,其中入侵数据获取模块用于获取入侵数据源;攻击模型构建模块,用于构建攻击模型,所述攻击模型分为三层节点,分别是攻击事件层、子目标层以及意图层,首先,对源IP地址,目的IP地址及报警类型相同,但攻击时间不同的报警聚合成超级报警,删除重复报警;其次,根据超级报警之间的时序关系关联超级报警并提取报警序列,并计算隶属度归并到较高目标层中;最后,提取三种节点之间的关系,建立层次贝叶斯网络,从纵向和横向表示其相互之间的因果关系;模型参数训练模块,用于将子目标层作为观测集,进而将意图层作为隐状态,子目标层和意图层抽象为隐马尔可夫模型,进行模型参数估计,输入观察到的攻击子目标序列集,输出模型λ=(A,B,π),其中A为状态转移矩阵,B是混淆矩阵,π为意图初始概率;预测分析模块,用带环的置信度传播算法来预测得到不同事件序列下产生多意图的概率。

进一步的,入侵数据获取模块用于获取的入侵数据源为MIT林肯实验室的入侵检测公开数据集DARPA1999,DARPA 1999评测数据给出了3周带有攻击的模拟数据,包含了属于58种类型的201次攻击实例,其中40种攻击类型并没有在第二周的训练数据中出现,属于新的攻击类型。

进一步的,所述攻击模型构建模块构建包括以下步骤:建立数据库,包括攻击表、事件知识表、目标知识表、事件目标映射表、目标链表和统计表;

隶属度计算,扫描目标库,提取事件目标映射关系,找到对应目标集合;计算新攻击事件目标,并更新事件映射表。

根据事件映射表,得到事件空间样本集,子目标空间样本集,以及攻击意图空间样本集,建立层次化的贝叶斯网络。依次是底层为安全事件层,中间层为子目标层,顶层为攻击意图层。

进一步的,所述模型参数训练模块将子目标层使用Baum-Welch算法对层次贝叶斯网络进行模型参数估计。

进一步的,所述预测分析模块通过训练出的隐马尔可夫模型参数,还可以得出不同意图之间的状态转移,通过预测后的结果集,也可得到当前意图发生下的并发意图预测。

一种基于所述系统的隐马尔可夫和带环置信度的入侵意图识别方法,其包括以下步骤:

获取入侵数据源,所述入侵数据源为MIT林肯实验室的入侵检测公开数据集DARPA1999,DARPA 1999评测数据给出了3周带有攻击的模拟数据,包含了属于58种类型的201次攻击实例,其中40种攻击类型并没有在第二周的训练数据中出现,属于新的攻击类型;

提取节点因果关系,建立模型,对DARPA1999数据包分析提取攻击表,从攻击事件、攻击子目标、攻击意图三方面来提取因果关系,建立层次贝叶斯网络;

训练模型,根据复合攻击的时序特征,对训练数据建立子目标链集合,用以学习模型参数,即意图与子目标的条件概率矩阵以及意图转移概率矩阵,使用Baum-Welch算法来迭代计算矩阵参数值,直到算法收敛为止;

预测和分析过程,对于已建立的带参的层次贝叶斯网络,同一层间可能带环,因此使用带环的置信度传播算法来得到不同事件序列下产生多意图的概率。

进一步的,所述提取因果关系,建立层次贝叶斯网络建立的数据库包括攻击表、事件知识表、目标知识表、事件目标映射表、目标链表和统计表。

本发明的优点及有益效果如下:

本发明提供一种逼近客观真实攻击场景的有效入侵意图识别方法,在层次化识别模型的基础上,引入复合攻击的时序特征,通过算法训练逼近来代替专家知识库从而克服主观性,使得意图识别分析更为全面可靠。同时,引入概率图模型算法来优化原有算法单一概率输出的问题。

附图说明

图1是本发明提供优选实施例隐马尔可夫和带环置信度的入侵意图识别方法总体流程图。

图2是本发明的预测模型图。

图3是本发明的Baum-Welch算法示意图。

图4是本发明的学习算法流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。

本发明解决上述技术问题的技术方案是,

如图1所示为本发明的总体流程图,包括:入侵数据获取模块、攻击模型构建模块、模型参数训练模块及预测分析模块,其中入侵数据获取模块用于获取入侵数据源;攻击模型构建模块,用于构建攻击模型,所述攻击模型分为三层节点,分别是攻击事件层、子目标层以及意图层,首先,对源IP地址,目的IP地址及报警类型相同,但攻击时间不同的报警聚合成超级报警,删除重复报警;其次,根据超级报警之间的时序关系关联超级报警并提取报警序列,并计算隶属度归并到较高目标层中;最后,提取三种节点之间的关系,建立层次贝叶斯网络,从纵向和横向表示其相互之间的因果关系;模型参数训练模块,用于将子目标层作为观测集,进而将意图层作为隐状态,子目标层和意图层(对否)抽象为隐马尔可夫模型,进行模型参数估计,输入观察到的攻击子目标序列集,输出模型λ=(A,B,π),其中A为状态转移矩阵,B是混淆矩阵,π为意图初始概率;预测分析模块,用带环的置信度传播算法来预测得到不同事件序列下产生多意图的概率。具体说明本发明的详细实施过程,包括如下四个步骤:

S1:获取数据源。数据源为MIT林肯实验室的入侵检测公开数据集DARPA1999。DARPA 1999评测数据给出了3周带有攻击的模拟数据,包含了属于58种类型的201次攻击实例,其中40种攻击类型并没有在第二周的训练数据中出现,属于新的攻击类型。

S2:提取节点因果关系,建立模型。对DARPA1999数据包分析提取攻击表。从攻击事件、攻击子目标、攻击意图三方面来提取因果关系,建立层次贝叶斯网络。

S3:训练模型,根据复合攻击的时序特征,对训练数据建立子目标链集合,用以学习模型参数,即意图与子目标的条件概率矩阵以及意图转移概率矩阵。使用Baum-Welch算法来迭代计算矩阵参数值,直到算法收敛为止。

S4:预测和分析过程。对于已建立的带参的层次贝叶斯网络,同一层间可能带环,因此使用带环的置信度传播算法(LBP)来得到不同事件序列下产生多意图的概率。

上述步骤S1获取数据源,提取相关属性。主要分以下2个步骤。

S11:获取数据。从林肯实验室获取DAPPA1999数据源。

S12:对数据进行时间分片。可根据数据特点,对时间周期进行具体划分。T={1,2,3,…,t,t+1,…},在每个时间周期里,对警报事件建立具有时序关系的观测序列集。

上述步骤S2提取因果关系,建立模型。主要分以下3个步骤。

S21:建立数据库。包括攻击表、事件知识表、目标知识表、事件目标映射表、目标链表和统计表。

攻击表中存放攻击时间、攻击事件名称、受害主机域名等。

事件知识表中存放事件名称、攻击时间、源IP地址、目标IP地址以及其对应的前提集和后果集,攻击事件属性等。

目标知识表中存放目标名称、前提集和后果集、目标属性等。

事件映射表包括事件名称和目标名称,用于描述事件与目标之间的对应关系。

统计表用于存放历史数据,包括目标发生的次数,该目标与其他目标构成的目标链次数。

目标链表存放观测序列集合,由攻击事件时间切片,通过隶属映射到目标时序关系。假设Gi,Gj是时间片段i,j时的目标,i<j,当且仅当:即Gj的前提条件集中的某一元素p为Gi的后果集中的元素,记作:Gi→Gj

S22:隶属度计算。扫描目标库,根据得到的事件攻击序列,对于某个特定的事件Ei在不同序列中,根据其前驱后驱不同,隶属的子目标也可能是不同的。具体步骤为:

1.对于每一个安全报警事件提取时间、名称、源目标IP地址、目标IP地址,实例化为安全事件对象Ei。对未知事件更新事件知识表。

2.扫描目标库,提取事件目标映射关系,找到对应目标集合。

1)过滤目标待选集。

遍历事件目标映射表,找到事件E对应目标待选集合:

E→G∈{G1,G2,G3...GN}

同理,找到其前驱事件对应目标集合,以及该集合下的目标链后继集合

Epior→G′∈{G1′,G2′,G3′...G′N}

同理,找到其后继事件对应目标集合,以及该集合下的目标前驱集合

Erear→G″∈{G1″,G2″,G3″...G″N}

根据目标链知识表剔除不符合目标知识的目标,得到约简后的备选目标集合:

若无前驱或者后驱则直接进行下一步。

2)对待选目标计算隶属度,具体如下:

假设Ei,Gj分别为事件和目标,则事件Ei隶属于目标Gj的隶属度为:

其中,δk为事件Ei和目标Gj的第k个属性的相似程度,αk为各个属性的权值,m为属性个数。属性主要选取事件的后果集和目标的后果集中的元素。权值依属性的重要性根据经验给定。

3)得到隶属度最大的目标进行归并。

将D(Ei,Gj)按大小排序,取D(Ei,Gj)MAX中的Gj作为目标归并。

3.计算新攻击事件目标,并更新事件映射表,具体步骤如下:

1)遍历事件知识表,计算攻击事件相似度

其中,δk为事件Ei和事件Ej的第k个属性的相似程度,m为属性个数。

2)得到相似事件集合,进而得到其对应备选目标集合

给定一个阈值S0,当S(E0,Ei)≥S0时,将Ei加入E0的相似事件集合。进而遍历事件映射表,计算相似事件集合对应的备选目标集合。

3)更新事件映射表

对2)中得到的备选目标集合与1)中的新攻击攻击事件建立事件映射表。

接着执行1-2步骤,直到当前时间片段所有事件归并完毕。

S23:建立模型。根据事件映射表,得到事件空间样本集,子目标空间样本集,以及攻击意图空间样本集,建立层次化的贝叶斯网络。依次是底层为安全事件层,中间层为子目标层,顶层为攻击意图层。

各层层内关系为横向时间逻辑关系,除事件层。子目标层各边关系表示为EdgeG∈<Gi,Gj>,表示Gi是Gj的前提集,Gj是Gi的后果集;意图层各边关系表示为EdgeI∈<Ii,Ij>,表示Ii是Ij的前提集,Ij是Ii的后果集;

各层层间关系表示为纵向隶属因果关系。安全事件层与子目标层层间关系为,事件隶属于子目标关系Ei∈Gj。子目标层与攻击意图层层间关系为,子目标隶属攻击意图关系Gj∈Ik

上述步骤S3训练模型,模型图如图2预测模型图所示。具体算法流程图如图4所示主要分以下7步骤。

S31:如图2右边所示,对已建立好的HBN,提取上两层建立隐马尔可夫模型。其中意图层作为隐藏状态层,子目标层作为观测序列层。

S32:定义中间变量,定义aij,bj(k),πi主要分为以下3个步骤。

1.定义局部变量

1)定义前向变量αt(i),如下式(1)所示:

αt(i)=P(G1G2...Gt,It=Si|λ) 式(1)

表示t时刻前子目标观测序列与隐藏意图It=Si在当前模型下的局部变量。

2)定义后向变量βt(i),如下式(2)所示:

βt(i)=P(Gt+1Gt+2...GT|It=Si,λ) 式(2)

表示t时刻后子目标观测序列在当前模型下且t时刻隐藏意图It=Si的局部变量。

2.定义中间变量

γt(i)=P(It=Si|G,λ) 式(3)

1)定义t时刻,隐藏意图It=Si的概率变量,如下式(3)所示:

将(3)式用前向、后向变量表示,如下式(4)所示:

其中,分母的作用是确保:

2)定义t时刻隐藏意图It=Si及t+1时刻隐藏It+1=Sj的概率变量

ξt(i,j)=P(It=Si,It+1=Sj|G,λ) 式(5)

如下式(5)所示:

如图3所示,表示对ξt(i,j)从t=1到t=T-1在时间轴上求和,该和被解释为从隐藏意图It=Si到隐藏意图It+1=Sj的状态转移期望值。其中aij表示从隐藏意图It=Si到隐藏意图It+1=Sj的转移概率,bj(O+1)表示在隐藏意图It=Sj的条件下出现子目标观测数据G+1的概率。将(5)式用前向、后向变量表示,如下式(6)所示:

可以被解释为从隐藏意图Gt=Si出发的状态转移期望值。其中γt(i),与ξt(i,j)之间的关系为

3.利用中间变量及其期望来重新估计隐马尔可夫模型参数π,A,B。

πi=γt(i) 式(7)

πi表示状态It=Si在时间t=1时刻的期望频率。

aij表示从隐藏意图It=Si到隐藏意图It+1=Sj的转移概率。其中,分子表示出现从隐藏意图It=Si到隐藏意图It+1=Sj的期望转移次数,分母表示出现从隐藏意图It=Si出发的转移概率期望次数。

bj(k)表示在隐藏意图It=Sj的条件下,子目标观测数据Gt=Vk的条件概率。其中,分子表示出现隐藏意图It=Sj且子目标观测数据Gt=Vk的期望次数。分母表示出现隐藏意图It=Sj的期望次数。

S33初始化aij(0),bj(k)(0)i(0),对n=0,选取aij(0),bj(k)(0)i(0),得到模型λ(0)=(A(0),B(0),π(0))。

S34利用Baum-Welch算法迭代计算A(n+1),B(n+1)(n+1)

S35输入子目标观测数据G=(G1,G2,...,GT)。递推,对于n=1,2...

πt(n+1)=γt(i) 式(12)

右端各值按子目标观测序列G=(G1,G2,G3,...,GT)和模型λ(n)=(A(n),B(n)(n))计算。式中γt(i),ξt(i,j)由上述式(4)~式(6)给出。

S36算法终止条件为达到给定迭代上限值,或参数λ(n)=(A(n),B(n)(n))收敛。

收敛条件可根据迭代前后两次参数的差值平方小于某个阀值。如下式(13)

λnn+1<ε 式(13)

所示:

S37得到模型参数λ(n+1)=(A(n+1),B(n+2)(n+1))。

上述步骤S4预测分析过程。

S41:经过步骤S3后训练后的预测模型,输入测试数据即可得出条件概率P(intention|evidences),即在不同安全事件序列下某个意图发生的概率。本算法可给出多个意图及其概率排序。具体步骤如下:

1.初始化参数

1)初始化为1,其中λi为某个安全事件发生概率。

2)更新表示从父节点x传给子节点Zj的消息。

3)计算π(x),计算所有从所有父节点得到的消息的加权值

2.根据观测值重新计算,达到稳定状态

1)更新λXi),表示从子节点x传给父节点ωi的消息。

2)在1)的基础上,更新同上式(14)

3)计算x节点所有子节点传来的消息λ(x)

4)更新π(x),如上式(15)

5)根据得到的π(x)和λ(x)计算BEL(x)

BEL(x)=αλ(x)π(x) 式(18)

S42:通过训练出的隐马尔可夫模型参数,还可以得出不同意图之间的状态转移。同时,通过预测后的结果集,也可得到当前意图发生下的并发意图预测。

本发明从复合攻击的时序关系与隐藏意图的不确定性出发,提出一种基于隐马尔可夫和带环置信度传播入侵意图识别模型。该方法为静态贝叶斯网络加上了一层时间因素,能够动态地预测入侵意图。此外,还引入了带环的置信度传播算法,来修正入侵检测因果互推,带环的问题。

以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1