基于马尔可夫链的网络攻击阶段统计和预测方法与流程

文档序号:24980396发布日期:2021-05-07 22:55阅读:284来源:国知局
基于马尔可夫链的网络攻击阶段统计和预测方法与流程

本发明属于网络安全技术领域,具体涉及一种在网络杀伤链中使用马尔可夫链对网络攻击阶段进行统计和预测的方法。



背景技术:

通常情况下,一次网络攻击是由多个攻击阶段组成的,其中,上一个阶段的成功才能触发下一个阶段;而一个阶段的失败就意味着整个攻击的失败。如果网络攻击探测全面并且准确的话,我们可以看到每种攻击方法都是一个阶段衔接一个阶段,整个攻击阶段类似于一个链条。但是,由于网络攻击事件跨度长,攻击点多(跳板、僵尸机、反射器等等),完全检测网络攻击的所有阶段是极其困难的,从而导致无法全面掌握整个网络攻击过程,当然也就无法准确统计其每个阶段发生的攻击方法,同时,如果用这些不完整的的统计数据去做预测,会进一步导致攻击预测不准确。

从网络攻击杀伤链的特点可以看出,网络攻击符合马尔可夫链的特性要求,即转移到下一状态只和现在的状态有关,与之前的状态无关,基于其这一特性,同时针对现有网络攻击统计方法获取数据不完整和预测不准的问题,本发明公开了一种基于马尔可夫链的网络攻击阶段统计和预测方法。



技术实现要素:

针对现有网络攻击统计方法存在的攻击统计数据不完整、基于不完整的数据进行的统计偏差大的问题,本发明公开了一种基于马尔可夫链的网络攻击阶段统计和预测方法,其按马尔可夫链中的状态转移矩阵对检测到网络攻击事件进行统计,并根据转移矩阵的特性对统计结果进行适当的修正,然后使用马尔可夫链基于转移矩阵进行后面可能发生的攻击阶段进行预测。因此,这种方法可以有效避免攻击链中攻击阶段统计数据不完整导致预测偏差大的问题。

本发明公开了一种基于马尔可夫链的网络攻击阶段统计和预测方法,其具体步骤包括:

s1,建立基于马尔可夫链的状态转移矩阵,按照网络攻击杀伤链的攻击过程建立状态空间,对攻击过程中每一种攻击方法所发生的攻击状态转移进行概率统计,建立马尔可夫链状态转移矩阵;

s2,修正基于马尔可夫链的状态转移矩阵,根据状态转移矩阵的每一行数据元素之和是1(因为每一行表示自身的概率分布)这一特性,修正基于马尔可夫链的状态转移矩阵中的由于统计数据不完整而导致缺失或者错误的状态数据。

s3,使用马尔可夫链模型对网络攻击杀伤链中攻击阶段进行预测,使用马尔可夫链模型预测下一个攻击阶段发生概率。

步骤s1中所述的建立基于马尔可夫链的状态转移矩阵,其具体包括:

s11,攻击事件提取,使用入侵检测软件或探针软件(如suricata等)对离线或者实时网络流量中的攻击事件进行捕获和识别,并根据该攻击事件特征将所其划分到对应的攻击阶段;

s12,攻击事件关联,根据所提取到攻击事件所包含的病毒、病毒样本库和网络杀伤链中攻击阶段的定义,检测其攻击方法,将该攻击事件与之前检测到的同类攻击方法下的攻击事件关联起来;

s13,攻击概率统计,针对步骤s12检测到的攻击事件,按攻击链攻击阶段进行划分,然后选定之前的某天作为该次统计的开始时间点,将从开始时间点到当前时刻之间的时间段,按固定时间长度(如n日)划分为若干个连续的时间间隔,计算每个时间间隔的攻击阶段发生的概率,所述的计算过程具体包括:

s131,计算第i个时间间隔中第j攻击阶段的发生加权数其中,j表示攻击阶段的数字标号,j=1、2、3、4、5、6、7时,分别表示攻击阶段为侦察跟踪、武器构建、载荷投递、漏洞利用、安装植入、命令与控制、目标达成;m表示攻击阶段的权重值序号,b1、b2、b3、b4、b5、b6、b7分别表示侦察跟踪、武器构建、载荷投递、漏洞利用、安装植入、命令与控制、目标达成这七个攻击阶段在当前攻击方法中的权重;p1,i、p2,i、p3,i、p4,i、p5,i、p6,i、p7,i分别表示第i个时间间隔中侦察跟踪、武器构建、载荷投递、漏洞利用、安装植入、命令与控制、目标达成这七个攻击阶段发生的次数;

s132,计算第i个时间间隔中攻击阶段j的发生热度集合hi,j=[g1,j,g2,j,g3,j,...,gi,j]。

s133,用极值法对发生热度集合数据进行简化处理,得到第i个时间间隔中攻击阶段j的归一化发生热度,即

s134,计算从第i个时间间隔到第i+1个时间间隔的各个攻击阶段转移概率,其中从第i个时间间隔到第i+1个时间间隔,由第j个攻击阶段转移到第j+n个攻击阶段的转移概率的表达式为ti,i+1,j,j+n=hi′i+1,j+n′-h′i,j′,从第i个时间间隔到第i+1个时间间隔,由第j个攻击阶段转移到第j-n个攻击阶段的转移概率的表达式为ti,i+1,j,j-n=h′i+1,j′-h′i,j-n′,其中,0≤n≤7,1≤j+n≤7,1≤j-n≤7。

s14,对每种攻击方法,建立对应的基于马尔可夫链的状态转移矩阵。

所述的基于马尔可夫链的状态转移矩阵,可以采用表1所述的攻击概率统计状态转移统计表的表达形式。

表1攻击概率统计状态转移统计表

步骤s2所述的修正基于马尔可夫链的状态转移矩阵,其具体包括:

s21,马尔可夫链特性筛选,将步骤s1所建立的基于马尔可夫链的状态转移矩阵进行分析,选定该矩阵适用的马尔可夫特性,马尔可夫特性具体包括互通性、周期性、瞬态性、常返性、遍历性或者吸收态等。根据选定的马尔可夫特性,记马尔可夫状态转移概率矩阵为p=[pm,n],1≤m,n≤7。其中,pm,n表示该攻击在第i个时间间隔处于状态m,在第i+1个时间间隔处于状态n的概率。

s22,确定状态转移矩阵的修正原则,按照步骤s21所选定的马尔可夫特性,确定对每一个攻击方法的状态转移矩阵进行修正的原则,修正原则的表达式为:

其中,k为累加运算的遍历攻击阶段序号,tm,n表示第m个攻击状态转移到第n个攻击状态的总转移概率;

s23,修正状态转移矩阵中的数据,根据状态转移矩阵修正原则公式,对状态转移矩阵中缺失的数据进行补全,得到修正后的基于马尔可夫链的状态转移矩阵:

步骤s3所述的使用马尔可夫链对网络攻击杀伤链中攻击阶段进行预测,其具体包括:

s31,攻击特征提取,对传输中的流量数据进行片段提取,用于步骤s32的攻击事件检测。

s32,攻击事件检测,对步骤s31提取到的流量数据包进行检测,判断该流量数据包中是否有攻击事件。

s33,攻击事件关联,确定步骤s32中检测到的攻击事件属于哪个攻击方法的哪个阶段。

s34,攻击预测,根据步骤s32检测到的攻击事件,使用马尔可夫链模型中的状态转移矩阵来预测攻击者的下一个攻击行动发生的概率,具体的预测方法为,假设当前检测的攻击事件所处阶段为z,1≤z≤7,其他阶段为z′,并设置当前状态向量为c=[c1c2c3c4c5c6c7],其中,cz=1,cz'=0,z'≠z,,则下一个状态向量为d=c×p=[d1d2d3d4d5d6d7],其中,dz+1是下一个攻击事件发生的概率。

s35,验证预测,对得到的预测结果进行验证。

本发明的有益效果为:

1、本发明提出了一种网络攻击统计和预测模型构建方法,将广泛使用的网络攻击链和马尔可夫链两者结合起来,对网络攻击事件统计以及未来攻击预测的方法进行改进,使网络攻击事件统计更适合应用于预测中,从而提高了攻击预测模型的准确性。

2、本发明对现有的网络攻击事件统计方法进行改进,使网络攻击事件统计结果更贴近实际应用;同时,针对攻击事件统计结果不准确的情形,提出了使用马尔可夫链的特性来处理统计结果,使得预测模型的适应性更广。

附图说明

图1为网络攻击杀伤链及其攻击方法、攻击事件表现图;

图2为本发明的马尔可夫链状态转移矩阵示例;

图3为本发明建立的马尔可夫链状态转移矩阵的流程图;

图4为本发明的修正马尔可夫链状态转移矩阵数据的流程图;

图5为本发明的用马尔可夫链对网络攻击杀伤链中攻击阶段进行预测的流程图。

具体实施方式

为了更好的了解本发明内容,这里给出一个实施例。

本发明公开了一种基于马尔可夫链的网络攻击阶段统计和预测方法,图1为网络攻击杀伤链及其攻击方法、攻击事件表现图;图2为本发明的马尔可夫链状态转移矩阵示例;图3为本发明建立马尔可夫链状态转移矩阵的流程图;图4为本发明的修正马尔可夫链状态转移矩阵数据的流程图;图5为本发明的用马尔可夫链对网络攻击杀伤链中攻击阶段进行预测的流程图。本发明方法的具体步骤包括:

s1,建立基于马尔可夫链的状态转移矩阵,按照网络攻击杀伤链的攻击过程建立状态空间,对攻击过程中每一种攻击方法所发生的攻击状态转移进行概率统计,建立马尔可夫链状态转移矩阵;

s2,修正基于马尔可夫链的状态转移矩阵,根据状态转移矩阵的每一行数据元素之和是1(因为每一行表示自身的概率分布)这一特性,修正基于马尔可夫链的状态转移矩阵中的由于统计数据不完整而导致缺失或者错误的状态数据。

s3,使用马尔可夫链模型对网络攻击杀伤链中攻击阶段进行预测,使用马尔可夫链模型预测下一个攻击阶段发生概率。

步骤s1中所述的建立基于马尔可夫链的状态转移矩阵,其具体包括:

s11,攻击事件提取,使用入侵检测软件或探针软件(如suricata等)对离线或者实时网络流量中的攻击事件进行捕获和识别,并根据该攻击事件特征将所其划分到对应的攻击阶段;

s12,攻击事件关联,根据所提取到攻击事件所包含的病毒、病毒样本库和网络杀伤链中攻击阶段的定义,检测其攻击方法,将该攻击事件与之前检测到的同类攻击方法下的攻击事件关联起来;

s13,攻击概率统计,针对步骤s12检测到的攻击事件,按攻击链攻击阶段进行划分,然后选定之前的某天作为该次统计的开始时间点,将从开始时间点到当前时刻之间的时间段,按固定时间长度(如n日)划分为若干个连续的时间间隔,计算每个时间间隔的攻击阶段发生的概率,所述的计算过程具体包括:

s131,计算第i个时间间隔中第j攻击阶段的发生加权数其中,j表示攻击阶段的数字标号,j=1、2、3、4、5、6、7时,分别表示攻击阶段为侦察跟踪、武器构建、载荷投递、漏洞利用、安装植入、命令与控制、目标达成;m表示攻击阶段的权重值序号,b1、b2、b3、b4、b5、b6、b7分别表示侦察跟踪、武器构建、载荷投递、漏洞利用、安装植入、命令与控制、目标达成这七个攻击阶段在当前攻击方法中的权重;p1,i、p2,i、p3,i、p4,i、p5,i、p6,i、p7,i分别表示第i个时间间隔中侦察跟踪、武器构建、载荷投递、漏洞利用、安装植入、命令与控制、目标达成这七个攻击阶段发生的次数;

s132,计算第i个时间间隔中攻击阶段j的发生热度集合hi,j=[g1,j,g2,j,g3,j,...,gi,j]。

s133,用极值法对发生热度集合数据进行简化处理,得到第i个时间间隔中攻击阶段j的归一化发生热度,即

s134,计算从第i个时间间隔到第i+1个时间间隔的各个攻击阶段转移概率,其中从第i个时间间隔到第i+1个时间间隔,由第j个攻击阶段转移到第j+n个攻击阶段的转移概率的表达式为ti,i+1,j,j+n=h′i+1,j+n′-h′i,j,从第i个时间间隔到第i+1个时间间隔,由第j个攻击阶段转移到第j-n个攻击阶段的转移概率的表达式为ti,i+1,j,j-n=h′i+1,j′-h′i,j-n′,其中,0≤n≤7,1≤j+n≤7,1≤j-n≤7。

s14,对每种攻击方法,建立对应的基于马尔可夫链的状态转移矩阵。

所述的基于马尔可夫链的状态转移矩阵,可以采用表1所述的攻击概率统计状态转移统计表的表达形式。

表1攻击概率统计状态转移统计表

步骤s2所述的修正基于马尔可夫链的状态转移矩阵,其具体包括:

s21,马尔可夫链特性筛选,将步骤s1所建立的基于马尔可夫链的状态转移矩阵进行分析,选定该矩阵适用的马尔可夫特性,马尔可夫特性具体包括互通性、周期性、瞬态性、常返性、遍历性或者吸收态等。根据选定的马尔可夫特性,记马尔可夫状态转移概率矩阵为p=[pm,n],1≤m,n≤7。其中,pm,n表示该攻击在第i个时间间隔处于状态m,在第i+1个时间间隔处于状态n的概率。

s22,确定状态转移矩阵的修正原则,按照步骤s21所选定的马尔可夫特性,确定对每一个攻击方法的状态转移矩阵进行修正的原则,修正原则的表达式为:

其中,k为累加运算的遍历攻击阶段序号,tm,n表示第m个攻击状态转移到第n个攻击状态的总转移概率;

s23,修正状态转移矩阵中的数据,根据状态转移矩阵修正原则公式,对状态转移矩阵中缺失的数据进行补全,得到修正后的基于马尔可夫链的状态转移矩阵:

步骤s3所述的使用马尔可夫链对网络攻击杀伤链中攻击阶段进行预测,其具体包括:

s31,攻击特征提取,对传输中的流量数据进行片段提取,用于步骤s32的攻击事件检测。

s32,攻击事件检测,对步骤s31提取到的流量数据包进行检测,判断该流量数据包中是否有攻击事件。

s33,攻击事件关联,确定步骤s32中检测到的攻击事件属于哪个攻击方法的哪个阶段。

s34,攻击预测,根据步骤s32检测到的攻击事件,使用马尔可夫链模型中的状态转移矩阵来预测攻击者的下一个攻击行动发生的概率,具体的预测方法为,假设当前检测的攻击事件所处阶段为z,1≤z≤7,其他阶段为z′,并设置当前状态向量为c=[c1c2c3c4c5c6c7],其中,cz=1,cz'=0,z'≠z,,则下一个状态向量为d=c×p=[d1d2d3d4d5d6d7],其中,dz+1是下一个攻击事件发生的概率。

s35,验证预测,对得到的预测结果进行验证。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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