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

一种攻击溯源方法、装置和电子设备与流程

2021-11-22 14:13:00 来源:中国专利 TAG:


1.本技术涉及网络安全技术领域,尤其涉及一种攻击溯源方法、装置和电子设备。


背景技术:

2.近年来,随着网络空间攻击面的不断扩大,新一代的攻击威胁频繁发生。为应对这些攻击威胁,除了提前预防各类安全事故发生,还包括对各类安全事故进行事后的响应,攻击溯源是各类安全事故中进行事后响应的重要组成部分,是指通过对受害资产与内网流量进行分析,一定程度上还原攻击者的攻击路径与攻击手法的方法。通过这种攻击溯源的方法,可以确定攻击源和其攻击的相应路径,以便防御者指定更好地防护和反制方案。攻击溯源是构建网络安全防御体系的重要一环。
3.在已发生的攻击事件中,攻击者的攻击行为之间是具有因果关联关系的,而攻击溯源就是基于这种因果关联关系,把与攻击相关的信息关联到一起构建攻击溯源图,并从中找到攻击者及攻击路径。通常情况下,需要基于历史告警数据与历史日志数据之间的依赖关系,设置上述因果关联关系,并构建相应的攻击溯源图。
4.通常,攻击溯源技术建立在对攻击溯源图的分析处理上。相关技术下,攻击溯源图的构建主要分为三种情况:
5.1、主机侧攻击溯源图的构建。
6.2、系统日志与应用程序日志关联的攻击溯源图的构建。
7.3、网络侧与终端侧关联的攻击溯源图的构建。
8.其中,主机侧攻击溯源图的构建技术与系统日志与应用程序日志关联的攻击溯源图的构建技术已经较为完善,但对网络侧与终端侧关联的攻击溯源图的构建技术还不成熟,会存在以下技术缺陷:
9.1)确定攻击路径时产生大量的运算负荷。
10.具体的,主机侧攻击溯源图的构建与系统日志与应用程序日志关联的攻击溯源图的构建均是在单一设备上进行,而一个完整的攻击过程通常是横跨多个设备的,只有构建网络侧与终端侧关联的攻击溯源图才有可能溯源到完整的攻击路径。
11.但是,这种情况下,横跨多个设备的攻击流程所涉及的历史日志数据是海量的,这会导致数据之间的依赖关系过于复杂,从而造成所构建出的攻击溯源图会过于庞大,因此,在一定程度上显著提升了确定攻击路径的流程复杂度,造成大量的运算负荷。
12.2)所获取到的攻击路径的准确性不高。
13.具体的,当攻击者使用一些攻击手段时,可能会出现所获取到的攻击路径的不完整或准确性不高的问题。
14.例如,攻击者在某一设备上传webshell,进而通过sql server弱口令获取主机权限,进而创建新用户。由于中间件到数据库的网络连接较多,人工判断也无法准确找到对应的连接,导致获取到的攻击路径不完整。
15.在这种情况下,设置上述因果关联关系,会导致构建的网络侧与终端侧关联的攻
击溯源图并不准确,进而造成从中获取到的攻击路径不完整,或者准确性不高。


技术实现要素:

16.本发明实施例提供一种攻击溯源方法、装置和电子设备,用于在网络侧与终端侧关联的攻击溯源场景下,提高所获取到的目标攻击路径的准确性,并降低确定目标攻击路径时所产生的运算负荷。
17.第一方面,本技术实施例提供一种攻击溯源方法,所述方法包括:
18.获取目标对象的第一历史日志数据,并基于所述第一历史日志数据,确定攻击目标及攻击源。
19.获取与所述目标对象关联的各个设备的第二历史日志数据,并基于所述第二历史日志数据的数据类型,从所述第一历史日志数据和所述第二历史日志数据中提取出各个目标特征,以及基于所述各个目标特征生成相应的特征时序异构图。
20.基于所述特征时序异构图,结合预设的知识图谱,生成相应的攻击溯源图。
21.基于所述攻击溯源图,获得包含所述攻击目标及所述攻击源的各个候选攻击路径。
22.基于预设的路径条件,从所述各个候选攻击路径中筛选出符合预设的路径条件的目标攻击路径。
23.第二方面,本技术实施例还提供了一种攻击溯源装置,包括:
24.告警模块,用于获取目标对象的第一历史日志数据,并基于所述第一历史日志数据,确定攻击目标及攻击源。
25.第一生成模块,用于获取与所述目标对象关联的各个设备的第二历史日志数据,基于所述第二历史日志数据的数据类型,从所述第一历史日志数据和所述第二历史日志数据中提取出各个目标特征,以及基于所述各个目标特征生成相应的特征时序异构图。
26.第二生成模块,用于基于所述特征时序异构图,结合预设的知识图谱,生成相应的攻击溯源图。
27.查找模块,用于基于所述攻击溯源图,获得包含所述攻击目标及所述攻击源的各个候选攻击路径,并基于预设的路径条件,从所述各个候选攻击路径中筛选出符合预设的路径条件的目标攻击路径。
28.可选的,所述攻击溯源装置还包括,去除模块,用于基于预设的基线模型,在各个所述第二历史日志数据中,分别去除相关预定参数低于预设阈值的第二历史日志数据。
29.在一种可选的实施例中,所述目标对象的第一历史日志数据中,至少包含针对所述目标对象执行非法操作所记录的告警数据,则基于所述第一历史日志数据,确定攻击目标及攻击源时,所述告警模块具体用于:
30.基于所述第一历史日志数据中,针对所述目标对象执行非法操作所记录的告警数据,当确定所述告警数据满足预设的告警条件时,将所述告警数据描述的事件确定为攻击事件,并基于所述告警数据,确定所述攻击事件的攻击目标及攻击源。
31.在一种可选的实施例中,获取与所述目标对象关联的各个设备的第二历史日志数据,基于所述第二历史日志数据的数据类型,从所述第一历史日志数据和所述第二历史日志数据中提取出各个目标特征,以及基于所述各个目标特征生成相应的特征时序异构图
时,所述第一生成模块,具体用于:
32.获取与所述目标对象关联的各个设备的第二历史日志数据。
33.基于所述攻击源的数据类型及所述第一历史日志数据、所述第二历史日志数据的日志数据类型,确定目标特征所对应的数据类型。
34.基于所述目标特征所对应的数据类型,分别从对应数据类型的所述第一历史日志数据、所述第二历史日志数据中提取出包含有预设特征字段的所述目标特征,其中,所述特征字段是针对攻击溯源场景设置的,用于表示攻击路径的相关字段。
35.分别将所述各个目标特征作为相应的特征节点,以及分别将每两个特征节点之间的关联方式设置为特征关联方式。
36.基于所述各个特征节点,将对应的各个特征关联方式分别作为相应的特征边,生成相应的特征时序异构图。
37.在一种可选的实施例中,基于所述特征时序异构图,结合预设的知识图谱,生成相应的攻击溯源图时,所述第二生成模块,具体用于:
38.分别将各个所述特征节点与各个规则节点之间的关联方式设置为补全关联方式,其中,各个所述规则节点和各个预设的知识库规则之间一一对应,每个规则节点是基于相应的知识库规则设置的。
39.基于所述特征时序异构图及预设的知识图谱,将各个补全关联方式作为相应的连接所述特征时序异构图及预设的知识图谱的补全边,并生成相应的攻击溯源图。
40.在一种可选的实施例中,在分别将各个所述特征节点与各个规则节点之间的关联方式设置为补全关联方式之前,所述第二生成模块,还用于:
41.获取预设的各个知识库规则,分别将预设的各个知识库规则作为相应的规则节点,并分别将每两个规则节点间之间的关联方式设置为规则关联方式,并基于所述各个规则节点,将对应的各个规则关联方式分别作为相应的规则边,生成相应的知识图谱。
42.或者,
43.获取预设的知识库,采用预设的知识图谱算法,基于所述预设的知识库,生成各个知识库规则,以及将每两个知识库规则之间的关联方式生成为规则关联方式,并分别将生成的各个知识库规则作为相应的规则节点,将对应的各个规则关联方式分别作为相应的规则边,生成相应的知识图谱。
44.在一种可选的实施例中,基于所述攻击溯源图,获得包含所述攻击目标及所述攻击源的各个候选攻击路径,并基于预设的路径条件,从所述各个候选攻击路径中筛选出符合预设的路径条件的目标攻击路径时,所述查找模块,具体用于:
45.针对所述各个候选攻击路径,执行以下操作:
46.获取一条所述候选攻击路径中的各个候选节点,以及确定每两个所述候选节点之间的候选边,其中,每个候选节点为所述攻击溯源图中的任意一个所述特征节点或任意一个所述规则节点;每个候选边对应的关联方式,是基于所述候选边连接的两个候选节点的节点类型确定的。
47.分别提取各个候选边各自对应的关联方式,并分别针对所述各个候选边,执行以下操作:基于一个候选边对应的关联方式,获得所述一个候选边对应的候选特征向量,其中,每个候选特征向量包含多个维度元素,每个维度元素表征所述关联方式的一种属性。
48.针对获得的各个候选边各自对应的候选特征向量,分别执行以下操作:分别获取一个候选特征向量包含的各个维度元素各自对应的预设维度权重,基于所述维度元素的取值和相应的维度权重进行加权求和,获得所述一个候选特征向量对应的候选边的边权重,其中,每个维度权重表征相应的维度元素的出现概率。
49.基于获得的各个候选边对应的关联方式及相应边权重进行加权求和,获得所述一条候选攻击路径对应的路径权重。
50.基于获得的所述各个候选攻击路径各自对应的路径权重,将路径权重达到路径权重门限的候选攻击路径,作为所述目标攻击路径。
51.在一种可选的实施例中,基于一个候选边对应的关联方式,获得所述一个候选边对应的候选特征向量时,所述查找模块具体用于:
52.基于一个候选边对应的关联方式的各个属性,分别设置所述候选边对应的候选特征向量中,与所述各个属性各自对应的维度元素。
53.第三方面,本技术实施例还提供了一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器实现第一方面的攻击溯源方法。
54.第二方面、第三方面中任意一种实现方式所带来的技术效果可参见第一方面中对应的实现方式所带来的技术效果,此处不再赘述。
55.本技术实施例中,通过构建基线模型的方式,去除多余的日志数据,从而缓解终端侧数据之间依赖关系爆炸的问题,降低运算负荷,并从网络侧和终端侧的日志数据中提取出代表性的字段,通过定义日志数据之间的依赖关系,构建时序异构图,并通过构建的知识图谱,定义知识图谱中的节点与时序异构图中节点之间的依赖关系,构建完整的攻击溯源图。通过这种方式,能够在网络侧与终端侧关联的场景中,基于攻击源与目标对象的相关信息,从攻击溯源图中获得更加完整,且准确性更高的攻击路径。
附图说明
56.图1为本技术实施例提供的攻击溯源方法的系统架构图;
57.图2a,图2b,图2c为本技术实施例提供的一种本地提权的场景下的知识图谱示例图;
58.图3为本技术实施例提供的一种攻击溯源方法;
59.图4为本技术实施例提供的一种时序异构图生成方法;
60.图5a,图5b,为本技术实施例提供的时序异构图中的一种本地提权攻击行为链路示例图;
61.图6为本技术实施例提供的一种攻击溯源图生成方法;
62.图7为本技术实施例提供的一种本地提权场景下的攻击溯源图示例图;
63.图8为本技术实施例提供的一种获取候选攻击路径对应的路径权重的方法;
64.图9a,图9b,图9c为本技术实施例提供的候选攻击路径示例图;
65.图10为本技术实施例提供的一种攻击溯源装置示意图;
66.图11为本技术实施例提供的另一种攻击溯源装置示意图;
67.图12为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
68.下面将结合本发明实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
69.为了在网络侧与终端侧关联的攻击溯源场景下,提高所获取到的攻击路径的准确性,并降低确定攻击路径时所产生的运算负荷,本技术实施例中,通过构建基线模型,将终端侧的数据中无法作为攻击行为的日志进行过滤,从而缓解终端侧数据之间依赖关系爆炸的问题,从而降低运算负荷,并从网络侧和终端侧的日志数据中提取出代表性的字段,通过定义日志数据之间的依赖关系,构建时序异构图,并通过构建的知识图谱,定义知识图谱中的节点与时序异构图中节点之间的依赖关系,构建完整的攻击溯源图。通过这种方式,能够在网络侧与终端侧关联的场景下,通过攻击溯源图,获得准确性更高的攻击路径。
70.参阅图1所示,本技术实施例中,被攻击的目标对象设备100与网络侧设备110与终端侧设备120相关联,网络侧设备110及终端侧设备120可以具有多个,被攻击的目标对象与网络侧设备110及终端侧设备120间建立网络连接,被攻击的目标对象设备上存储着目标对象的第一历史日志数据,与之关联的网络侧设备110及终端侧设备120上分别存储着各自的第二历史日志数据,通过局域网传输等方式,被攻击的目标对象设备100能够从网络侧设备110及终端侧设备120中提取到各个设备上存储的各自对应的第二历史日志数据。
71.在本技术实施例所提供的一种攻击溯源方法中,需要利用预设的知识图谱,构建上述知识图谱可以采用但不限于以下方法:
72.方法1:获取预设的各个知识库规则,分别将预设的各个知识库规则作为相应的规则节点,并分别将每两个规则节点之间的关联方式设置为规则关联方式,并基于所述各个规则节点,将对应的各个规则关联方式分别作为相应的规则边,生成相应的知识图谱。
73.可选的,通过安全专家结合自身的知识与已有的公开知识库,根据不同的应用场景,一方面兼容已有的标准和架构,另一方面根据应用场景选定合适的知识范围,从全局的视角,将数据抽象本体化,并设计出相应的知识库,从上述知识库中获取各个知识库规则,其中,每一条规则定义攻击行为发生的前提条件,以及它执行之后可能的行为或产生的影响。
74.例如,本技术实施例提供的用于一种本地提权的场景下,所获取到的各个知识库规则,如表1所示:
75.表1
76.规则1通过写文件在受害者主机上建立立足点规则2不写文件直接在受害者主机上执行指令规则3连接受害者主机上的立足点规则4提升用户权限规则5创建新用户规则6在受害者主机上上传扫描器规则7在内网中进行横向移动
77.参阅图2a所示,将上述各个知识库规则作为相应的规则节点,包括:规则节点1,规
则节点2,...,规则节点7,对应的各个节点类型如表2所示:
78.表2
79.规则节点类型规则节点上传webshell规则节点1exploit规则节点2webshell终端连接规则节点3提权规则节点4创建新用户规则节点5上传扫描器规则节点6横向移动规则节点7
80.可选的,通过专家定义,分别设置每两个规则节点之间的规则关联方式。
81.例如,参阅图2b所示,图中箭头的指示方向表示时间的先后顺序,本技术实施例中,针对每两个不同规则节点之间的规则关联方式e1

e8,给出如下定义,如表3所示:
82.表3
83.规则关联方式规则关联方式的特征表示e1上传webshell——webshell终端连接e2webshell终端连接——提权e3webshell终端连接——创建新用户e4webshell终端连接——上传扫描器e5webshell终端连接——横向移动e6提权——创建新用户e7创建新用户——上传扫描器e8上传扫描器——横向移动
84.本技术实施例中,根据上述给出的各个规则关联方式,生成应用于一种本地提权场景中的知识图谱,参阅图2c所示,图中,箭头的指示方向表示时间的先后顺序。
85.方法2:获取预设的知识库,采用预设的知识图谱算法,基于所述预设的知识库,生成各个知识库规则,以及将每两个知识库规则之间的关联方式生成为规则关联方式,并分别将生成的各个知识库规则作为相应的规则节点,将对应的各个规则关联方式分别作为相应的规则边,生成相应的知识图谱。
86.可选的,基于已有的公开知识库或预设的知识库,可以根据实际应用场景,采用不同的知识图谱算法,从上述知识库中抽取知识,并生成出相应的各个知识库规则,同时,自动生成相应的知识图谱。
87.参阅图3所示,为本技术实施例所提供的一种攻击溯源方法:
88.步骤310:获取目标对象的第一历史日志数据,并基于所述第一历史日志数据,确定攻击目标及攻击源。
89.可选的,目标对象的第一历史日志数据中,至少包含针对目标对象执行非法操作所记录的告警数据,则基于所述第一历史日志数据中,针对所述目标对象执行非法操作所记录的告警数据,当确定所述告警数据满足预设的告警条件时,将所述告警数据描述的事件确定为攻击事件,并基于所述告警数据,确定所述攻击事件的攻击目标及攻击源。
90.例如,根据ips告警数据,根据具体场景,当ips告警是经人工排查确认为攻击成功或在特定场合中属于高置信度规则的告警时,将ips告警数据描述的事件确定为攻击事件,并根据ips告警数据,确定上述攻击事件的攻击源ip及攻击目标。
91.步骤320:获取与所述目标对象关联的各个设备的第二历史日志数据,基于所述第二历史日志数据的数据类型,从所述第一历史日志数据和所述第二历史日志数据中提取出各个目标特征,以及基于所述各个目标特征生成相应的特征时序异构图。
92.具体的,参阅图4所示,包括以下步骤:
93.步骤3201:获取与所述目标对象关联的各个设备的第二历史日志数据。
94.可选的,步骤3202:基于预设的基线模型,在各个所述第二历史日志数据中,分别去除相关预定参数低于预设阈值的第二历史日志数据。
95.例如,获取与目标对象关联的网络侧设备a,网络侧设备b,终端侧设备a,终端侧设备b,....,终端侧设备z上的第二历史日志数据,并根据预设的基线模型,确定网络侧设备a,网络侧设备b,终端侧设备a,终端侧设备b,....,终端侧设备z上的所有第二历史日志数据中,相关预定参数低于预设阈值的第二历史日志数据,具体的,横向考虑同类主机之间的差异,纵向考虑与主机自身历史基线的差异,根据具体场景,学习和训练基线模型,并利用基线模型,将相关预定参数中低于预定阈值的进行过滤,其中,被基线过滤掉的第二历史日志应为通过安全专家人工判别也无法将其与攻击者进行关联的日志数据,此类历史日志数据即使存在由攻击者产生的无攻击行为的日志数据也不会影响相应的攻击溯源。
96.可选的,针对不同类型的第二历史日志数据,采用不同的基线模型。
97.例如,获取终端侧设备a,终端侧设备b,....,终端侧设备z上的各个第二历史日志数据,并针对终端侧设备a

z上的各个第二历史日志数据中的进程类型的历史日志数据与windows事件类型的历史日志数据,分别独立的学习和训练不同的基线模型。
98.上述与目标对象关联的各个设备的第二历史日志数据既包括各个网络侧设备的历史日志数据,也包括有关联的多个终端侧设备上的历史日志数据,针对这些终端侧设备上的历史进程日志数据进行统计分析,可以发现在各个终端侧设备上,用户的进程行为集的大小随着时间是趋于稳定的,这说明用户行为集是有限的,因此,通过采用基线模型过滤的方式,可以去除那些不能被作为攻击行为的多余的第二历史日志数据,通常而言,保留的各个第二历史日志数据能被安全专家或告警程序判别出与攻击行为或攻击者相关,而去除掉的各个第二历史日志数据则无法判别其与攻击行为或攻击者相关,包括未记录攻击行为的历史日志数据及记录有攻击者产生的无攻击行为的历史日志数据,而上述去除掉的各个第二历史日志数据均不影响攻击溯源,因而这种方式通过对提取出的各个第二历史日志数据进行筛选,只保留能够与攻击行为相关联的部分,从而降低了后续建立攻击溯源图时的运算负荷。
99.步骤3203:基于攻击源的数据类型及第一历史日志数据、第二历史日志数据的日志数据类型,确定目标特征所对应的数据类型。
100.例如,在sql server提权的场景中,与目标对象关联的各个网络侧设备及终端侧设备上的历史日志数据的日志数据类型为:运行进程,进程活动,文件操作及网络连接,如下表4所示,l1

l4分别对应这四种日志数据类型:
101.表4
102.#日志数据类型l1运行进程l2进程活动l3文件操作l4网络连接
103.相应的,攻击源的数据类型为ip类型,则确定目标特征所对应的数据类型包括:ip类型,进程类型,文件类型及用户类型。
104.步骤3204:基于目标特征所对应的数据类型,分别从对应数据类型的第一历史日志数据、第二历史日志数据中提取出包含有预设特征字段的目标特征,其中,特征字段是针对攻击溯源场景设置的,用于表示攻击路径的相关字段。
105.例如,本技术实施例中,针对sql server提权的场景,设置的特征字段如下表5所示:
106.表5
107.特征字段日志数据类型简介timestampl1

l4时间戳dportl4目的端口log_idl1

l4日志idlog_namel1

l4日志名称process_pidl1

l4进程idprocess_parent_pidl1

l2进程父进程的pidprotocoll4传输协议sample_file_pathl3文件路径process_pathl1

l4进程路径process_user_namel1

l2进程用户名remote_addressl4远程主机ipprocess_actionl2进程动作sipl1

l4源ipdipl1

l4目的ip
108.基于上述各个特征字段,分别提取出包含有各个特征字段的目标特征。
109.步骤3205:分别将各个目标特征作为相应的特征节点,以及分别将每两个特征节点之间的关联方式设置为特征关联方式。
110.例如,参阅图5a所示,本技术实施例中,针对sql server提权的场景,基于上述提取出的各个目标特征设置相应的特征节点,若设置的特征节点包括与攻击路径有关的特征节点:特征节点1、特征节点2,...,特征节点6、特征节点7及其它若干个与攻击行为无关的特征节点,如,特征节点a,特征节点b,特征节点c,上述特征节点的节点类型包括:ip,进程,文件,用户,如下表6所示:
111.表6
112.特征节点类型
ipprocessfileuser
113.可选的,本技术实施例中,安全专家定义了该场景下,每两个特征节点之间的关联方式,即各个特征关联方式d1

d14,如下表7所示:
114.表7
[0115][0116][0117]
其中,特征关联方式d1的特征表示中,对应的t表示针对sql server提权的场景设置的时序特征阈值。
[0118]
步骤3206:基于各个特征节点,将对应的各个特征关联方式分别作为相应的特征边,生成相应的特征时序异构图。
[0119]
可选的,针对不同的安全场景,通过各自对应的实验,设置不同的时序特征阈值t,并根据设置的时序特征阈值,生成对应的符合时序特征阈值的特征时序异构图。
[0120]
基于特征节点1、特征节点2、...、特征节点7,将对应的各个特征关联方式分别作为相应的特征边,生成相应的符合预设的时序特征阈值的特征时序异构图,由于在sql server提权的场景中,存在复杂的时序异构图,为了更清楚的看到攻击路径于图中的链路表示,仅将时序异构图中的描述攻击行为的链路展示出来,参阅图5b所示,图中,箭头的指示方向表示时间的先后顺序。
[0121]
可以看出,通过sql server弱口令获取主机权限,进而创建新用户,由于中间件到
数据库的网络连接较多,人工判断也无法准确找到对应的连接,导致获取到的攻击路径不完整,则无法将webshell的节点(chopper.*)与新用户的节点进行关联,因此对应的两个特征节点之间的链路是断开的。
[0122]
步骤330:基于特征时序异构图,结合预设的知识图谱,生成相应的攻击溯源图。
[0123]
具体的,参阅图6所示,包括以下步骤:
[0124]
步骤3301:分别将各个特征节点与各个规则节点之间的关联方式设置为补全关联方式,其中,各个规则节点和各个预设的知识库规则之间一一对应,每个规则节点是基于相应的知识库规则设置的。
[0125]
例如,本技术实施例提供的sql server提权的场景下,设置的各个补全关联方式及其特征表示如下表8所示:
[0126]
表8
[0127]
补全关联方式补全关联方式的特征表示f1节点

上传webshellf2节点

exploitf3webshell终端连接

节点f4节点

提权f5创建新用户

节点f6上传扫描器

节点
[0128]
针对上述给出的补全关联方式f1

f6,分别给出各自的解释,如下表9所示:
[0129]
表9
[0130][0131]
步骤3302:基于特征时序异构图及预设的知识图谱,将各个补全关联方式作为相应的连接所述特征时序异构图及预设的知识图谱的补全边,并生成相应的攻击溯源图。
[0132]
例如,在sql server提取的场景下,网络侧审计系统无法捕捉到环回地址的网络连接,由于中间件到数据库的网络连接较多,人工判断也无法准确找到对应的连接,导致获取到的攻击路径不完整,参阅图5b所示,webshell的节点(chopper.*)无法与新用户的节点通过操作系统等知识进行关联,对应的两个特征节点之间的链路是断开的,结合如图2c所示的知识图谱,采用表8中的f4,f5,构建一条完整的攻击路径,将webshell的节点
(chopper.*)与新用户通过知识图谱进行关联,参阅图7所示,图中箭头的指示方向表示时间的先后顺序。因此,基于特征时序异构图及预设的知识图谱,生成的攻击溯源图能够对原有技术中断裂的攻击路径进行补全,从上述攻击溯源图中提取出的各个攻击路径的准确性更高。
[0133]
步骤340:基于攻击溯源图,获得包含攻击目标及攻击源的各个候选攻击路径。
[0134]
例如,在sql server提权的场景中,获得包含有攻击源ip信息对应的特征节点及用户对应的特征节点的各个候选攻击路径。
[0135]
步骤350:基于预设的路径条件,从各个候选攻击路径中筛选出符合预设的路径条件的目标攻击路径。
[0136]
具体的,执行步骤3501、步骤3502。
[0137]
步骤3501:针对各个候选攻击路径,参阅图8所示,执行以下操作:
[0138]
步骤35001:获取一条候选攻击路径中的各个候选节点,以及确定每两个候选节点之间的候选边,其中,每个候选节点为攻击溯源图中的任意一个特征节点或任意一个规则节点;每个候选边对应的关联方式,是基于候选边连接的两个候选节点的节点类型确定的。
[0139]
具体的,每个候选边对应的关联方式具有三种情况:
[0140]
情况1:若两个候选节点均为特征节点,则上述两个候选节点之间的候选边对应的关联方式为特征关联方式。
[0141]
情况2:若两个候选节点均为规则节点,则上述两个候选节点之间的候选边对应的关联方式为规则关联方式。
[0142]
情况3:若两个候选节点为一个规则节点及一个特征节点,则上述两个候选节点之间的关联方式为补全关联方式。
[0143]
例如,在sql server提权的场景中,获取包含攻击源ip信息对应的特征节点,即特征节点attacker,及用户对应的特征节点,及特征节点tester的候选攻击路径,若获取以下三条候选攻击路径:
[0144]
参阅图9a所示,图中箭头的指示方向表示时间的先后顺序,候选攻击路径1:特征节点attacker(特征节点1)—特征节点httpd.exe(特征节点2)—特征节点chopper.*(特征节点3)—规则节点提权(规则节点4)—规则节点创建新用户(规则节点5)—特征节点tester(特征节点7)。
[0145]
参阅图9b所示,图中箭头的指示方向表示时间的先后顺序,候选攻击路径2:特征节点attacker(特征节点1)—特征节点httpd.exe(特征节点2)—特征节点a—特征节点b—特征节点chopper.*(特征节点3)—规则节点提权(规则节点4)—规则节点创建新用户(规则节点5)—特征节点tester(特征节点7)。
[0146]
参阅图9c所示,图中箭头的指示方向表示时间的先后顺序,候选攻击路径3:特征节点attacker(特征节点1)—特征节点httpd.exe(特征节点2)—特征节点chopper.*(特征节点3)—特征节点c—规则节点上传webshell(规则节点2)—规则节点webshell终端连接(规则节点3)—规则节点提权(规则节点4)—规则节点创建新用户(规则节点5)—特征节点tester(特征节点7)。
[0147]
基于图7所示的攻击溯源图,上述候选攻击路径的各个候选节点之间的候选边对应的各个关联方式如图9a,图9b,图9c所示。
[0148]
步骤35002:分别提取各个候选边各自对应的关联方式,并分别针对各个候选边,执行以下操作:基于一个候选边对应的关联方式,获得一个候选边对应的候选特征向量,其中,每个候选特征向量包含多个维度元素,每个维度元素表征所述关联方式的一种属性。
[0149]
具体的,基于一个候选边对应的关联方式的各个属性,分别设置所述候选边对应的候选特征向量中,与各个属性各自对应的维度元素。
[0150]
将每一个特征节点表示为u1,u2,...,每一个规则节点表示为v1,v2,...。其中,若两个候选节点均为特征节点,例如,u1,u2,则上述两个候选节点之间的候选边u1

u2对应的关联方式为特征关联方式。若两个候选节点均为规则节点,如v1,v2,则上述两个候选节点之间的候选边v1

v2对应的关联方式为规则关联方式。若两个候选节点为一个规则节点及一个特征节点,如,u1

v1,则上述两个候选节点u1

v1之间的关联方式为补全关联方式。在sql server提权的场景中,参阅表7所示,特征关联方式包括d1

d14,参阅表3所示,规则关联方式包括e1

e8,参阅表8所示,补全关联方式包括f1

f6,则候选边u2

v1对应的候选特征向量具有28个维度元素n1

n28,上述候选特征向量可表示为[n1,n2,...,n28],每个维度元素表征各个关联方式d1,...,d14,e1,...,e8,f1,...,f6的一种属性,即是否存在上述各个关联方式,以候选边u2

v1为例,若候选边u2

v1对应着此场景下的补全关联方式f4,若28个维度元素n1

n28按照d1,...,d14,e1,...,e8,f1,...,f6的顺序一一对应,则设置f4对应的维度上的维度元素n26的值为1,并设置其它维度元素为0,则候选边u2

v1对应的候选特征向量可表示为[0,0,0,...,1,0,0]。
[0151]
步骤35003:针对获得的各个候选边各自对应的候选特征向量,分别执行以下操作:分别获取一个候选特征向量包含的各个维度元素各自对应的预设维度权重,基于维度元素的取值和相应的维度权重进行加权求和,获得一个候选特征向量对应的候选边的边权重,其中,每个维度权重表征相应的维度元素的出现概率。
[0152]
可选的,维度权重可以根据实际场景,采用统计各个维度元素的出现概率的方式获得,例如,用具体场景中各个维度元素出现次数的倒数来表示各个维度的出现概率。例如,维度元素n20在sql server提权的场景中出现次数为5次,则对应的维度元素n20的维度权重即为1/5,若维度元素n2在另一场景中出现次数为1次,则对应的维度权重为1。
[0153]
步骤35004:基于获得的各个候选边对应的关联方式及相应边权重进行加权求和,获得一条候选攻击路径对应的路径权重。
[0154]
例如,在sql server提权的场景中,基于上述获得的各个维度权重,分别与各个候选边对应的候选特征向量进行加权求和,即对应乘上各个维度权重后,将每条边中每个维度进行求和,获得一条候选攻击路径对应的路径权重。
[0155]
步骤3502:基于获得的所述各个候选攻击路径各自对应的路径权重,将路径权重达到路径权重门限的候选攻击路径,作为所述目标攻击路径。
[0156]
例如,若如图9a所示的候选攻击路径的路径权重为7,图9b所述的候选攻击路径的路径权重为8,图9c所示的候选攻击路径的路径权重为5,预设的路径权重门限为6,则将如图9a,图9b所示的候选攻击路径作为目标攻击路径提供给安全分析人员。
[0157]
参阅图10所示,为本技术实施例提供的一种攻击溯源装置,包括告警模块1001,第一生成模块1002,第二生成模块1003,查找模块1004及可选的去除模块1000,其中:
[0158]
告警模块1001,用于获取目标对象的第一历史日志数据,并基于所述第一历史日
志数据,确定攻击目标及攻击源。
[0159]
第一生成模块1002,用于获取与所述目标对象关联的各个设备的第二历史日志数据,基于所述第二历史日志数据的数据类型,从所述第一历史日志数据和所述第二历史日志数据中提取出各个目标特征,以及基于所述各个目标特征生成相应的特征时序异构图。
[0160]
第二生成模块1003,用于基于所述特征时序异构图,结合预设的知识图谱,生成相应的攻击溯源图。
[0161]
查找模块1004,用于基于所述攻击溯源图,获得包含所述攻击目标及所述攻击源的各个候选攻击路径,并基于预设的路径条件,从所述各个候选攻击路径中筛选出符合预设的路径条件的目标攻击路径。
[0162]
参阅图11所示,可选的,所述攻击溯源装置还包括,去除模块1000,用于基于预设的基线模型,在各个所述第二历史日志数据中,分别去除相关预定参数低于预设阈值的第二历史日志数据。
[0163]
在一种可选的实施例中,所述目标对象的第一历史日志数据中,至少包含针对所述目标对象执行非法操作所记录的告警数据,则基于所述第一历史日志数据,确定攻击目标及攻击源时,所述告警模块1001具体用于:
[0164]
基于所述第一历史日志数据中,针对所述目标对象执行非法操作所记录的告警数据,当确定所述告警数据满足预设的告警条件时,将所述告警数据描述的事件确定为攻击事件,并基于所述告警数据,确定所述攻击事件的攻击目标及攻击源。
[0165]
在一种可选的实施例中,获取与所述目标对象关联的各个设备的第二历史日志数据,基于所述第二历史日志数据的数据类型,从所述第一历史日志数据和所述第二历史日志数据中提取出各个目标特征,以及基于所述各个目标特征生成相应的特征时序异构图时,所述第一生成模块1002,具体用于:
[0166]
获取与所述目标对象关联的各个设备的第二历史日志数据。
[0167]
基于所述攻击源的数据类型及所述第一历史日志数据、所述第二历史日志数据的日志数据类型,确定目标特征所对应的数据类型。
[0168]
基于所述目标特征所对应的数据类型,分别从对应数据类型的所述第一历史日志数据、所述第二历史日志数据中提取出包含有预设特征字段的所述目标特征,其中,所述特征字段是针对攻击溯源场景设置的,用于表示攻击路径的相关字段。
[0169]
分别将所述各个目标特征作为相应的特征节点,以及分别将每两个特征节点之间的关联方式设置为特征关联方式。
[0170]
基于所述各个特征节点,将对应的各个特征关联方式分别作为相应的特征边,生成相应的特征时序异构图。
[0171]
在一种可选的实施例中,基于所述特征时序异构图,结合预设的知识图谱,生成相应的攻击溯源图时,所述第二生成模块1003,具体用于:
[0172]
分别将各个所述特征节点与各个规则节点之间的关联方式设置为补全关联方式,其中,各个所述规则节点和各个预设的知识库规则之间一一对应,每个规则节点是基于相应的知识库规则设置的。
[0173]
基于所述特征时序异构图及预设的知识图谱,将各个补全关联方式作为相应的连接所述特征时序异构图及预设的知识图谱的补全边,并生成相应的攻击溯源图。
[0174]
在一种可选的实施例中,在分别将各个所述特征节点与各个规则节点之间的关联方式设置为补全关联方式之前,所述第二生成模块1003,还用于:
[0175]
获取预设的各个知识库规则,分别将预设的各个知识库规则作为相应的规则节点,并分别将每两个规则节点间之间的关联方式设置为规则关联方式,并基于所述各个规则节点,将对应的各个规则关联方式分别作为相应的规则边,生成相应的知识图谱。
[0176]
或者,
[0177]
获取预设的知识库,采用预设的知识图谱算法,基于所述预设的知识库,生成各个知识库规则,以及将每两个知识库规则之间的关联方式生成为规则关联方式,并分别将生成的各个知识库规则作为相应的规则节点,将对应的各个规则关联方式分别作为相应的规则边,生成相应的知识图谱。
[0178]
在一种可选的实施例中,基于所述攻击溯源图,获得包含所述攻击目标及所述攻击源的各个候选攻击路径,并基于预设的路径条件,从所述各个候选攻击路径中筛选出符合预设的路径条件的目标攻击路径时,所述查找模块1004,具体用于:
[0179]
针对所述各个候选攻击路径,执行以下操作:
[0180]
获取一条所述候选攻击路径中的各个候选节点,以及确定每两个所述候选节点之间的候选边,其中,每个候选节点为所述攻击溯源图中的任意一个所述特征节点或任意一个所述规则节点;每个候选边对应的关联方式,是基于所述候选边连接的两个候选节点的节点类型确定的。
[0181]
分别提取各个候选边各自对应的关联方式,并分别针对所述各个候选边,执行以下操作:基于一个候选边对应的关联方式,获得所述一个候选边对应的候选特征向量,其中,每个候选特征向量包含多个维度元素,每个维度元素表征所述关联方式的一种属性。
[0182]
针对获得的各个候选边各自对应的候选特征向量,分别执行以下操作:分别获取一个候选特征向量包含的各个维度元素各自对应的预设维度权重,基于所述维度元素的取值和相应的维度权重进行加权求和,获得所述一个候选特征向量对应的候选边的边权重,其中,每个维度权重表征相应的维度元素的出现概率。
[0183]
基于获得的各个候选边对应的关联方式及相应边权重进行加权求和,获得所述一条候选攻击路径对应的路径权重。
[0184]
基于获得的所述各个候选攻击路径各自对应的路径权重,将路径权重达到路径权重门限的候选攻击路径,作为所述目标攻击路径。
[0185]
在一种可选的实施例中,基于一个候选边对应的关联方式,获得所述一个候选边对应的候选特征向量时,所述查找模块1004具体用于:
[0186]
基于一个候选边对应的关联方式的各个属性,分别设置所述候选边对应的候选特征向量中,与所述各个属性各自对应的维度元素。
[0187]
与上述申请实施例基于同一发明构思,本技术实施例中还提供了一种电子设备,该电子设备可以用于攻击溯源。在一种实施例中,该电子设备可以是服务器,也可以是终端设备或其他电子设备。在该实施例中,电子设备的结构可以如图12所示,包括存储器1201,通讯接口1203以及一个或多个处理器1202。
[0188]
存储器1201,用于存储处理器1202执行的计算机程序。存储器1201可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的
程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
[0189]
存储器1201可以是易失性存储器(volatile memory),例如随机存取存储器(random

access memory,ram);存储器1201也可以是非易失性存储器(non

volatile memory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid

state drive,ssd)、或者存储器1201是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1201可以是上述存储器的组合。
[0190]
处理器1202,可以包括一个或多个中央处理单元(central processing unit,cpu)或者为数字处理单元等。处理器1202,用于调用存储器1201中存储的计算机程序时实现上述图像搜索方法。
[0191]
通讯接口1203用于与终端设备和其他服务器进行通信。
[0192]
本技术实施例中不限定上述存储器1201、通讯接口1203和处理器1202之间的具体连接介质。本技术实施例在图12中以存储器1201和处理器1202之间通过总线1204连接,总线1204在图12中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线1204可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0193]
本技术实施例中,通过构建基线模型的方式,去除多余的日志数据,从而缓解终端侧数据之间依赖关系爆炸的问题,降低运算负荷,并从网络侧和终端侧的日志数据中提取出代表性的字段,通过定义日志数据之间的依赖关系,构建时序异构图,并通过构建的知识图谱,定义知识图谱中的节点与时序异构图中节点之间的依赖关系,构建完整的攻击溯源图。通过这种方式,能够在网络侧与终端侧关联的场景中,基于攻击源与目标对象的相关信息,从攻击溯源图中获得更加完整,且准确性更高的攻击路径。
[0194]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0195]
本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0196]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0197]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或
其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0198]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

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

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

相关文献