首页 / 一种基于攻击模式的网络攻击行为预测方法

一种基于攻击模式的网络攻击行为预测方法有效专利 发明

技术领域

[0001] 本发明涉及网络安全领域,尤其涉及一种基于攻击模式的网络攻击行为预测方法。

相关背景技术

[0002] 在目前的网络安全领域中,预测攻击者的下一步攻击行为是重要但困难的。攻击者前一个攻击行为的成功实施往往是下一个攻击行为开始的关键,它们不是孤立的,彼此之间存在一定的关联性。如果能够根据典型攻击路径总结出攻击模式,在未遭受攻击时,就可以针对性地对系统进行安全加护;在已经遭受攻击时,如果能够编码历史攻击路径并根据邻居节点获得攻击者的属性信息,就能够对下一步有可能的攻击行为做出预测,尽可能降低被攻击后的损失,甚至中断持续性的网络攻击。
[0003] 不同于业界常用的攻击链模型(kill chain),事理图谱中存在的行为转移信息能够很好地处理事件预测问题,使用知识图谱表示学习技术可以做到快速对攻击行为进行预测,是一种更加智能化的预测方法。
[0004] 然而目前基于知识图谱的网络攻击预测方法在图谱粒度上很难同时实体关系的三元组和事件,这会导致基于攻击路径的预测方法无法捕获网络攻击实体之间的高阶邻居相似性。基于拓扑信息的网络攻击图方法则对于数据的依赖性较强,且预测时间开销大,不利于进行智能化预测。

具体实施方式

[0015] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地描述。
[0016] 请参考图1,图1是本发明方法流程示意图;一种基于攻击模式的网络攻击行为预测方法,包括以下步骤:
[0017] S1、构建网络攻击事理图谱;其中事理图谱由攻击行为组成;
[0018] 需要说明的是,步骤S1具体为:
[0019] S11、对网络威胁情报中的信息进行预处理,获取攻击行为的属性和描述信息;
[0020] 网络威胁情报(CTI)中包含很多恶意软件或漏洞的属性信息和描述信息,描述信息中记录了其有可能的攻击方式和攻击顺序。这一部分内容可以人工进行数据标注与收集;
[0021] 而针对网络威胁情报中语言描述比较冗余、包含很多专业领域词汇以及大量使用代词导致其被错误识别为独立实体的问题,本方法采用NeuralCoref作为共指消解模型,采用BERT+BiLSTM删除句子中存在的大量多余文本并抽取出构建图谱所需的实体信息;其中,BERT是Bidirectional Encoder Representation from Transformers的缩写,翻译过来是一种基于变换模型的双向编码表示,这里的变换模型即Transformer,是一类模型的统称,变换只是技术思路。
[0022] BiLSTM中文可以表示“双向长短期记忆网络”,其中Bi指的是双向。
[0023] S12、根据属性和描述信息,抽取构建事理图谱所需要的实体信息;
[0024] S13、根据实体信息构建网络攻击事理图谱。
[0025] 为了更好的解释说明,下面对相关的概念预先进行阐述;
[0026] 节点、实体、攻击行为得概念:无论是知识图谱还是事理图谱都有节点,只不过节点代表的意思不同。
[0027] 在知识图谱中,节点代表实体,一个由(实体,关系/谓词,实体)组成的三元组表示一个事件,也就是一个攻击行为。
[0028] 而在事理图谱中,节点表示一个事件(攻击行为),即由上述三元组组成。也即,本申请中基于事理图谱,则节点表示的就是一个攻击行为;
[0029] S2、从事理图谱中抽取攻击模式;其中攻击模式由攻击行为之间的链路关系组成;
[0030] 需要说明的是,本方法将攻击模式的定义为一组具有顺承关系或并存关系的攻击行为的连通的霍恩子句,其中连通要求攻击模式在攻击图上的攻击行为之间是相连的,攻击模式也是基于事理图谱抽取的。所以抽取出的攻击模式是攻击行为组成的链条,也称为攻击路径(A‑>B‑>C=>D);攻击路径表示为A‑>B‑>C=>D,其中A‑>B‑>C就是攻击模式体,D就是模式头。其中每个节点都是一个攻击行为/攻击条件,例如服务A开放了18220端口/攻击者利用sql注入的方式对某服务进行攻击,以三元组形式表示即(服务A,80端口,开放)(攻击者,sql注入,利用),三元组的前两项指的是实体,第三项指的是实体之间的关系。
[0031] 步骤S2具体为:
[0032] S21、采用添加框架点和实例点迭代的方式,从网络攻击事理图谱中抽取初步攻击模式;
[0033] 其中框架点指的是攻击模式的框架的节点,即实体之间的关系,实例点即为填充到攻击模式框架的实体。以上文三元组为例,首先添加框架点“利用”,然后填充实例点,即三元组中的实体。
[0034] 之后再找到此框架点一跳之内的框架点(即与此三元组直接相连的三元组中实体之间的“关系”,以上文攻击路径A‑>B‑>C=>D为例,C是D一跳之内的三元组,B和C是D两跳之内的三元组),根据tf‑idf算出概率前N大的框架点(这里的N即为超参数,即需要在训练前手动设置的参数,本专利提出的方法中默认为3,也可设置为其他值),再填充此框架点对应的实体,这样一次次迭代,直到攻击链条的长度达到了预先设置的长度(这里的长度也是超参数,即下文出现的最长模式体)。
[0035] S22、根据初步攻击模式出现的次数和初步攻击模式的置信度,对初步攻击模式进行复筛,得到筛选后的攻击模式。
[0036] 需要说明的是,攻击模式出现次数的计算公式如下:
[0037]
[0038] 其中supp是攻击模式的出现次数,其需要同时满足模式体和模式头。其中x和y是候选三元组的两个实体,r是它们之间关系,r(x,y)表示一个候选三元组。因为对于每条攻击模式都需要计算出现的次数,同一模式体可能会对应多个模式头,即r(x,y)。t1,…,tm表示攻击模式体涉及到的三元组, 表示t1,…,tm构成的模式体。
[0039] 另外,攻击模式的置信度也是很重要的评估指标,本方法里将攻击模式的头覆盖率(即所有候选攻击行为中,攻击路径或攻击条件与模式体相符的占比)作为置信度,定义为:
[0040]
[0041] 其中分母表示所有r(x,y)出现的次数,分子表示以r(x,y)作为模式头的攻击模式出现的次数。这个比例越大,说明攻击模式体对于模式头的出现具有正向作用。
[0042] 需要说明的是,在实际处理过程中,得到筛选后的攻击模式之后,还可以进行一遍人工复筛,使在保证这些攻击模式的置信度的前提下,尽可能提升攻击模式的覆盖率。最终得到一些质量较高且覆盖率也相对较高的攻击模式,以用于下一步工作。
[0043] S3、聚合攻击模式及历史攻击行为,得到攻击模式和历史攻击行为的向量表示;
[0044] 本方法通过拼接攻击行为三元组中的实体关系嵌入表示的方式作为攻击行为的表示,采用BiLSTM对攻击模式和攻击主体的历史攻击行为进行整合编码,使下一步进行攻击行为预测时可以充分考虑到历史行为,并采用softmax作为激活函数,同时满足易于训练和准确率高两个目的。这一步的目的是得到攻击模式和历史攻击行为的编码(即向量表示),得到向量表示后,可进行计算机相应数据处理,以用于后续操作;
[0045] S4、采用改进GAT网络更新历史攻击行为表示,并利用更新的历史攻击行为,计算候选攻击行为得分,并对候选攻击行为进行排序;其中候选攻击行为,为所有待预测的攻击行为;
[0046] 需要说明的是,步骤S4具体为:
[0047] S41、将攻击模式和历史攻击行为的向量表示输入至图注意神经网络GAT中,采用候选攻击行为的置信度更新向量表示,得到更新后的向量表示;
[0048] 需要说明的是,本方法采用其统计学概率作为计算候选事件的置信度的依据,计算方式如下:
[0049]
[0050] 其中Ee1表示所有指向事件e1的事件集合, 途径事件是v的事件的集合,表示 所占的比重。
[0051] 若此比重较高,则以为这攻击者更有可能通过此途径进行下一步攻击行为。
[0052] 与之对应的,对于所有事件e1,也可以通过此公式计算其最有可能的下一步攻击行为。
[0053] S42、从更新后的向量表示中,任选取一个作为候选攻击行为,并聚合候选攻击行为和候选攻击行为的邻居,得到如下式的嵌入向量:
[0054]
[0055] 其中W和b表示权重矩阵和偏置,根据候选攻击行为的嵌入向量v和其邻域的嵌入向量 通过激活函数σ得到潜在的攻击行为嵌入向量
[0056] S43、根据嵌入向量 计算目标攻击行为作为候选攻击行为的得分,如下式:
[0057]e
[0058] 表示潜在攻击行为的嵌入向量,v表示攻击者的历史攻击路径,通过f()多层感知机得到其归一化分数,归一化分数作为候选攻击行为的得分;
[0059] 针对步骤S42‑S43,本申请详细解释如下:
[0060] GAT网络是用于更新节点的嵌入表示的,英文是Graph Attention Network,即图注意神经网络,其主要特点是在更新节点表示时,其周围的节点对其造成的影响并不是一致的(即采用了注意力机制);比如参考图2,图2是攻击图谱的一部分;
[0061] 在更新节点A的向量表示时,需要对BCDEF节点进行加权,对A影响较大的节点应该被赋予更高的权重。
[0062] 本申请是改进GAT网络,主要在于分配权重的方式不同,本方法是采用了候选事件置信度作为分配权重的依据。例如图中与节点A一跳之内相连的节点有五个,置信度Tr如图所示。对于C节点来说,更新A节点时,采集C节点的权重为:
[0063]
[0064] 得到权重后,再通过:
[0065]
[0066] 作为候选节点A与节点C之间的聚合分数。计算出所有BCDEF与A的分数后,对此邻域可以用下面这个公式进行表示:
[0067]
[0068] 聚合目标节点和邻居的表示公式为:
[0069]
[0070] 最终得到了一个嵌入表示,再用这个嵌入表示和攻击模式的嵌入表示计算出目标节点作为候选节点的概率,公式如下:
[0071]
[0072] 需要说明的是,本方法的总体Loss函数为:
[0073]
[0074] 本方法采用交叉熵损失作为总体的损失,E表示攻击者的攻击路径中的实体,R表示攻击路径中的关系,最后一项是L2正则化项。
[0075] S44、重复步骤S42~S43,直至更新后的向量表示中所有目标攻击行为作为候选攻击行为的得分全部求解完毕,并按得分高低从高到低进行排序。
[0076] S5、候选攻击行为得分最高者为最终预测的攻击行为。
[0077] 本发明的有益效果是:考虑了攻击主体的属性信息,并对主体的历史攻击行为进行编码,使其能够更好地服务于恶意行为预测任务。
[0078] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页 第1页 第2页 第3页