一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

面向攻击溯源的威胁情报智能分析方法及系统

2022-04-30 10:29:20 来源:中国专利 TAG:


1.本发明属于网络信息安全分析技术领域,特别涉及一种面向攻击溯源的威胁情报智能分析方法及系统。


背景技术:

2.随着网络技术的不断发展,万物互联的信息化社会正逐步到来。然而,网络技术促进社会进步的同时也带来了新的问题——网络安全威胁。当前网络空间面临多种安全威胁并存的局面,为网络中各类信息系统带来了不同程度的安全隐患。因此,如何有效识别威胁,对于合理分析威胁的进一步发展并实施针对性防御具有重大意义。
3.当前威胁识别方面的研究以威胁特征为识别目标,主要基于攻击场景重构实现,具体而言,首先通过告警关联重构攻击场景,再根据进一步分析的需要,从攻击场景中提取相应类型的威胁特征。其中,告警关联方法主要包括基于攻击图以及基于属性相似性等两类方法,前者由于依托先验知识,相比于后者,无需进行复杂的相似性计算,能够更加准确、快速地完成场景重构,而后者则具备挖掘未知攻击的能力,两者各有长短。近年来相关研究趋向于以前者为主,辅以后者,也可协同使用两类方法,能够实现优势互补。然而,由于攻击图等模型是一种以脆弱性利用动作为核心的简化的攻击场景表示形式,导致重构的攻击场景缺乏攻击上下文等细节信息,不利于威胁特征的识别提取。威胁特征识别以重构的攻击场景为依据,设计特征分析算法,提取相应特征。根据特征类别,采用分析方法也不同,如:基于贝叶斯网络的攻击意图分析方法、基于攻击时间的攻击能力动态量化评估方法以及基于动静态分析的恶意代码特征提取方法等等。尽管以上方法在针对具体类型的威胁特征的提取方面均取得了不错的效果,但是,单一攻击场景承载的威胁特征知识毕竟有限,尚不足以支持对威胁全貌的识别,因此,仍需探索一种能够进一步提高威胁识别程度的方法。


技术实现要素:

4.针对基于场景重构的威胁分析方法因攻击场景信息有限、无法充分识别威胁特征等问题,本发明提供一种面向攻击溯源的威胁情报智能分析方法及系统,以脆弱性利用动作为核心构建攻击事件框架,并以事件为单位实施告警关联,重构攻击场景;在此基础上,利用威胁指纹知识图谱,整合已公开的威胁情报知识,并抽取攻击场景中的威胁特征作为指纹,分析两者相似性,溯源攻击者,能够利用攻击事件框架充实攻击行为的上下文信息,并基于知识图谱有效溯源攻击者,提高威胁特征识别全面性。
5.按照本发明所提供的设计方案,一种面向攻击溯源的威胁情报智能分析方法,包含:
6.通过分析场景中脆弱性利用动作,构建用于刻画攻击事件中攻击步骤类型的攻击事件框架,并以攻击事件为单位进行攻击告警关联,重构攻击场景;
7.提取攻击场景中威胁特征作为指纹特征,构建威胁指纹知识图谱;通过比较知识图谱中指纹特征相似性来挖掘攻击场景幕后攻击者。
8.作为本发明面向攻击溯源的威胁情报智能分析方法,进一步地,基于杀伤链模型构建用于作为攻击事件框架的单个攻击事件模板,其中,攻击事件中攻击步骤由先至后依次表示为侦察、攻击武器构造、攻击载荷投送、脆弱性利用、恶意程序安装、命令控制活动及目标行动。
9.作为本发明面向攻击溯源的威胁情报智能分析方法,进一步地,重构攻击场景中,首先,利用先验知识聚合攻击步骤所引发的攻击告警,生成元告警;然后,以脆弱性利用元告警为基点,聚合攻击上下文告警,识别攻击事件,并添加至对应脆弱性利用动作的列表中;以脆弱性利用前后依赖关系及告警时序关系将识别的攻击事件前后关联为攻击场景。
10.作为本发明面向攻击溯源的威胁情报智能分析方法,进一步地,识别攻击事件中,首先对多源告警信息进行预处理,统一告警格式;然后,通过参数匹配方式从原始告警中提取脆弱性利用引发的原始告警,将符合预设具体条件的告警聚合为元告警;以脆弱性利用元告警为基点,通过预设时间窗口来聚合攻击上下文告警。
11.作为本发明面向攻击溯源的威胁情报智能分析方法,进一步地,攻击事件关联中,假设一个场景中同一脆弱性利用仅存在一个对应的攻击事件,通过聚合断点处攻击上下文作为证据,对相关攻击场景片段进行拼接。
12.作为本发明面向攻击溯源的威胁情报智能分析方法,进一步地,以作为威胁主体的攻击者作为分析对象,抽取威胁情报、攻击场景中与攻击者身份相关的威胁要素特征来构建威胁指纹知识图谱。
13.作为本发明面向攻击溯源的威胁情报智能分析方法,进一步地,威胁指纹知识图谱表示为(tfo,tfi,t),其中,tfo代表用于描述威胁指纹概念层面知识的威胁指纹知识本体,且其表示为(c,r,p),c为概念类集,r为概念间关系集,p为类属性集;tfi表示概念知识实例集,t为tfi中实例与tfo中对应概念类型从属关系集合。
14.作为本发明面向攻击溯源的威胁情报智能分析方法,进一步地,针对威胁指纹知识图谱,通过模型学习将知识图谱元素内容映射到低维向量空间,利用向量基本运算表达元素间具有的语义信息,利用向量相似性得分来挖掘攻击场景幕后攻击者。
15.作为本发明面向攻击溯源的威胁情报智能分析方法,进一步地,模型学习中,假设不同攻击组织为攻击场景幕后攻击者,通过指纹相似性损失函数对不同攻击组织作为攻击者的可能性进行排名来识别攻击场景幕后攻击者,其中,指纹相似性损失函数表示为:att表示攻击组织实体,domi表示att第i个指纹特征领域实体,wi表示domi对应的影响程度权重值,l(domi)表示domi领域层面的指纹相似性损失。
16.进一步地,本发明还提供一种面向攻击溯源的威胁情报智能分析系统,包含:场景重构模块和攻击识别模块,其中,
17.场景重构模块,用于通过分析场景中脆弱性利用动作,构建用于刻画攻击事件中攻击步骤类型的攻击事件框架,并以攻击事件为单位进行攻击告警关联,重构攻击场景;
18.攻击识别模块,用于提取攻击场景中威胁特征作为指纹特征,构建威胁指纹知识图谱;通过比较知识图谱中指纹特征相似性来挖掘攻击场景幕后攻击者。
19.本发明的有益效果:
20.本发明针对攻击场景的信息充实问题,以脆弱性利用动作为核心,可参照杀伤链
模型构建攻击事件框架,细化脆弱性利用动作的上下文,并在现有基于攻击图的告警关联方法的基础上以攻击事件为单位实施告警关联,充实重构的攻击场景中的攻击上下文信息;针对威胁的识别程度问题,以溯源攻击者作为威胁识别的目标,将攻击场景中提取的特征作为威胁指纹,通过构建威胁指纹知识图谱,整合现有威胁情报知识,利用威胁相似性分析算法,通过比较指纹相似性,挖掘攻击场景幕后的攻击者,在根源上识别威胁,借助知识图谱整合已知威胁情报知识,更全面地识别威胁特征,便于网络中各类信息系统安全隐患的合理分析及针对性防御,实用性强,具有广阔的应用前景。
附图说明:
21.图1为实施例中面向攻击溯源的威胁情报智能分析流程示意;
22.图2为实施例中攻击场景结构示意;
23.图3为实施例中列表间攻击事件关联示意;
24.图4为实施例中威胁指纹知识本体tfo示意;
25.图5为实施例中transh的多对一关系表示示意;
26.图6为实施例中预设系统环境示意;
27.图7为实施例中受害网络攻击图推理结果示意;
28.图8为实施例中单个攻击事件示意;
29.图9为实施例中重构攻击场景示意。
具体实施方式:
30.为使本发明的目的、技术方案和优点更加清楚、明白,下面结合附图和技术方案对本发明作进一步详细的说明。
31.当前威胁识别的研究需重点解决两方面问题,一是如何充实重构的攻击场景包含的攻击信息;二是如何进一步提高威胁的识别程度。为此,本发明实施例,参见图1所示,提供一种面向攻击溯源的威胁情报智能分析方法,包含:
32.s101、通过分析场景中脆弱性利用动作,构建用于刻画攻击事件中攻击步骤类型的攻击事件框架,并以攻击事件为单位进行攻击告警关联,重构攻击场景;
33.s102、提取攻击场景中威胁特征作为指纹特征,构建威胁指纹知识图谱;通过比较知识图谱中指纹特征相似性来挖掘攻击场景幕后攻击者。
34.以脆弱性利用动作为核心构建攻击事件框架,并以事件为单位实施告警关联,重构攻击场景;利用威胁指纹知识图谱,整合已公开的威胁情报知识,并抽取攻击场景中的威胁特征作为指纹,分析两者相似性,溯源攻击者。利用攻击事件框架充实攻击行为的上下文信息,并基于知识图谱有效溯源攻击者,从而利用攻击者已有的威胁情报,提高威胁特征识别的全面性,便于网络中各类信息系统安全隐患的合理分析及针对性防御的实际应用。
35.作为本发明实施例中面向攻击溯源的威胁情报智能分析方法,进一步地,基于杀伤链模型构建用于作为攻击事件框架的单个攻击事件模板,其中,攻击事件中攻击步骤由先至后依次表示为侦察、攻击武器构造、攻击载荷投送、脆弱性利用、恶意程序安装、命令控制活动及目标行动。进一步地,威胁指纹知识图谱表示为(tfo,tfi,t),其中,tfo代表用于描述威胁指纹概念层面知识的威胁指纹知识本体,且其表示为(c,r,p),c为概念类集,r为
概念间关系集,p为类属性集;tfi表示概念知识实例集,t为tfi中实例与tfo中对应概念类型从属关系集合。
36.攻击场景结构如图2所示,原始告警al(alert)仅经过格式标准化处理的告警信息。
37.元告警m(meta alert).指将重复告警进行聚合处理后形成的告警信息。原始告警与元告警的参数格式相同,不同之处仅在于具体的参数值。对于符合聚合条件的原始告警集al={al1,al2…
aln},告警聚合函数m=agg(al)可通过以下处理,将其聚合为元告警:
38.m.detector={ali.detector},ali∈al;
39.m.time=[al
x
.time,aly.time],al
x
.time=earliesttime(al),aly.time=latesttime(al);
[0040]
m.class=commonclass(al);
[0041]
m.source=commonsource(al);
[0042]
m.target=commontarget(al);
[0043]
m.confidence=ali.confidence,ali.confidence=highestconfidence(al)。
[0044]
其中,i,j,x,y,n∈n,同样适用于下文。
[0045]
攻击图ag(attack graph)可表示为有向图(p,ex,e),其中,p为权限节点集,ex为脆弱性利用动作集,e为链接权限节点与脆弱性利用动作节点的有向边。单个脆弱性利用动作e∈ex包含脆弱性vul,目标节点host以及攻击方式attack三个要素,即e=(vul,host,attack)。攻击步骤as(attack step)可为组成攻击事件的最小单位。
[0046]
攻击事件框架aef(attack event framework)是单个攻击事件的模板,基于杀伤链进行构建,刻画了攻击事件包含的攻击步骤类型,攻击步骤由先至后可表示为aef=recon
×
weapon
×
delivery
×
exploit
×
install
×
c&c
×
obj-action,每个元素表示不同类型的攻击步骤,解释如下:
[0047]
1)recon表示侦察,如主机发现、端口扫描等;
[0048]
2)weapon表示攻击武器构造,该步骤不与目标系统直接交互,无法检测,因而以检测到的本攻击事件涉及的诱饵、恶意程序等进行表示;
[0049]
3)delivery表示攻击载荷投送,如发送钓鱼邮件;
[0050]
4)exploit表示脆弱性利用,如利用技术漏洞的缓冲区溢出、远程代码执行等;
[0051]
5)install表示恶意程序安装,如后门程序、木马等植入;
[0052]
6)c&c表示命令与控制活动,如恶意程序的更新以及行动命令下发等;
[0053]
obj-action表示目标行动,如在受害节点本地的数据收集、外传、篡改或以受害节点为“跳板”向别的节点发起的攻击等。
[0054]
攻击上下文ctx(attack context)指在攻击事件中,攻击者围绕脆弱性利用实施的一系列攻击步骤。以脆弱性利用动作e为中心,可分为利用前的准备工作以及成功利用后展开的进一步行动,表示为ctx(e)=pre(e)upost(e),其中,pre(e)包括攻击事件中攻击侦察、攻击武器构造以及攻击载荷投送三类攻击步骤,post(e)包括恶意程序安装、命令控制活动以及目标行动三类攻击步骤。需要注意的是攻击上下文是一个一般化的模型,实际攻击事件并不需要具备全部的步骤。
[0055]
攻击事件ae(attack event)以攻击事件框架为模板的一组攻击步骤的组合,是组
成攻击场景的基本单位。以聚合的元告警表示攻击步骤,记映射到脆弱性利用动作e的某一元告警为mi(e)则以此为核心的攻击事件可表示为aei(e)=(mi(e),mi(ctx(e))),其中,mi(ctx(e))为攻击上下文元告警组成的集合。需要注意的是,根据脆弱性利用节点的定义,同一脆弱性利用动作有可能对应发起位置、发生时间不同的多个元告警,即对应多个攻击事件。
[0056]
攻击场景s(attack scenario)指攻击者对目标系统的入侵过程,由一组前后关联的攻击事件组成。两个攻击事件之间的前后关联关系描述为前件事件的目标行动为后件事件的攻击准备工作,即若两个攻击事件aei(e
x
),aej(ey),存在关系则称aei(e
x
),aej(ey)前后关联,aei(e
x
)为aej(ey)的前件事件,aej(ey)为aei(e
x
)的后件事件。攻击场景的结构及其与攻击图、告警集的关系如图2所示,图中agg()表示告警聚合函数。
[0057]
威胁指纹特征tf(threat fingerprint)指与攻击者的身份密切关联的威胁特征。
[0058]
威胁指纹知识图谱tfkg(threat fingerprint knowledge graph)可指由知识图谱表示的不同威胁指纹特征关联形成的指纹知识库,表示为(tfo,tfi,t),其中,tfo(threat fingerprint ontology)是威胁指纹知识本体,描述了威胁指纹的概念层面知识,表示为(c,r,p),c为概念类集,r为概念间关系集,p为类属性集;tfi(threat fingerprint individual)为概念知识的实例集,表示为(c_indv,r_indv,p_indv),t为tfi中实例与tfo中对应概念的类型从属关系集合。
[0059]
作为本发明实施例中面向攻击溯源的威胁情报智能分析方法,进一步地,重构攻击场景中,首先,利用先验知识聚合攻击步骤所引发的攻击告警,生成元告警;然后,以脆弱性利用元告警为基点,聚合攻击上下文告警,识别攻击事件,并添加至对应脆弱性利用动作的列表中;以脆弱性利用前后依赖关系及告警时序关系将识别的攻击事件前后关联为攻击场景。
[0060]
攻击场景的重构分为两个步骤,攻击事件识别以及关联。其中,事件识别通过告警聚合实现,首先以攻击图提供的脆弱性利用动作集ex作为先验知识,聚合其引发的告警,生成元告警;在此基础上,对照攻击事件框架,以脆弱性利用元告警为基点,聚合攻击上下文告警,从而识别攻击事件;事件关联则以攻击图刻画的脆弱性利用前后依赖关系以及告警的时间序列这两方面条件为参照,对识别出的攻击事件进行前后关联,从而重构攻击场景。
[0061]
作为本发明实施例中面向攻击溯源的威胁情报智能分析方法,进一步地,识别攻击事件中,首先对多源告警信息进行预处理,统一告警格式;然后,通过参数匹配方式从原始告警中提取脆弱性利用引发的原始告警,将符合预设具体条件的告警聚合为元告警;以脆弱性利用元告警为基点,通过预设时间窗口来聚合攻击上下文告警。进一步地,攻击事件关联中,假设一个场景中同一脆弱性利用仅存在一个对应的攻击事件,通过聚合断点处攻击上下文作为证据,对相关攻击场景片段进行拼接。
[0062]
攻击事件是攻击场景的基本单位,本案实施例中主要通过聚合攻击者在攻击事件中执行的攻击步骤所引发的告警信息对其进行识别。其中,告警聚合的基本操作是将同一攻击步骤引起的原始告警信息合并为元告警,在去除重复告警的同时,有效识别目标系统中已发生或正在发生的攻击。由于不同设备产生的告警信息格式存在差异,不利于聚合,因此在聚合前,需对多源告警信息进行预处理,以统一告警格式。参考idmef的alert类格式,
定义告警信息al=(detector,time,class,source,target,confidence),参数具体解释如表1所示。
[0063]
表1.告警信息格式说明
[0064][0065]
注:告警信息类型中的“vul”值只在脆弱性利用步骤引发的告警信息中存在,其余情况为空。
[0066]
完成预处理后,首先通过参数匹配的方式从原始告警集中提取脆弱性利用引发的原始告警,并设置聚合条件,将符合条件的的告警聚合为元告警;在此基础上,以脆弱性利用元告警为基点,设置时间窗口,聚合其上下文告警,从而识别攻击事件,并将聚合生成的攻击事件添加至对应脆弱性利用动作的列表中。设x,y,i,j,n,m∈n,具体算法可设计如下:
[0067]
算法1攻击事件识别算法.
[0068]
input:原始告警集al,脆弱性利用集ex={e1,e2…em
}
[0069]
output:攻击事件列表集q={q(e1),q(e2)

q(em)}
[0070]
step1:设置置信度阈值conf,筛除告警集al中置信度低于阈值的告警;
[0071]
step2:为ex中每个动作节点e初始化攻击事件列表q(e)∈q;
[0072]
step3:从ex中提取脆弱性利用节点e,根据e发生的位置、利用的漏洞以及采用的攻击方式,从告警集中匹配并提取具有相应target、class参数的告警信息,构成对应e的原始告警集al(e),并删除al中被提取的原始告警。匹配规则如下:
[0073]
al(e)={al|al.target.ip=e.host∧al.class=(e.attack,e.vul),al∈al}
[0074]
step4:设置重复告警时间窗口阈值t1,提取al(e)中满足聚合条件的告警执行聚合,删除al(e)中已被聚合的原始告警。对于从al(e)中提取的一组原始告警ali(e)={al1,al2…
aln},将其聚合为元告警mi(e)的前提条件为:
[0075][0076]
step5:设置攻击上下文时间窗口阈值t2,从原始告警集中为step4获取的脆弱性利用元告警mi(e)聚合攻击上下文mi(ctx(e)),删除al中已被聚合的原始告警。
[0077]
1)对于攻击步骤as∈pre(e),其对应的原始告警集ali(as)需满足的聚合条件为:
[0078]
[0079]
2)对于攻击步骤as∈post(e),其对应的原始告警集ali(as)需满足的聚合条件为:
[0080][0081]
step6:将step5生成的攻击上下文元告警集与对应的脆弱性利用元告警合并为攻击事件aei(e)=(mi(e),mi(ctx(e))),并添加至e对应的攻击事件列表aei(e)

q(e);
[0082]
step7:重复step4~step6,直至al(e)中不存在满足聚合条件的原始告警;
[0083]
step8:返回step3,直至遍历ex全部元素,输出q。
[0084]
需要注意的是,以上算法未将由e.host向别的节点发起的目标行动聚合在post(e)中,而是将这一部分目标行动聚合于后件事件的准备工作中,后续进行关联分析后,再将关联起来的后件事件中的相应攻击步骤添加至前件事件。
[0085]
在事件识别的基础上,依据攻击图刻画的脆弱性利用前后依赖关系以及告警时序关系将攻击事件前后关联为攻击场景。针对告警漏报等因素导致的攻击场景断链问题,本案实施例中通过聚合断点处的攻击上下文作为证据,对相关攻击场景片段进行拼接。关联过程中假设攻击者不进行重复攻击,即一个场景中同一脆弱性对应的攻击事件只存在一个。具体算法可设计如下:
[0086]
算法2攻击事件关联算法.
[0087]
input:攻击事件列表集q,攻击图ag=(p,ex,e)
[0088]
output:攻击场景集s
[0089]
step1:依据攻击事件的时间先后关系以及在攻击图中对应节点的前后依赖关系,关联攻击事件,创建关联标记l

l,标记l=(ae(e1),ae(e2))表示:
[0090][0091]
step2:提取攻击场景片段piece={piecei}:
[0092]
step2.1:从列表q中提取未被纳入攻击片段且发生时间最早的攻击事件ae
x
(ey);
[0093]
step2.2:以ae
x
(ey)为起点,沿关联标记执行深度优先遍历,遍历结束则提取遍历经过的攻击事件集aei及关联标记集li,组成攻击场景片段piecei={aei,li};
[0094]
step2.3:返回step2.1,直至q中不存在符合提取条件的攻击事件。
[0095]
step3:拼接攻击场景片段:
[0096]
step3.1:筛选满足条件:的攻击场景片段piecei={aei,li}、piecej={aej,lj};
[0097]
step3.2:提取piecei,piecej的各自的起点事件(时间最早)ae
i,0
,ae
j,0
,比较发生时间;
[0098]
step3.3:提取发生时间较早的片段中早于后者起点事件的攻击事件aec作为候选拼接点。假设比较结果为earliesttime(aei,0)《earliesttime(ae
j,0
),则:
[0099]
aec∈{ae|latesttime(ae)《earliesttime(ae
j,0
),ae∈aei}
[0100]
step3.4:将aec,ae
j,0
映射到攻击图ag中对应的脆弱性利用节点ec,e0;
[0101]
step3.5:以ec为起点,深度优先搜索到达e0的路径,记搜索过程当前到达的脆弱性利用节点为e,其上一级脆弱性利用节点为e’,搜索规则:
[0102]
case1:若e已被搜索,执行以下判断:
[0103]
case1.1:以e为起点,若存在未搜索的方向,则沿未搜索的方向执行下一步搜索;
[0104]
case1.2:若不存在未搜索的方向且e≠ec,则返回上一级节点e’;
[0105]
case1.3:若不存在未搜索的方向且e=ec,则清空拼接片段piece
_tmp
并结束搜索;
[0106]
case2:若e未被搜索,执行以下判断:
[0107]
case2.1:若则返回上一级节点e’;
[0108]
case2.2:若则在时间区间[latesttime(aec),earliesttime(ae
j,0
)]中聚合e的攻击上下文告警m(pre(e)),m(post(e)):
[0109]
case2.2.1:若m(pre(e)),则创建攻击事件以及关联标记(ae(e’),ae(e)),并添加至拼接片段piece
_tmp
=(ae
t
,l
t
),执行下一步搜索;
[0110]
case2.2.2:否则,返回上一级节点e’。
[0111]
case2.3:若e=e0,创建关联标记(ae(e’),ae(e)),并添加至拼接片段piece
_tmp
,结束搜索。
[0112]
step3.6:若则通过拼接,生成新的攻击场景片段piece=pieceiu pieceju piece
_tmp
,将新片段添加至piece并删除旧片段piecei,piecej,清空piece
_tmp

[0113]
step3.7:返回step3.1,直至piece中不存在能够拼接的片段组合;
[0114]
step4:将前后关联的攻击事件中后件事件的攻击准备工作复制至前件事件的目标行动中,从而将剩余的攻击场景片段转化为攻击场景s,添加至s;
[0115]
step5:输出攻击场景集s。
[0116]
算法中不同列表的攻击事件间的关联示例如图3所示。
[0117]
作为本发明实施例中面向攻击溯源的威胁情报智能分析方法,进一步地,以作为威胁主体的攻击者作为分析对象,抽取威胁情报、攻击场景中与攻击者身份相关的威胁要素特征来构建威胁指纹知识图谱。进一步地,针对威胁指纹知识图谱,通过模型学习将知识图谱元素内容映射到低维向量空间,利用向量基本运算表达元素间具有的语义信息,利用向量相似性得分来挖掘攻击场景幕后攻击者。
[0118]
在攻击场景重构的基础上,本案实施例中利用知识图谱技术构建威胁指纹知识库,提取攻击场景中的威胁指纹特征与已公开的攻击者指纹特征进行相似性分析,以识别攻击场景的幕后攻击者。
[0119]
威胁指纹知识图谱以作为威胁主体的攻击者为分析对象,抽取威胁情报、攻击场景中与攻击者身份密切相关的要素特征进行构建。由于知识图谱技术能够实现多源异构知识的融合,因此威胁指纹知识图谱能够通过整合多源威胁情报,一定程度上提高指纹知识提取的全面性。
[0120]
威胁指纹知识本体以攻击组织(attacker)这一概念为核心,从动机域(motivation)、时空域(spacetime)、技战术域(ttp)等三个特征领域刻画攻击者的指纹特征。其中,动机域主要从目标特征方面提取指纹特征,包括促使攻击者产生动机的背景事件(background)、选取的目标系统(system)、受到危害的资产(asset)、造成的具体危害
(consequence)以及系统所属机构(agency)、机构涉及的产业领域(field);时空域主要从时空特征方面提取指纹特征,包括目标机构所在地区(area)、利用的基础设施的位置(location)及其活动时间(activetime)、代码的编译、存档时间戳所表示的开发者工作时区(timezone);技战术域主要从技术特征方面提取指纹特征,包括攻击的一般流程(procedure)、利用的诱饵(bait)、基础设施(infrastructure)、恶意代码(shellcode)以及漏洞(exploit)。具体如图4所示。
[0121]
指纹特征涉及多个领域、多种类型,若采用传统的相似性计算方法识别威胁,则需为不同领域、类型的指纹设计单独的相似性算法,且不同算法无法实现通用,极大地增加了方法的复杂性,也不利于特征的更新扩展。为克服这一问题,本案实施例中利用知识图谱嵌入技术将知识图谱的内容映射到低维向量空间,从而利用向量的运算分析相似性,以便于通用算法的设计,并且,通过区分攻击组织、特征领域及具体特征三个层次,对两个组织间整体相似性、领域相似性及涉及的具体实体进行分层次分析,提高分析结果的可解释性。
[0122]
知识图谱嵌入的基本思想为:通过模型学习,将实体、关系等知识图谱的元素表示为低维向量,并利用向量的基本运算表达元素间具有的语义信息。即,对于头实体h、关系r、尾实体t构成的语义信息(h,r,t),记粗斜体为以上元素的向量化表示,可使用向量加法运算h r≈t表示这一语义。本案实施例中,使用transh作为知识图谱嵌入学习的模型,该模型对经典的知识图谱嵌入模型transe进行了改进,通过将关系r表示为超平面的单位法向量wr与超平面内的翻译向量dr这两部分,使得不同实体向量能够在同一超平面中投影为同一向量,从而支持一对多、多对一以及多对多等复杂关系的表示,如图5所示,因此,能够更好地适用于存在大量复杂关系的威胁指纹知识图谱的嵌入学习。
[0123]
transh模型的学习过程主要包括三个步骤:
[0124]
step1:样本构造。将知识图谱中存在的三元组作为正例,如(h,r,t),以此为参照,通过置换头尾实体构造负例,如(h’,r,t)或(h,r,t’),置换过程中须进行检验,避免构造的负例实际上是知识图谱中存在的正例;
[0125]
step2:得分函数设计。transh的得分函数由头尾实体在超平面中的投影向量与翻译向量间的运算表示。给定三元组(h,r,t),记头尾实体的向量化表示分别为h,t,两者在关系r对应的超平面中的投影向量如下:
[0126][0127]
该三元组成立的得分为:
[0128][0129]
正例的得分越低、负例的得分越高表示嵌入学习获取的表示实体、关系的向量越符合原始语义;
[0130]
step3:模型训练。训练过程为将实体及关系的向量化表示作为目标参数,通过随机梯度下降法,获取使样本正负例的得分值之差超过常数阈值γ的目标参数。损失函数定义如下:
[0131][0132]
在wn18、fb15k等数据集上通过链接预测等方式对transh的效能进行测试。在测试
样本构设的所有候选实体中,正例所属实体的得分平均排名以及在前十中的比例均较好地契合了样本实际。该实验结果表明transh在训练过程中能够有效捕捉实体间的相似性,从而支持基于相似性的知识挖掘。
[0133]
威胁指纹知识图谱中,威胁情报提供了攻击组织与其已知的指纹特征实体间的关系,而攻击场景则提供了潜在攻击者的恶意代码、诱饵文件以及受害目标等指纹特征实体,因而可利用嵌入学习捕捉的前后两部分指纹特征实体间的相似性,从而挖掘潜在攻击者与已知攻击组织间的联系。本案实施例中,通过假设不同的攻击组织为攻击场景幕后的攻击者,设计指纹相似性损失函数,计算假设成立的指纹相似性损失,从而对不同组织作为攻击者的可能性进行排名,以实现攻击者的识别。
[0134]
指纹相似性损失函数以transh的得分函数为基础,用于测算假设条件下构设的样本实例相对于正例的偏移,以此衡量相关实体的相似性以及假设成立的可能性。指纹相似性损失越大,则假设越不可能成立。该函数区分组织、领域、实体三个层次进行设计,记攻击组织实体为att,其领域实体为dom,领域中的某个已知指纹特征实体为pf,攻击场景中提取的同类特征实体为pf’,知识图谱中att相关的正例集为δ(att),假设att为攻击场景幕后的攻击者,对应正例(dom,r,pf)∈δ(att),通过置换实体的方式构设样本实例(dom,r,pf’),则实体层面的指纹相似性损失可表示如下:
[0135][0136]
上式表示实体pf’是att的指纹特征这一假设成立所产生的损失,而使上式取最小值的正例的尾实体pf即为att已知指纹特征中与pf’相似性最高的实体,dom即为pf’所在领域,记为pf
’→
dom。|ae
pf’|为特征实体pf’涉及的事件数量,|ae|为攻击场景中的事件总数。将同在一个领域内的实体层面指纹相似性损失求和取平均,则可以得到领域层面的指纹相似性损失,记|pf’|为从攻击场景中提取的与领域dom相关的指纹特征数量,则公式如下:
[0137][0138]
攻击组织层面的损失则需综合所有领域的损失进行计算,考虑不同指纹特征领域对整体的影响程度可能不同,因而,可选用加权求和的方式设计函数如下:
[0139][0140]
其中,∑wi=1。权重值可通过构造二元分类器的方式,以攻击场景的历史识别结果为样本进行训练而取定,但当历史数据较少时,也可通过专家赋值的方式取定。
[0141]
基于指纹相似性损失函数设计威胁识别算法可如算法3内容所示。
[0142]
算法3威胁识别分析算法.
[0143][0144]
需要注意的是,在模型训练前的样本构造阶段,通过实体置换构设的负例应规避指纹相似度损失计算时构设的样本实例,以避免因事先人为确定相关实体与某些组织间的联系,而影响了计算结果的合理性。
[0145]
进一步地,基于上述的方法,本发明实施例还提供一种面向攻击溯源的威胁情报智能分析系统,包含:场景重构模块和攻击识别模块,其中,
[0146]
场景重构模块,用于通过分析场景中脆弱性利用动作,构建用于刻画攻击事件中攻击步骤类型的攻击事件框架,并以攻击事件为单位进行攻击告警关联,重构攻击场景;
[0147]
攻击识别模块,用于提取攻击场景中威胁特征作为指纹特征,构建威胁指纹知识图谱;通过比较知识图谱中指纹特征相似性来挖掘攻击场景幕后攻击者。
[0148]
为了验证本案方案的有效性,下面结合试验数据做进一步解释说明:
[0149]
主要包括两部分内容,一是通过实验数据集重放,实施入侵检测,获取原始入侵告警集,从而进行攻击场景重构,检验本案方案是否能够重构预设的攻击场景,并通过对比分析,验证本案方案重构的攻击场景能够提供更充足的攻击信息;二是利用威胁指纹知识图谱抽取重构场景中的指纹特征,分析其与已知攻击组织的指纹特征的相似性,检验本案方案识别的攻击者是否与预设相符。
[0150]
由于darpa98、kdd99等常用数据集的时间过于久远,涉及的攻击场景已不符合当前网络攻击的发展形态,而通过搭设模拟环境收集的攻击数据则不符合真实环境的流量状况。因此,本文采取公开数据集与模拟攻击流量相结合的方式构造实验所需的流量数据集。
[0151]
其中,公开数据集选择最新的入侵检测数据集cse-cic-ids2018,以提供真实的流量环境以及最新网络攻击形态下的攻击流量。将以上两种流量数据拼接为实验数据集的具体方法为:首先,确定cse-cic-ids2018中适合使用模拟攻击流量替换的部分,使用tcpreplay的tcprewrite工具按替换流量的地址对模拟攻击流量的ip、mac进行编辑,并计
算替换流量对应时间戳的十六进制表示,据此,使用winhex修改模拟攻击流量中各帧对应的时间戳;然后,利用wireshark3.4.3的editcap工具从cse-cic-2018数据集(.pcap)中分割出需替换的流量,并利用mergecap工具将编辑后的模拟攻击流量文件与剩余数据集部分合并为实验数据集,实现流量替换,合并过程中报文顺序将按时间戳排列。拼接后的数据集中预设的实验环境如图6所示,以cse-cic-2018数据集的拓扑为基础,主要包括攻击基础设施与受害网络两部分,基础设施包括发起攻击的代理主机(attacker proxy,原始身份为email server)以及分别负责存储恶意程序(c2 server 1)及实施远程控制(c2 server 2)的c2服务器。受害网络包括办公区(operation department)以及服务器区(server room),其中,服务器区不能从外部直接访问,只能由办公区主机通过代理服务器进行访问。根据受害网络的脆弱性分布及访问关系,使用攻击图模型进行推理,结果如图7所示,推理过程中数据集预设的攻击场景可为:攻击者首先利用attacker proxy向办公区的proxy server发起攻击;再以proxy server为“跳板”,攻击host1获取服务区的访问权限;由host1向web server挂载恶意代码;通过xss侵入host2,窃取存储的sql server用户权限凭据;最终,对sql server实施提权,窃取并回传相应信息。
[0152]
场景重构实验,首先,基于centos 8系统搭建snort 2.9.17,编制规则,启用nids工作模式。利用tcpreplay 4.3.3向snort所在局域网重放实验数据集,则snort将根据匹配到的攻击流量产生相应告警,生成原始告警集。使用算法1,设置重复告警时间阈值t1为5s,聚合脆弱性利用元告警,如表2所示。需要注意的是,为验证算法2能够有效拼接未知漏洞或漏报形成的攻击场景片段,snort规则中未编制cve-2018-6116相关的规则,因此,未有脆弱性利用动作e4对应的告警被聚合。
[0153]
表2.脆弱性利用元告警列表
[0154][0155]
设置攻击上下文时间阈值t2为30min,以脆弱性利用元告警为核心,聚合上下文告警,识别攻击事件。以e0为核心的单个攻击事件如图8所示。事件中每个攻击步骤的以相应元告警的class参数进行简化表示。经识别可知,围绕利用cve-2017-0199在proxy server(172.31.69.13)上执行恶意代码(shellcode)这一动作,攻击者利用attacker proxy(email server)伪造并向proxy server投送诱饵邮件,邮件附件中内嵌shellcode(md5:ed87f21f7c7f fef4cbab9447fd7b8471);利用漏洞成功执行代码后,从c2 server 1(ifenngnews.com)下载了木马程序(torjan/win32.tsgerneric),安装后与c2 server 2(360safe-secure.com)进行了c2通信。使用算法2对识别出的攻击事件进行关联,结果图9
所示。由于缺少m(e4),关联过程中,生成了两个场景片段piece1:ae(e0)

ae(e1)

ae(e2)、piece2:ae(e5)。执行拼接处理,首先,比较攻击发生时间,确定piece1起始时间早于piece2,且包含的三个事件均早于ae(e5);然后,依次将节点e2、e1、e0作为起点,e5为终点,在攻击图ag中搜索能够满足拼接条件的路径,其中,以e0为起点必须经过e1,因此予以排除,而以e1为起点可直接到达e5,然而ae(e1)、ae(e5)未符合关联条件,因此选择ae(e2)作为候选拼接点执行拼接;最终,在时间区间[latesttime(ae(e2)),earliesttime(ae(e5))]内,通过聚合host2发生的攻击上下文告警,识别出攻击准备动作delivery:embedded-javascript-detected(172.31.69.28:8080

172.31.69.6:40225)以及敏感信息传送c&c:sensitive-information-anormaly-trans(172.31.69.6:40937

172.31.69.13:38661),作为证据推断host2发生了攻击,从而假设攻击事件ae(e4)存在,将piece1、piece2拼接为完整攻击场景ae(e0)

ae(e1)

ae(e2)

ae(e4)

ae(e5)。
[0156]
威胁识别实验,以威胁指纹知识本体为参照,从重构的攻击场景中抽取指纹特征实体。威胁情报方面,抽取个别组织的指纹特征,加入威胁指纹知识图谱。依据个别组织指纹特征的不同,可验证算法3不同组织的区分度。攻击场景中提取的主要特征实体如表3所示。表中,假设受害系统为机构a内网,其近期研究地区人员健康医疗情况。
[0157]
表3.重构场景指纹特征实体提取列表
[0158][0159]
完成知识图谱构建后,使用openke提供的transh模型对知识图谱进行嵌入学习,设置学习速率α为0.01,向量维度k为25,常数阈值γ为0.5,损失函数的软约束权重为0.25,随机梯度下降的批量规模为25。部分实体的向量表示如表4所示。
[0160]
表4嵌入学习结果示例
[0161]
[0162][0163]
利用算法3,分别假设个别组织e、f为幕后攻击者,逐层计算相似性损失,设置动机域、技战术域以及时空域的权重为0.4、0.3、0.3以及0.6、0.2、0.2两组参数,最终结果如表5所示。
[0164]
表5相似性损失计算结果
[0165][0166]
由上表可知,假设组织e为幕后攻击者的相似性损失小于假设组织f为攻击者产生的损失,因此组织e更有可能为攻击者,符合实验以模拟组织e实施攻击的预设条件。表明本案方案能够根据指纹特征的相似性分析不同的攻击组织为实际攻击者的可能性,且由于组织e、f均为apt攻击组织,在提高动机域权重时,相似性损失的区分度进一步得到了提高,符合apt攻击以目的性为本质属性的特征。
[0167]
由以上实验验证了本案方案的可行性及有效性,在此基础上,通过与同类研究成果的对比分析,验证方法的优势,对比结果如表6所示。
[0168]
表6对比分析表
[0169][0170]
在攻击场景重构方面,本按方案以尽可能充分地为威胁识别提供指纹特征信息为目标,侧重于提高攻击场景包含的攻击信息,在单个攻击事件层面,相比于基于攻击图的告警关联方法,增加了攻击上下文信息的聚合,而在攻击场景层面,相比于基于场景重构与报
警聚合的网络取证分析提出的方法,增加了攻击事件的前后关联算法。在威胁识别分析方面,本案方案以识别攻击者为目标,借助识别出的攻击者已有的威胁情报分析威胁特征,相比于基于贝叶斯攻击图的网络入侵意图分析单纯依靠攻击场景中的攻击信息分析威胁特征,更加全面、充分。另,由于在计算相似性损失时,加入了权重参数,以体现不同领域指纹特征的重要性,因此本案方案针对单纯依靠场景重构无法充分识别威胁特征等问题,通过融合场景重构与威胁情报的威胁识别,能够通过调整权重赋值,适用于不同类型攻击组织的识别,提高方案的适用性;将同一事件的不同攻击步骤聚合起来,并以攻击事件为单位实施攻击关联,重构攻击场景,充实了攻击上下文信息,为威胁识别提供了更为充分的信息支持,整合了已知攻击组织的威胁情报知识,并将重构场景中提取的特征作为指纹,利用知识图谱嵌入学习,捕捉指纹特征实体的相似性,最终通过计算假设不同组织为攻击者时产生的相似性损失,衡量不同组织是真正攻击者的可能性,在根源上对威胁进行了识别,并可借助相应攻击组织已公开的威胁情报,突破攻击场景信息的限制,更全面地识别攻击能力、攻击意图等威胁特征。
[0171]
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
[0172]
基于上述的方法和/或系统,本发明实施例还提供一种服务器,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的方法。
[0173]
基于上述的方法和/或系统,本发明实施例还提供一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现上述的方法。
[0174]
在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。
[0175]
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0176]
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献