首页> 中国专利> 基于蜜罐实战生成的网络攻击知识图谱的行为预测方法

基于蜜罐实战生成的网络攻击知识图谱的行为预测方法

摘要

本发明提供了一种基于蜜罐实战生成的网络攻击知识图谱的行为预测方法,通过部署一定数量的网络节点和绑定蜜罐,然后收集和记录网络攻击行为、攻击路径和攻击对象等信息。然后根据这些攻击信息,通过Neo4j搭建网络攻防的实战知识图谱。在搭建的知识图谱基础上,通过聚类算法分析攻击事件的关联性,然后通过得到的平均聚类系数分析和预测攻击事件,可以对网络攻防进行有效的归类展示和行为预测,对于网络攻击防御有一定的指导意义。

著录项

  • 公开/公告号CN112422537A

    专利类型发明专利

  • 公开/公告日2021-02-26

    原文格式PDF

  • 申请/专利权人 广州锦行网络科技有限公司;

    申请/专利号CN202011232575.8

  • 发明设计人 吴建亮;胡鹏;王永君;

    申请日2020-11-06

  • 分类号H04L29/06(20060101);H04L29/12(20060101);H04L12/24(20060101);G06F16/35(20190101);G06K9/62(20060101);G06N5/02(20060101);

  • 代理机构11470 北京精金石知识产权代理有限公司;

  • 代理人杨兰兰

  • 地址 510095 广东省广州市天河区新岑四路2号203-208房

  • 入库时间 2023-06-19 10:00:31

说明书

技术领域

本发明涉及网络攻防及知识图谱领域,尤其涉及一种基于蜜罐实战生成的网络攻击知识图谱的行为预测方法。

背景技术

知识图谱作为一种显示知识发展进程与结构关系的一系列各种不同的图形,目前在被广泛应用于各个分析学科。其优势在于作为一个可视化数据库,能够更加生动描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系,并以此为基础,再做行为分析和预测。

同时,网络攻击行为在现实生活中时常发生,由于攻防双方技术能力不对等,经常在放生攻击行为后,普通非技术人员不知道如何防范和解决,并且可能随着黑客的进一步行为,会导致更大的损失。

专利申请文献CN108933793A提供了一种基于知识图谱的攻击图生成方法及其装置,该方法包含:依据目标网络的网络特征,选取网络安全知识库并抽取用于构建知识图谱的安全相关信息;依据安全相关信息,通过关系抽取、属性抽取和知识推理,构建知识图谱;对目标网络进行拓扑扫描和漏洞扫描,并结合知识图谱,生成用于分析原子攻击及攻击路径的攻击成功率和攻击收益的攻击图。专利申请文献CN109639670A提供了一种基于知识图谱的工控网络安全态势量化评估方法,主要步骤包括:定义和构造网络安全知识图谱、定义网络安全知识图谱中节点的业务权重、根据攻击事件计算威胁指数;本发明所述基于知识图谱的工控网络安全态势量化评估方法使用知识图谱技术,基于图数据库,支持快速进行图计算,通过广度遍历和深度遍历,计算攻击事件带来的间接威胁;

上述第一个专利申请文献CN108933793A通过利用知识图谱的多源信息融合及信息抽取和推理能力,实现攻击图的实时构建和精确评估;第二专利申请文献CN109639670A能够面评估风险,方便对未发生的威胁进行预警。但是上述两个文献均是构造网络安全知识图谱,而不是网络攻击知识图谱,并不能对攻击行为进行有效分析。

鉴于此,有必要设计一种基于蜜罐实战生成的网络攻击知识图谱及行为预测方法,能够将黑客攻击行为具象化,形成知识图谱,并且据此来做其行为分析从而有遇见性地给出防范方法。

发明内容

为解决现有技术中存在的技术问题,本发明提供了一种基于蜜罐实战生成的网络攻击知识图谱及行为预测方法,通过部署一定数量的网络节点和绑定蜜罐,然后收集和记录网络攻击行为、攻击路径和攻击对象等信息。然后根据这些攻击信息,通过Neo4j搭建网络攻防的实战知识图谱。在搭建的知识图谱基础上,通过聚类算法分析攻击事件的关联性,然后通过得到的平均聚类系数分析和预测攻击事件,可实现对于网络攻击具现化并作出行为分析和预测。

其中,Neo4j是一个嵌入式,基于磁盘的,支持完整事务的Java持久化引擎,它在图(网络)中而不是表中存储数据。Neo4j由于还提供了非常快的图算法、推荐系统和OLAP风格的分析,使得其在知识图谱构建和AI等领域拥有很大的优势。

为实现上述目的,本发明的解决方案是:

1、选取特定的几台计算机,安装诱捕节点和蜜罐,记录节点信息和蜜罐信息。于此同时,任由黑客进行攻击和扫描,并且记录下所有包括攻击行为、攻击时间和攻击路径等全部信息。

2、根据上一步骤记录下的所有信息,在知识谱图上进行绘制。(补充)

3、通过聚类分析,k中心点算法,以攻击行为分类,任意选取k个中心点,通过计算节点距离不断迭代,直到中心点不再变化,此时得到k个簇。

4、根据得到的分析后的紧密行为的k个簇,我们可以做出相关性预测,再次收集攻击数据,从而验证预测效果。

具体地,本发明提供了基于蜜罐实战生成的网络攻击知识图谱及行为预测方法,包括如下步骤:

S1:部署诱捕节点和蜜罐,绑定节点信息,当受到攻击后,记录下所有攻击信息,其中攻击信息包括攻击行为、攻击来源IP和端口、攻击方式、攻击内容和攻击时间;

S2:将步骤S1所记录的攻击信息进行知识图谱构建,图谱构建方法如下:将所有攻击信息按照攻击类型划分为第一级节点M1、第二级节点M2和第三极节点M3,其中,第一级节点M1、第二级节点M2和第三极节点M3是从属关系,即第一级节点M1是第二级节点M2的父级,第二级节点M2是第三极节点M3是父级;

S3:根据知识图谱选定k类簇的各自中心点Cj,计算各个簇到中心点Cj的距离,得到k个距离数组Dij,取最小值Min{[Dji]},i表示簇内的点,其对应中心点j,中心点j便是i新划分到的簇,完成所有点的第一次聚类;

S4:将i轮换成其所在的中心点簇J,计算距离代价总和;

S5:判断距离代价总和是否小于给定距离代价阈值e,如果距离代价总和小于给定距离代价阈值e,则不收敛,继续迭代直至收敛,最终分类成k个行为相关的簇,生成聚类模型;

S6:将k个簇的相似行为采用三元组的形式[{Pre_Attack_Event}{Predict}{Af_Attack_Event}]进行记录或给定一个距离值d,认定在这个距离内的攻击事件都是有相互发生的可能性来进行记录,从而做出相关性预测;其中Pre_Attack_Event表示已经发生的事件,Af_Attack_Event表示根据模型预测发生的事件。

S7:再次收集来自同一攻击来源IP连续的攻击信息来,记录每次攻击行为,然后将这次攻击事件放入到聚类模型里面进行验证,如果超出预期则再进行聚类重构,从而不断完善聚类模型。

优选地,步骤S5中计算距离代价总和方式为,设任意一点t,距离原中心点簇j的距离为Djt,然后变更为i后,距离中心点簇i的距离为Dit,两者距离差的绝对值为dist{i,j,t}=|Djt-Dit|,dist{i,j,t}为中心点由j变为i,t点需要付出的距离代价,最后得到距离总和。

优选地,第一级节点M1包括SSH扫描攻击、Http攻击、FTP攻击事件;第二级节点M2包括单次发生的攻击事件;第三极节点M3包括攻击IP,攻击端口,攻击时间,攻击序列,攻击行为和攻击威胁等级的集合。

优选地,认定小于距离值d的攻击行为具有高度相似或者高度连读,极有可能在短时间内连续发生。

优选地,如果两个攻击行为之间的距离小于距离值d,即认定这两个攻击行为有发生连续性的可能。

优选地,步骤S1中绑定节点信息是将诱捕节点和蜜罐进行绑定,记录节点IP和蜜罐IP。

优选地,攻击序列用于表示攻击事件与事件间有序列表示攻击发生的顺序先后,如果是同一攻击来源的同一次攻击,则按顺序连接{Attack_Index},若同一攻击来源会发生不同的攻击方式;各级依照以下三元组进行连接:

{M0}-[r1:include]->{M1}

{M1}-[r2:happend]->{M2}

{M2}-[r1:include]->{M3}。

与现有技术相对比,本发明的有益效果如下:

(1)在本发明中,通过实战收集不断收集实际攻击行为数据,然后通过知识图谱和聚类分析,可以对网络攻防进行有效的归类展示和行为预测,对于网络攻击防御有一定的指导意义。

(2)本发明在搭建的知识图谱基础上,通过聚类算法分析攻击事件的关联性,然后通过得到的平均聚类系数分析和预测攻击事件,可以对网络攻防进行有效的归类展示和行为预测,对于网络攻击防御有一定的指导意义。

附图说明

图1是本发明提供的行为预测方法的流程图;

图2为本发明提供的的聚类分析流程图;

图3为构建基本图库的一个基础示例。

具体实施方式

下面结合附图1-3,对本发明的具体实施方式作详细的说明。

下面通过具体实施例并配合附图,对本发明做详细的说明。

本实例是基于蜜罐实战生成的网络攻击知识图谱及行为预测方法,其处理流程如图1-3所示,对具体实施步骤如下:

1、如图1-3所示,先选择计算单元部署诱捕节点和蜜罐来收集数据,其中主要收集的数据包括攻击IP和端口,攻击方式,攻击内容,攻击时间等,以攻击来源IP和端口定义一次攻击事件,将所有攻击行为记录下来。

2、将步骤1所记录的攻击事件做绘制,其绘制方法如下:

将所有信息按照攻击类型划分作为第一级节点M1,其中可以包括SSH扫描攻击、Http攻击、FTP攻击事件等,第二级几点是M2,包括单次发生的攻击事件,第三极节点M3,具体包括{Attack_IP,Attack_Port,Attack_Time,Attack_Index,Attack_Act,Attack_Rank}的一个集合,攻击IP,攻击端口,攻击时间,攻击序列,攻击行为和攻击威胁等级。攻击事件与事件间有序列表示攻击发生的顺序先后,如果是同一攻击来源的同一次攻击,则可以按顺序连接{Attack_Index},同一攻击来源可能会发生不同的攻击方式。各级依照以下三元组进行连接:

{M0}-[r1:include]->{M1}

{M1}-[r2:happend]->{M2}

{M2}-[r1:include]->{M3}

3、步骤2中完成所有的图谱构建之后,各个攻击事件都有了相互关系和距离,此时可以进行下一步聚类分析。先给定一个k类簇的各自中心点C

4、步骤3便完成了所有点的第一次聚类,把所有点划分进了k个簇里面。但是这种簇并不是关系最紧密的,因为中心点的选取有随机性,所以下面还需要用k中心点算法进行迭代,求出最后严格关系紧密的簇。对于任意一点i来说,它所在的簇中心点为j,此时如果将更换i点该簇的中心点,那么就要重复步骤3里簇的重新分类,得到一个新的k个簇,然后计算距离代价总和。计算方式为,任意一点t,距离原中心点簇j的距离为D

聚类分析的举例,(平面坐标上有10个点,然后设定分成3类簇,先任选3个点作为每个簇的中心点,然后从第四个点开始,计算这个点到三个簇中心点的距离,选出点到三个簇中心点的距离最小的点,认定这个点是属于该类簇。以此类推,一直计算到第十个点。最后就可以将十个点划分成3个簇。这就是第一次聚类。在第一次聚类完成后,已经分为3个簇,分别为A、B、C 3个簇,假设A簇有是3个点,B簇有2个点,C簇有5个点,其中A的中心点为Oa,B的中心点为Ob,C的中心点Oc,A中还有两个点,分别是点Om和On,此时如果轮换,将Om当做A的中心点,那么这三个簇的中心点就变成了Om、Ob、Oc,那此时可以开始第二次的划分。将剩下的七个点按照上一步划分的方式,分别计算到这三个点的距离,距离最小的划分到里面去。就比如原来A簇的点On,On点本来划到A簇是因为它到点Oa、Ob、Oc的三个距离里面,On到Oa的距离最小,但是换了新的中心点Om后,它不一定到Om距离最小了,有可能会是到Ob的距离最小,所以就有可能到第二轮就划到B簇里面去了。所以同样的,剩下来的其他点也是同样的道理,会在第二轮的划分里进入不同的簇。所谓的距离代价,还是以A簇里的On点举例,On点距离原先中心点最近的距离是d1,后面换了一个中心点,然后On点距离三个中心点最近的距离是d2,d1和d2的差值就是一个距离代价。那么将所有点的距离代价加起来就是代价总和。可想而知,如果距离代价越大,就说明变动越大,越就说明越不是一个合理的划分方式。

5、在完成聚类分析后,可以依照完成后的将相似行为采用三元组的形式[{Pre_Attack_Event}{Predict}{Af_Attack_Event}]进行记录。其中Pre_Attack_Event表示已经发生的事件,Af_Attack_Event表示根据模型预测发生的事件。当然,也可以放宽距离限制,给定一个距离值d,认定在这个距离内的事件都是有相互发生的可能性来进行记录。例如攻击第一次发生的时候,通过判断该攻击行为在分析得到的哪个聚类簇中,便认定该攻击者接下来会进行该聚类簇里的与之关联的其他攻击行为,从而能够提前做出判断,从被动防御变为主动防御。这样如此,便可以在一定程度上预测攻击行为的发生。

6、在分析完之后,可以再次收集来自同一攻击来源(相同IP)连续的攻击数据来,记录每次攻击行为,然后将这次攻击事件放入到聚类模型里面进行验证,如果超出预期则再进行聚类重构,从而不断完善聚类模型。

实施例1

本实施例提供了基于蜜罐实战生成的网络攻击知识图谱及行为预测方法,包括如下步骤:

S1:部署诱捕节点和蜜罐,绑定节点信息,当受到攻击后,记录下所有攻击信息,其中攻击信息包括攻击行为、攻击来源IP和端口、攻击方式、攻击内容和攻击时间;其中绑定节点信息是将诱捕节点和蜜罐进行绑定,记录节点IP和蜜罐IP。

S2:将步骤S1所记录的攻击信息进行知识图谱构建,图谱构建方法如下:将所有攻击信息按照攻击类型划分为第一级节点M1,其包括SSH扫描攻击、Http攻击、FTP攻击事件;第二级节点M2,包括单次发生的攻击事件;第三极节点M3,包括攻击IP,攻击端口,攻击时间,攻击序列,攻击行为和攻击威胁等级的集合;其中,第一级节点M1、第二级节点M2和第三极节点M3是从属关系,即第一级节点M1是第二级节点M2的父级,第二级节点M2是第三极节点M3是父级;其中,级别越往下,记录的信息越具体,级别越往上记录信息越抽象。

攻击序列用于表示攻击事件与事件间有序列表示攻击发生的顺序先后,如果是同一攻击来源的同一次攻击,则按顺序连接{Attack_Index},若同一攻击来源会发生不同的攻击方式;各级依照以下三元组进行连接:

{M0}-[r1:include]->{M1}

{M1}-[r2:happend]->{M2}

{M2}-[r1:include]->{M3}。

S3:根据知识图谱选定k类簇的各自中心点Cj,计算各个簇到中心点Cj的距离,得到k个距离数组Dij,取最小值Min{[Dji]},i表示簇内的点,其对应中心点j,中心点j便是i新划分到的簇,完成所有点的第一次聚类;

S4:将i轮换成其所在的中心点簇J,计算距离代价总和;步骤S4中计算距离代价总和方式为,设任意一点t,距离原中心点簇j的距离为Djt,然后变更为i后,距离中心点簇i的距离为Dit,两者距离差的绝对值为dist{i,j,t}=|Djt-Dit|,dist{i,j,t}为中心点由j变为i,t点需要付出的距离代价,最后得到距离总和。

S5:判断距离代价总和是否小于给定距离代价阈值e,如果距离代价总和小于给定距离代价阈值e,则不收敛,继续迭代直至收敛,最终分类成k个行为相关的簇,生成聚类模型;其中,在S5完成聚类模型的划分之后,就得到k个行为相关的簇,可以认定在同一个簇内的行为是有很高的关联性(这种关联性可以通过数据不断积累和不断重复生成聚类模型的过程使得关联性得以加强,也就是等同机器学习的一个过程),这种高关联性的行为就可以被理解为是相似行为,或者在一次攻击事件中极有可能发生的连续行为。将簇里的行为都按照三元组形式抽取出来进行记录。

S6:将k个簇的相似行为采用三元组的形式

[{Pre_Attack_Event}{Predict}{Af_Attack_Event}]进行记录或给定一个距离值d,认定在这个距离内的攻击事件都是有相互发生的可能性来进行记录,从而做出相关性预测;具体地,距离值d是一个设定值,可以按照实际来进行调整。只要小于这个距离值d值,认定是行为有高度相似或者高度连读,极有可能在短时间内连续发生。事实上在前面的步骤中,都是将攻击行为换成了平面上一个点,攻击行为的相似性,就是等同于点与点的距离。如果两个行为之间的距离小于我们认定距离d(可以调整),那么我就认为这两个行为有发生连续性的可能,从而在一次攻击行为发生的时候,通过去距离判断,预测其接下来有可能发生的各种攻击行为(因为有可能会多个点距离这个攻击行为点的距离都是在d范围内,所以实际上预测行为有可能是多个)

S7:再次收集来自同一攻击来源IP连续的攻击信息来,记录每次攻击行为,然后将这次攻击事件放入到聚类模型里面进行验证,如果超出预期则再进行聚类重构,从而不断完善聚类模型。

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

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号