攻击链检测方法及装置与流程

文档序号:17481555发布日期:2019-04-20 06:29阅读:392来源:国知局
攻击链检测方法及装置与流程

本发明实施例属于网络安全技术领域,更具体地,涉及一种攻击链检测方法及装置。



背景技术:

随着信息化技术的发展,针对核心信息系统和关键信息基础设施的安全事件频发,网络攻击威胁和网络犯罪呈现组织化和产业化的趋势,其中有一类有组织、有特定目标、持续时间极长的新型攻击和威胁正在发展壮大,国际上称之为apt(advancedpersistentthreat,高级持续性威胁),又称“针对特定目标的攻击”。此类攻击多针对金融、能源、交通、政府、军工、电信等重要信息系统。由于apt攻击渠道多样化、隐蔽时间长且攻击特征难以提取,使得攻击链的检测面临巨大困难。在此背景下研究如何高效、准确地检测apt攻击事件具有重要意义。

传统的apt检测方法通常基于主机监控系统、入侵检测系统等检测设备获得主机行为或网络流量日志,通过建立样本特征库检测网络环境中单个主机的攻击行为或异常事件,通过日志关联与大数据分析从海量的行为数据中发现攻击的全貌。

现有的apt检测方法十分依赖专家知识和人工判断,主观性较强,从而导致攻击链检测不精确。由于检测设备的告警信息相互割裂且孤立,传统的检测方法缺乏对碎片化告警信息的有效集成,其网络环境感知性差、情报价值利用率低、攻击阶段关联性弱、人工分析滞后性长等问题使得传统的检测方法已不再适用于复杂多变且隐蔽性强的apt事件检测。



技术实现要素:

为克服上述现有的攻击链检测方法检测不精确的问题或者至少部分地解决上述问题,本发明实施例提供一种攻击链检测方法及装置。

根据本发明实施例的第一方面,提供一种攻击链检测方法,包括:

s1,根据各攻击事件所属的攻击阶段和传递各所述攻击事件的主机节点构建攻击事件图;

s2,根据所述攻击事件图计算各所述主机节点的中介中心性;

s3,对于任一种临近攻击事件序列,根据各所述主机节点的中介中心性计算该种临近攻击事件序列的隶属度;

s4,获取所述攻击事件图中的每条攻击路径,若各条所述攻击路径包含核心主机节点,则根据各所述主机节点的临近攻击事件序列的隶属度,基于d-s证据理论以所述核心主机节点为起点逆向追寻发起所述攻击事件的主机节点,将追寻的所述主机节点和所述核心节点作为攻击链;

其中,该种临近攻击事件序列的隶属度为该种临近攻击事件序列属于该种临近攻击事件序列对应的临近攻击阶段序列的概率,所述临近攻击事件序列包括任一所述主机节点的一次出向攻击事件和一次入向攻击事件,且所述出向攻击事件和所述入向攻击事件满足第一预设条件,所述临近攻击事件序列对应的临近攻击阶段序列包括所述临近攻击事件序列中出向攻击事件所属的攻击阶段和入向攻击事件所属的攻击阶段;所述核心主机节点为满足第二预设条件的所述主机节点。

根据本发明实施例第二方面提供一种攻击链检测装置,包括:

构建模块,用于根据各攻击事件所属的攻击阶段和传递各所述攻击事件的主机节点构建攻击事件图;

第一计算模块,用于根据所述攻击事件图计算各所述主机节点的中介中心性;

第二计算模块,用于对于任一种临近攻击事件序列,根据各所述主机节点的中介中心性计算该种临近攻击事件序列的隶属度;

检测模块,用于获取所述攻击事件图中的每条攻击路径,若各条所述攻击路径包含核心主机节点,则根据各所述主机节点的临近攻击事件序列的隶属度,基于d-s证据理论以所述核心主机节点为起点逆向追寻发起所述攻击事件的各主机节点,将追寻的所述主机节点和所述核心节点作为攻击链;

其中,该种临近攻击事件序列的隶属度为该种临近攻击事件序列属于该种临近攻击事件序列对应的临近攻击阶段序列的概率,所述临近攻击事件序列包括任一所述主机节点的一次出向攻击事件和一次入向攻击事件,且所述出向攻击事件和所述入向攻击事件满足第一预设条件,所述临近攻击事件序列对应的临近攻击阶段序列包括所述临近攻击事件序列中出向攻击事件所属的攻击阶段和入向攻击事件所属的攻击阶段;所述核心主机节点为满足第二预设条件的所述主机节点。

根据本发明实施例的第三个方面,还提供一种电子设备,包括:

至少一个处理器;以及

与所述处理器通信连接的至少一个存储器,其中:

所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的攻击链检测方法。

根据本发明实施例的第四个方面,还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的攻击链检测方法。

本发明实施例提供一种攻击链检测方法及装置,该方法通过结合网络中各主机节点的业务关系和网络拓扑,构建攻击事件图,引入中介中心性计算拓扑节点的位置权重,描述拓扑结构对攻击事件传播的影响系数,引入临近攻击事件序列的隶属度更为精确描述攻击事件与攻击阶段之间的对应关系,使用d-s证据理论对各主机节点攻击事件序列的隶属度进行证据融合,逆向追寻发起攻击事件的主机节点,挖掘出网络中的攻击链,本实施例建立了多步攻击之间的逻辑关系,从而使得检测出的攻击链更准确,实现对apt事件的精准检测。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的攻击链检测方法整体流程示意图;

图2为本发明实施例提供的攻击链检测装置整体结构示意图;

图3为本发明实施例提供的电子设备整体结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的一个实施例中提供一种攻击链检测方法,图1为本发明实施例提供的攻击链检测方法整体流程示意图,该方法包括:s1,根据各攻击事件所属的攻击阶段和传递各所述攻击事件的主机节点构建攻击事件图;

具体地,在构建攻击事件图之前,将整个攻击过程划分为多个攻击阶段,如将整个攻击过程划分为五个攻击阶段,分别是扫描探测阶段、入侵尝试阶段、控制提权阶段、潜伏扩散阶段和实施破坏阶段。为每个攻击事件确定一个攻击阶段。前两个攻击阶段的攻击事件多可以被ids(intrusiondetectionsystems,入侵检测系统)或waf(webapplicationfirewall,web应用防护系统)等边界类防护设备明显识别。例如,端口扫描和服务探测等攻击事件可归为扫描探测阶段,ssh(secureshell,一种加密的网络协议)口令爆破、sql注入、xss(crosssitescripting,跨站脚本攻击)注入和恶意文件上传等可归为入侵尝试阶段,对于入侵尝试阶段的攻击事件不仅限于web应用类攻击,如邮件鱼叉攻击和网络钓鱼等明显的恶意试探性攻击皆归为入侵尝试阶段。对于控制提权阶段和潜伏扩散阶段,由于攻击者已建立据点获取部分权限,其进阶渗透尝试多集中于系统内部,行为恶意性特征较为隐蔽,此时仅依据边界类防护设备的告警信息已不能作出有效判断,还需结合信息系统自身的安防监控、系统负载等主机日志判断是否存在此两个阶段的攻击事件,例如发现木马病毒、系统服务异常和核心文件篡改等可归为控制提权阶段,主机异常通信和流量负载异常则可归为潜伏扩散阶段。各攻击事件通过主机节点进行传递,将传递各攻击事件的主机节点作为攻击事件图的节点,根据各攻击事件所属的攻击阶段确定攻击事件图的边,从而构建攻击事件图。

s2,根据所述攻击事件图计算各所述主机节点的中介中心性;

中介中心性用于度量各主机节点在攻击事件图的拓扑结构中对于攻击事件后续扩散的位置关键性。各主机节点的中介中心性的表达式为:

其中,σst表示从主机节点s到主机节点t的最短路径的数量,σst(v)表示从主机节点s到主机节点t的最短路径中经过主机节点v的最短路径数量。则σst(v)的公式为:

其中,d(s,t)表示主机节点s到主机节点t的所有连通边权重的倒数之和,也称为主机节点s到主机节点t之间的距离。同样地,d(s,v)表示主机节点s到主机节点v之间的距离,d(v,t)表示主机节点v到主机节点t之间的距离,σsv表示从主机节点s到主机节点v的最短路径的数量,σvt表示从主机节点v到主机节点t的最短路径的数量。设起始主机节点为s,主机节点v的直接前序节点集合为ps(v)={u∈v:{u,v}∈e,d(s,v)=d(s,u)+w(u,v)}。其中,v为攻击事件图中的主机节点,e为攻击事件图中的边,w(u,v)表示u、v两点间的边权重。采用迪杰斯特拉算法计算经过主机节点v的最短路径数量为:

其中,σsu表示从主机节点s到主机节点u的最短路径的数量。采用节点对依赖值的计算方法,获取各主机节点的中介中心性。

s3,对于任一种临近攻击事件序列,根据各所述主机节点的中介中心性计算该种临近攻击事件序列的隶属度;其中,该种临近攻击事件序列的隶属度为该种临近攻击事件序列属于该种临近攻击事件序列对应的临近攻击阶段序列的概率,所述临近攻击事件序列包括任一所述主机节点的一次出向攻击事件和一次入向攻击事件,且所述出向攻击事件和所述入向攻击事件满足第一预设条件,所述临近攻击事件序列对应的临近攻击阶段序列包括所述临近攻击事件序列中出向攻击事件所属的攻击阶段和入向攻击事件所属的攻击阶段;

其中,任一主机节点的出向攻击事件为任一主机节点传出的攻击事件,任一主机节点的入向攻击事件为输入任一主机节点的攻击事件。对于任一主机节点。一个主机节点的入向攻击事件包括一次或多次,一个主机节点的出向攻击事件包括一次或多次。若一个主机节点任一次入向攻击事件和任一次出向攻击事件满足第一预设条件,则将该次入向攻击事件和该次出向攻击事件作为该主机节点的一次临近攻击事件序列tl,后续用tl表示临近攻击事件序列。将该次入向攻击事件所属的攻击阶段和该次出向攻击事件所属的攻击阶段作为该tl对应的临近攻击阶段序列sl,后续用sl表示临近攻击阶段序列。由于一个sl中每个攻击阶段对应有多种攻击事件,因此,一个tl对应有多种sl。第一预设条件为预先设定的用于判断一次入向攻击事件和一次出向攻击事件是否为主机节点的tl的条件。每个主机节点有多个tl,不同主机节点的tl之间可能有交集。将所有主机节点的tl作为一个整体,对于这个整体中的每一种tl,根据各主机节点的中介中心性计算各种tl属于各种tl对应的sl的概率,即各种tl的隶属度。

s4,获取所述攻击事件图中的每条攻击路径,若各条所述攻击路径包含核心主机节点,则根据各所述主机节点的临近攻击事件序列的隶属度,基于d-s证据理论以所述核心主机节点为起点逆向追寻发起所述攻击事件的主机节点,将追寻的所述主机节点和所述核心节点作为攻击链;其中,所述核心主机节点为满足第二预设条件的所述主机节点。

其中,攻击路径为攻击事件图中的路径,判断各条攻击路径中的各主机节点是否满足第二预设条件。第二预设条件为预先设定的用于判断各主机节点是否为核心主机节点的条件。第二预设条件可以根据各主机节点存储的数据、权限以及是否与其他核心主机节点建立直接通信等指标,结合实际业务场景进行确定。若各条攻击路径包含核心主机节点,则说明攻击链已入侵核心主机节点,采用d-s(dempster/shafer)证据理论解决单节点信息融合冲突问题,以核心主机节点为起点逆向追寻发起攻击事件的主机节点。d-s证据理论是dempster首先提出,由他的学生shafer进一步发展起来的一种不精确推理理论。具体根据各主机节点的tl的隶属度,基于d-s证据理论以核心主机节点为起点逆向追寻发起所述攻击事件的主机节点。按照追寻主机节点的时间先后顺序将追寻的各主机节点进行排序,核心主机节点为排序中的最后一个主机节点,从而形成攻击链。

本实施例通过结合网络中各主机节点的业务关系和网络拓扑,构建攻击事件图,引入中介中心性计算拓扑节点的位置权重,描述拓扑结构对攻击事件传播的影响系数,引入临近攻击事件序列的隶属度更为精确描述攻击事件与攻击阶段之间的对应关系,使用d-s证据理论对各主机节点攻击事件序列的隶属度进行证据融合,逆向追寻发起攻击事件的主机节点,挖掘出网络中的攻击链,本实施例建立了多步攻击之间的逻辑关系,从而使得检测出的攻击链更准确。本实施例适用于对各种攻击事件的检测,对复杂多变且隐蔽性强的apt事件能进行精准检测

在上述实施例的基础上,本实施例中s1具体包括:根据各所述攻击事件的告警信息,获取各所述攻击事件的源地址和目的地址;将任一所述攻击事件的源地址和目的地址对应的主机节点相连,将连接的直线作为攻击事件图的边,将所述任一攻击事件所属的攻击阶段作为所述攻击事件图的边的权重。

具体地,根据各攻击事件的告警信息抽象规约为五元组e{c,p,t,hsrc,hdst}描述,其中c表示告警类型,p表示告警信息涉及的攻击事件所属的攻击阶段,t表示告警时间,hsrc表示告警信息所涉及攻击事件的源地址,hdst表示告警信息所涉及攻击事件的目的地址。根据五元组建立攻击事件图ag={h,e}。e是攻击事件图的有向边集合,取攻击事件所属阶段p为边的权重值,h是各主机节点状态的集合,h∈h表示当前遭受攻击的最高阶段等级,取各主机节点出向边的最高权重作为h的值。默认攻击者的攻击能力稳定且攻击行为单调纵向传递,则此状态亦代表该主机节点向后,如直联节点和潜在关联节点传递攻击事件的最高等级。

在上述实施例的基础上,本实施例中所述第一预设条件为所述入向攻击事件所属的攻击阶段大于或等于所述出向攻击事件所属的攻击阶段,且所述出向攻击事件的告警时间在所述入向攻击事件的告警时间之后或相同,且所述出向攻击事件的告警时间与所述入向攻击事件的告警时间之间的时间间隔小于或等于预设时间窗。

具体地,对于任一主机节点,设ei为该主机节点的入向攻击事件集合,eo为该主机节点的出向攻击事件。从ei中选取该主机节点的一次入向攻击事件ei,ei所属的攻击阶段为pi,ei的告警时间为ti。从eo中选取该主机节点的一次出向攻击事件eo,eo所属的攻击阶段为po,eo的告警时间为to。第一预设条件为pi≥po,且0≤to-ti≤δ,其中δ表示预设时间窗。若满足第一预设条件,则称nj={ei,eo}为该主机节点的一次tl,其中,j为该主机节点中tl的编号。

在上述实施例的基础上,本实施例中s3具体包括:s31,将该种临近攻击事件序列对应的临近攻击阶段序列作为指定临近攻击阶段序列;s32,将所述指定临近攻击阶段序列对应的所有临近攻击事件序列作为矩阵的列,将各所述主机节点作为所述矩阵的行,若各所述主机节点存在任一列对应的临近攻击事件序列,则将各所述主机节点的中介中心性作为所述任一列中各所述主机节点所在行对应的元素;或者,若各所述主机节点不存在任一列对应的临近攻击事件序列,则将所述任一列中各所述主机节点所在行对应的元素填充为0;s33,根据所述矩阵,计算该种临近攻击事件序列的隶属度。

具体地,遍历同一节点的所有tl组合,附以当前主机节点的中介中心性cbk作为评价系数,得到临近攻击事件评价样本ak={n1cbk,n2cbk,…,nmcbk,}。其中,k为当前主机节点的编号,nm为任一主机节点第m个tl。遍历所有主机节点得到全部的临近攻击事件评价样本集合{a1,a2,…,ak}。对评价样本集合做聚类分析,通过建立两次攻击事件的逻辑关联性,计算在一次攻击传递的过程中,每种tl在其所属的sl中出现的可能性,表述了攻击事件传递对攻击阶段传递的隶属关系,称之为攻击事件隶属度。例如tl{ei1,eo1}对应的sl为{3,2},该sl对应的所有主机节点的tl为{ei1,eo1}、{ei2,eo2}、{ei3,eo3}、{ei4,eo4}和{ei5,eo5}5个,主机节点的总个数为8,则矩阵的列数为5,行数为8,若第1个主机节点存在{ei1,eo1}和{ei2,eo2},不存在{ei3,eo3}、{ei4,eo4}和{ei5,eo5},则第一行第一列和第一行第二列的元素为第一个主机节点的中介中心性cb1,第一行的其它元素为0。以相同的方法确定矩阵中其它元素的值。根据该矩阵,计算tl{ei1,eo1}的隶属度。

在上述实施例的基础上,本实施例中s33具体包括:将所述矩阵中该种临近攻击事件序列对应的列中的元素相加,获取第一总数;将所述矩阵中的所有元素相加,获取第二总数;将所述第一总数与所述第二总数的比值作为该种临近攻击事件序列的隶属度。

具体地,隶属度的计算公式如下:

其中,k为主机节点的总个数,即矩阵的总行数,m为该种tl所属的临近攻击阶段下所有tl的总个数,即矩阵的总列数,nj为第j列对应的tl,i为矩阵的行数。cbij为第i行第j列元素的值。m(nj)为该种tl的隶属度。由于所有列对应的tl所属的sl相同,使用该矩阵可以计算该矩阵中任一列的攻击事件序列的隶属度。

在上述实施例的基础上,本实施例中s4具体包括:将多个所述预设时间窗下各所述主机节点的临近攻击事件序列作为辨识框架;根据所述辨识框架和多个所述预设时间窗下各主机节点的临近攻击事件序列的隶属度,基于d-s证据理论以所述核心主机节点为起点逆向追寻发起所述攻击事件的各主机节点。

具体地,由于预设时间窗不同,确定的tl不同。调整预设时间窗,获取多个预设时间窗下各种tl的隶属度。对于同一个主机节点,将该主机节点在每种预设时间窗下的tl集合n={nt1,nt2,…ntk,}看作一个辨识框架u。nt1为观察主机节点在第一种预设时间窗下的tl。设beli为u对应的信度函数,m(nti)为其所对应的基本概率指派函数,则:

冲突系数k定义如下:

则判决结果为:

根据判决结果逆向追寻发起攻击事件的各主机节点。随着观测时间的增长,聚类样本和攻击图得到充实和完善,信度函数持续迭代,发掘显著与潜在攻击链,逐渐还原出全局攻击场景,为业务部门的网络安全管理与攻击事件探查提供决策辅助。

在上述各实施例的基础上,本实施例中还包括:若各条所述攻击路径不包含所述核心主机节点,则根据各种所述临近攻击事件序列的隶属度,预测各条所述攻击路径的最后一个主机节点发起的攻击事件。

具体地,若各条攻击路径中不包含核心主机节点,则说明各条攻击路径未入侵核心节点,则称此条攻击路径末端的主机节点为潜在威胁节点。根据潜在威胁节点的各入向攻击事件、各入向攻击事件所属的攻击阶段和各种tl的隶属度,预测该潜在威胁节点发起的攻击事件,即出向攻击事件。例如一个潜在威胁节点的一次入向攻击事件为ei1,ei1所属的攻击阶段为3。从所有tl中选取入向攻击实际为ei1的tl作为分析对象,获取分析对象中每种tl的隶属度,若分析对象中tl的最大隶属度大于预设阈值,则将分析对象中隶属度最大的tl中的出向攻击事件作为潜在威胁节点发起的攻击事件。从而根据tl的隶属度,预测潜在威胁节点下一步可能发起的攻击事件,结合本主机的脆弱性定向查杀恶意进程,修补漏洞。

在本发明的另一个实施例中提供一种攻击链检测装置,该装置用于实现前述各实施例中的方法。因此,在前述攻击链检测方法的各实施例中的描述和定义,可以用于本发明实施例中各个执行模块的理解。图2为本发明实施例提供的攻击链检测装置整体结构示意图,该装置包括构建模块201、第一计算模块202、第二计算模块203和检测模块204;其中:

构建模块201用于根据各攻击事件所属的攻击阶段和传递各所述攻击事件的主机节点构建攻击事件图;

其中,各攻击事件通过主机节点进行传递,将传递各攻击事件的主机节点作为攻击事件图的节点,构建模块201根据各攻击事件所属的攻击阶段确定攻击事件图的边,从而构建攻击事件图。

第一计算模块202用于根据所述攻击事件图计算各所述主机节点的中介中心性;

中介中心性用于度量各主机节点在攻击事件图的拓扑结构中对于攻击事件后续扩散的位置关键性。

第二计算模块203用于对于任一种临近攻击事件序列,根据各所述主机节点的中介中心性计算该种临近攻击事件序列的隶属度;其中,该种临近攻击事件序列的隶属度为该种临近攻击事件序列属于该种临近攻击事件序列对应的临近攻击阶段序列的概率,所述临近攻击事件序列包括任一所述主机节点的一次出向攻击事件和一次入向攻击事件,且所述出向攻击事件和所述入向攻击事件满足第一预设条件,所述临近攻击事件序列对应的临近攻击阶段序列包括所述临近攻击事件序列中出向攻击事件所属的攻击阶段和入向攻击事件所属的攻击阶段;

其中,任一主机节点的出向攻击事件为任一主机节点传出的攻击事件,任一主机节点的入向攻击事件为输入任一主机节点的攻击事件。对于任一主机节点。一个主机节点的入向攻击事件包括一次或多次,一个主机节点的出向攻击事件包括一次或多次。若一个主机节点任一次入向攻击事件和任一次出向攻击事件满足第一预设条件,则将该次入向攻击事件和该次出向攻击事件作为该主机节点的一次tl。将该次入向攻击事件所属的攻击阶段和该次出向攻击事件所属的攻击阶段作为该次tl对应的sl。由于一个sl中每个攻击阶段对应有多种攻击事件,因此,一个sl对应有多种tl。第一预设条件为预先设定的用于判断一次入向攻击事件和一次出向攻击事件是否为主机节点的tl的条件。每个主机节点有多个tl,不同主机节点的tl之间可能有交集。将所有主机节点的tl作为一个整体,对于这个整体中的每一种tl,计算模块202根据各主机节点的中介中心性计算各种tl属于各种tl对应的sl的概率,即各种tl的隶属度。

检测模块204用于获取所述攻击事件图中的每条攻击路径,若各条所述攻击路径包含核心主机节点,则根据各所述主机节点的临近攻击事件序列的隶属度,基于d-s证据理论以所述核心主机节点为起点逆向追寻发起所述攻击事件的各主机节点,将追寻的所述主机节点和所述核心节点作为攻击链;其中,所述核心主机节点为满足第二预设条件的所述主机节点。

其中,攻击路径为攻击事件图中的路径,判断各条攻击路径中的各主机节点是否满足第二预设条件。第二预设条件为预先设定的用于判断各主机节点是否为核心主机节点的条件。第二预设条件可以根据各主机节点存储的数据、权限以及是否与其他核心主机节点建立直接通信等指标,结合实际业务场景进行确定。若各条攻击路径包含核心主机节点,则说明攻击链已入侵核心主机节点,检测模块203采用d-s证据理论解决单节点信息融合冲突问题,以核心主机节点为起点逆向追寻发起攻击事件的主机节点。具体根据各主机节点的tl的隶属度,基于d-s证据理论以核心主机节点为起点逆向追寻发起所述攻击事件的主机节点。按照追寻主机节点的时间先后顺序将追寻的各主机节点进行排序,核心主机节点为排序中的最后一个主机节点,从而形成攻击链。

本实施例通过结合网络中各主机节点的业务关系和网络拓扑,构建攻击事件图,引入中介中心性计算拓扑节点的位置权重,描述拓扑结构对攻击事件传播的影响系数,引入临近攻击事件序列的隶属度更为精确描述攻击事件与攻击阶段之间的对应关系,使用d-s证据理论对各主机节点攻击事件序列的隶属度进行证据融合,逆向追寻发起攻击事件的主机节点,挖掘出网络中的攻击链,本实施例建立了多步攻击之间的逻辑关系,从而使得检测出的攻击链更准确。本实施例适用于对各种攻击事件的检测,对复杂多变且隐蔽性强的apt事件能进行精准检测

在上述实施例的基础上,本实施例中构建模块具体用于:根据各所述攻击事件的告警信息,获取各所述攻击事件的源地址和目的地址;将任一所述攻击事件的源地址和目的地址对应的主机节点相连,将连接的直线作为攻击事件图的边,将所述任一攻击事件所属的攻击阶段作为所述攻击事件图的边的权重。

在上述实施例的基础上,本实施例中所述第一预设条件为所述入向攻击事件所属的攻击阶段大于或等于所述出向攻击事件所属的攻击阶段,且所述出向攻击事件的告警时间在所述入向攻击事件的告警时间之后或相同,且所述出向攻击事件的告警时间与所述入向攻击事件的告警时间之间的时间间隔小于或等于预设时间窗。

在上述实施例的基础上,本实施例中第二计算模块具体用于:将该种临近攻击事件序列对应的临近攻击阶段序列作为指定临近攻击阶段序列;将所述指定临近攻击阶段序列对应的所有临近攻击事件序列作为矩阵的列,将各所述主机节点作为所述矩阵的行,若各所述主机节点存在任一列对应的临近攻击事件序列,则将各所述主机节点的中介中心性作为所述任一列中各所述主机节点所在行对应的元素;或者,若各所述主机节点不存在任一列对应的临近攻击事件序列,则将所述任一列中各所述主机节点所在行对应的元素填充为0;根据所述矩阵,计算该种临近攻击事件序列的隶属度。

在上述实施例的基础上,本实施例中第二计算模块进一步用于:将所述矩阵中该种临近攻击事件序列对应的列中的元素相加,获取第一总数;将所述矩阵中的所有元素相加,获取第二总数;将所述第一总数与所述第二总数的比值作为该种临近攻击事件序列的隶属度。

在上述实施例的基础上,本实施例中检测模块具体用于:将多个所述预设时间窗下各所述主机节点的临近攻击事件序列作为辨识框架;根据所述辨识框架和多个所述预设时间窗下各主机节点的临近攻击事件序列的隶属度,基于d-s证据理论以所述核心主机节点为起点逆向追寻发起所述攻击事件的各主机节点。

在上述各实施例的基础上,本实施例中还包括预测模块,用于在各条所述攻击路径不包含所述核心主机节点时,根据各种所述临近攻击事件序列的隶属度,预测各条所述攻击路径的最后一个主机节点发起的攻击事件。

本实施例提供一种电子设备,图3为本发明实施例提供的电子设备整体结构示意图,该设备包括:至少一个处理器301、至少一个存储器302和总线303;其中,

处理器301和存储器302通过总线303完成相互间的通信;

存储器302存储有可被处理器301执行的程序指令,处理器调用程序指令能够执行上述各方法实施例所提供的方法,例如包括:根据各攻击事件所属的攻击阶段和传递各所述攻击事件的主机节点构建攻击事件图,根据所述攻击事件图计算各所述主机节点的中介中心性;对于任一种临近攻击事件序列,根据各所述主机节点的中介中心性计算该种临近攻击事件序列的隶属度;获取所述攻击事件图中的每条攻击路径,若各条所述攻击路径包含核心主机节点,则根据各所述主机节点的临近攻击事件序列的隶属度,基于d-s证据理论以所述核心主机节点为起点逆向追寻发起所述攻击事件的主机节点,将追寻的所述主机节点和所述核心节点作为攻击链。

本实施例提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行上述各方法实施例所提供的方法,例如包括:根据各攻击事件所属的攻击阶段和传递各所述攻击事件的主机节点构建攻击事件图,根据所述攻击事件图计算各所述主机节点的中介中心性;对于任一种临近攻击事件序列,根据各所述主机节点的中介中心性计算该种临近攻击事件序列的隶属度;获取所述攻击事件图中的每条攻击路径,若各条所述攻击路径包含核心主机节点,则根据各所述主机节点的临近攻击事件序列的隶属度,基于d-s证据理论以所述核心主机节点为起点逆向追寻发起所述攻击事件的主机节点,将追寻的所述主机节点和所述核心节点作为攻击链。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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