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

一种终端侧攻击路径识别的方法、装置及存储介质与流程

2022-04-16 15:53:41 来源:中国专利 TAG:


1.本发明涉及网络安全领域,尤其是涉及一种终端侧攻击路径识别的方法、装置及存储介质。


背景技术:

2.近年来,随着网络空间攻击面的不断扩大,新一代的攻击威胁频繁发生。
3.现有技术中通常是使用攻击路径调查法发现威胁,攻击路径调查法是根据日记数据中记录的进程间的调用关系进行关联,并结合预先建立的模型进程是否存在攻击行为进行识别,当某一进程被识别为存在攻击行为时,结合与之关联的其它进程,可以及时发现威胁,并实施相应的安全与应急方案,实现安全运营。
4.然而,由于终端侧的海量日志数据之间的依赖关系呈爆炸式增长,且攻击手段日趋复杂等,导致识别终端侧中的威胁需要处理的数据、消耗的时间越来越多。为了解决上述问题,目前常用的解决方案是使用智能安全运营的技术平台对终端侧中的威胁进行自动化、智能化的识别。
5.但,在真实的网络安全对抗中,若上述技术平台在没有引入安全专家知识的情况下,仍然需要完全依赖于异常行为与攻击行为的关系,而在真实的终端侧环境中异常行为并不等于攻击行为,这将会存在大量误报的情况;若上述技术平台使用了有经验的安全专家来分析技术平台提供的告警等信息,并结合其自身的专家知识去调查取证分析,进而得到攻击路径,配合网络威胁防御系统的其它模块提供威胁路径的解决和应急方案,但因终端侧的海量日志数据之间的依赖关系呈爆炸式增长,及攻击手段的日趋复杂,在一定程度上增加了确定攻击路径的流程复杂度将会导致现有技术无法智能地提供攻击路径。
6.鉴于此,如何智能、准确的识别终端中的攻击路径,成为一个亟待解决的技术问题。


技术实现要素:

7.本发明提供一种终端侧攻击路径识别的方法、装置及存储介质,用以解决现有技术中存在的难以智能且准确的识别终端中的攻击路径的技术问题。
8.第一方面,为解决上述技术问题,本发明实施例提供的一种终端侧攻击路径识别的方法的技术方案如下:
9.构建终端侧的第一攻击溯源图;其中,所述第一攻击溯源图用于表征所述终端侧中不同实体间的关联关系;
10.对所述第一攻击溯源图中每对节点间的冗余连线进行优化,获得第二攻击溯源图;其中,所述冗余连线为所述每对节点间表征同种关联关系的连线中起始时刻之外对应的连线,所述第一攻击溯源图中一个节点对应所述终端侧中的一个实体;
11.从所述第二攻击溯源图中确定实际存在攻击行为的实际攻击路径。
12.一种可能的实施方式,构建终端侧的第一攻击溯源图,包括:
13.收集所述终端侧的原始日志,获得原始日志集;
14.将所述原始日志记录的操作实体、被操作实体抽象为所述第一攻击溯源图中的一个节点,将所述原始日志记录的操作实体与被操作实体间的操作关系抽象为对应节点间的连线,并通过专家知识对已有节点的操作关系进行补充形成对应连线,获得所述第一攻击溯源图。
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.一种可能的实施方式,所述确定单元还用于:
57.对所述第一路径序列集中存在攻击行为的恶意实体所在位置进行抽象,获得抽象后的位置;其中,所述抽象后的位置用于表征具有相同关键信息的恶意实体所在的位置;
58.和/或,对所述第一路径序列集中实体间的关联关系进行抽象化,并在完成抽象化后去重,获得具有统一表示方式的关联关系;
59.将由所述抽象后的位置和/或具有所述统一表示方式的关联关系构成的序列作为新的第一路径序列集。
60.一种可能的实施方式,所述确定单元还用于:
61.通过所述预设模型为每个第一路径序列包含的实体设置对应的权重;其中,所述权重用于表征对应实体为对应第一路径序列被认定为攻击路径的贡献度;
62.基于所述每个第一路径序列中每个实体的特征值及对应的权重进行加权求和,获得每个第一路径序列的路径权重;
63.用所述预设模型的输出层分析具有对应路径权重的第一路径序列,确定各个第一路径序列存在于各种攻击路径的概率分布;
64.根据所述概率分布,确定所述实际攻击路径。
65.一种可能的实施方式,所述确定单元还用于:
66.从所述第一路径序列对应的攻击路径中筛选出权重大于或等于攻击路径与非攻击路径的平均边界值的实际恶意实体;
67.将所述第一路径序列集中包含所述实际恶意实体的可疑路径,聚合为所述实际攻击路径。
68.一种可能的实施方式,训练所述预设模型所采用的样本集由数量均衡的恶意样本集和正常样本集构成;
69.其中,所述恶意样本集中的恶意样本包括通过对实际存在的恶意样本进行过采样得到的,正常样本集中的正常样本包括对实际存在的正常样本进行欠采样得到的。
70.一种可能的实施方式,所述构件单元还用于:
71.收集不同攻击场景下同类告警所确定的恶意实体,及包含对应恶意实体的第一攻击路径;
72.将所述第一攻击路径中的恶意实体,替换为所述同类告警确定的另一个恶意实体,获得第二攻击路径;
73.将所有第一攻击路径和所有第二攻击路径组成的集合作为所述恶意样本集。
74.一种可能的实施方式,所述构件单元还用于:
75.收集不存在攻击行为的非攻击路径,获得第一非攻击路径集;
76.计算所述第一非攻击路径集中任意两条非攻击路径的相似度,将相似度高于设定阈值的两条非攻击路径中的一条删除,直至所述第一非攻击路径集中所有非攻击路径均完成过至少一次相似度计算,获得第二非攻击路径集;
77.将所述第二非攻击路径集作为所述正常样本集。
78.第三方面,本发明实施例还提供一种终端侧攻击路径识别的装置,包括:
79.至少一个处理器,以及
80.与所述至少一个处理器连接的存储器;
81.其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,执行如上述第一方面所述的方法。
82.第四方面,本发明实施例还提供一种可读存储介质,包括:
83.存储器,
84.所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如上述第一方面所述的方法。
85.通过本发明实施例的上述一个或多个实施例中的技术方案,本发明实施例至少具有如下技术效果:
86.在本发明提供的实施例中,通过构建终端侧的第一攻击溯源图;并对第一攻击溯源图中每对节点间的冗余连线进行优化,获得第二攻击溯源图,虽然在去除第一攻击溯源图中大量重复连线的过程中会打破攻击的原始时序,但攻击序列的模式会被保留,进而在减少从第二攻击溯源图中确定实际攻击路径所需的工作量同时,还能有效保留第一攻击溯源图中的攻击模式,便于快速、准确、智能的从第二攻击溯源图中确定实际存在攻击行为的实际攻击路径。
附图说明
87.图1为本发明实施例提供的一种终端侧攻击路径识别方法的流程图;
88.图2为本发明实施例提供的形成第一攻击溯源图的示意图;
89.图3为本发明实施例提供的一种第一攻击溯源图的示意图;
90.图4为本发明实施例提供的第二攻击溯源图的示意图;
91.图5为本发明实施例提供的恶意实体的示意图;
92.图6为本发明实施例提供的第一路径序列集的示意图;
93.图7为本发明实施例提供的一种终端侧攻击路径识别装置的结构示意图。
具体实施方式
94.本发明实施列提供一种终端侧攻击路径识别的方法、装置及存储介质,用以解决现有技术中存在的难以智能且准确的识别终端中的攻击路径的技术问题。
95.为了更好的理解上述技术方案,下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
96.请参考图1,本发明实施例提供一种终端侧攻击路径识别的方法,该方法的处理过程如下。
97.步骤101:构建终端侧的第一攻击溯源图;其中,第一攻击溯源图用于表征终端侧中不同实体间的关联关系。
98.构建终端侧的第一攻击溯源图,可以通过下列方式实现:
99.收集终端侧的原始日志,获得原始日志集;将原始日志记录的操作实体、被操作实体抽象为第一攻击溯源图中的一个节点,将原始日志记录的操作实体与被操作实体间的操作关系抽象为对应节点间的连线,并通过专家知识对已有节点的操作关系进行补充形成对
应连线,获得第一攻击溯源图。
100.例如,一个企业包括上百个终端,可以从这些终端中收集终端侧的原始日志,如终端的域名解析(domain name server,dns)、日志数据、浏览器日志、等。可以通过使用sysmon收集终端中多种实体的原始日志,终端中的实体可以分为进程、文件、注册表、套接字等,在一条原始日志中通常记录了一个实体对另一个实体实施了何种操作,实施的一方可以称之为操作实体,被实施的一方可以称之为被操作实体,原始日志中记录的操作实体与被操作实体间的操作关系可以抽象为它们之间的关联关系。上述关联关系例如可以包括进程创建进程,进程读写文件,进程修改注册表和进程发起网络连接等。
101.在原始日志集中包括有以下几条原始:
102.原始日志1:t1时刻受害者通过进程e对文件a进行写操作;
103.原始日志2:t2时刻攻击者控制进程c进行反连d,连接外部ip;
104.原始日志3:t3时刻攻击者通过进程c对文件b进行写操作;
105.原始日志4:t4时刻进程c执行可执行文件b;
106.原始日志5:t5时刻文件b读取了受害者的文件a,获取受害者敏感信息。
107.根据上述原始日志将实体:文件a、文件b、进程c、d、进程e抽象为第一攻击溯源图中的节点(a、b、c、d、e),如图2所示,图2为本发明实施例提供的形成第一攻击溯源图的示意图。对于原始日志1进程e为操作对象、文件a为被操作对象,根据原始日志1的记录可知进程e与文件a的操作关系为“写”,因此可以在节点e和节点a间形成一个有向线段,并标记为“t1.写”或“t1.write”,同理可以形成其它节点间的有向线段(t2.连接、t3.写、t4.执行、t5.读),最终得到图2中的第一攻击溯源图。
108.需要理解的是,在图2中并未示出通过专家知识对已有节点的操作关系进行补充形成对应连线,但在实际应用中,由于攻击手法的多样性和特殊性导致一些攻击的日志数据无法关联,需要利用专家知识对已有节点的操作关系进行补充形成对应连线,最终得到第一攻击溯源图。
109.在得到第一攻击溯源图后,便可执行步骤102-步骤103。
110.步骤102:对第一攻击溯源图中每对节点间的冗余连线进行优化,获得第二攻击溯源图;其中,冗余连线为每对节点间表征同种关联关系的连线中起始时刻之外对应的连线,第一攻击溯源图中一个节点对应终端侧中的一个实体。
111.步骤103:从所述第二攻击溯源图中确定实际存在攻击行为的实际攻击路径。
112.由于在真实环境中,终端侧海量数据之间的依赖关系会导致终端侧溯源图存在依赖爆炸的问题,请参见图3为本发明实施例提供的一种第一攻击溯源图的示意图。真实环境中终端侧的第一攻击溯源图通常是如图3所示的,从图3中可以看出由于终端侧海量数据间的依赖关系,形成的第一攻击溯源图中也就需要会包含海量的关联关系,这不仅增大了发现攻击路径的难度,还需要消耗大量的时间去还原真实的攻击路径,降低了识别攻击路径的准确度。
113.本发明为了避免上述问题,对第一攻击溯源图中每对节点间的冗余连线进行优化,获得第二攻击溯源图,具体通过下列方式实现:
114.去除第一攻击溯源图中每对节点间,具有同种关联关系的多条连线中最早时刻和最晚时刻对应连线之外的其余连线,获得第二攻击溯源图。
115.例如,以图3为例,节点a和节点e这对节点间存在多条连线(即有向线段)t1.写~t12.写,它们都属于同种关联关系:“写”,因此可以去除节点a和节点e间最早时刻(t1)和最晚时刻(t12)对应连线之外的其余连线(t2.写~t11.写,它们即为冗余路径);同理,对于节点a和节点b需要去除连线t7.读和t5.读之外的其余连线(t6.读);节点b和节点c之间包括3条连线:t3.写、t4.执行、t8.执行,t3.写属于关联关系“写”、t4.执行和t8.执行属于关联关系“执行”,由于属于“写”这种关联关系的连线只有一条,因此无连线需去除,属于“执行”这种关联关系的连线只有最早时刻(t3)和最晚时刻(t8)对应的连线,因此也无连线需要去除。对于节点c和节点d,由于这两对节点中只有一条连线,因此无需去除连线。
116.通过对图3中的第一溯源图中每对节点间的冗余路径进行优化后,得到如图4所示的第二攻击溯源图,并从中确定实际存在攻击行为的攻击路径。图4为本发明实施例提供的第二攻击溯源图的示意图。
117.在本发明提供的实施例中,通过对第一攻击溯源图中每对节点间的冗余连线进行优化,仅保留最早时刻、最晚时刻对应的连线,虽然在去除第一攻击溯源图中大量重复连线的过程中会打破攻击的原始时序,但攻击序列的模式会被保留,进而在减少后续进行攻击路径识别的工作量的同时,还能有效保留第一攻击溯源图中的攻击模式,便于快速、准确、智能的从第二攻击溯源图中确定实际存在攻击行为的实际攻击路径。
118.在本发明提供的实施例中,可以采用预设模型,如基于循环神经网络(recurrent neural network,rnn)的序列分类器从第二攻击溯源图中确定实际存在攻击行为的实际攻击路径。
119.在使用预设模型从第二溯源图中确定实际存在攻击行为的实际攻击路径之前,还需要先完成对预设模型的训练,具体可以采用下列方式实现:
120.为预设模型准备样本集,包括恶意样本集和正常样本集,通常为了使训练好的预设模型具有达到预设的识别率,上述恶意样本集和正常样本集在数量上需要保持均衡(即数量大致相同)。然而,在真实环境中,不存在攻击行为对应的正常样本数量庞大,而存在攻击行为对应的恶意样本数量较少,因此实际对预设模型进行训练所需的恶意样本的数量、种类往往无法达到要求。
121.为克服上述问题,本发明中训练预设模型所采用的恶意样本集中的恶意样本包括通过对实际存在的恶意样本进行过采样得到的,正常样本集中的正常样本包括对实际存在的正常样本进行欠采样得到的。这样就能尽可能地保证恶意样本集和正常样本集数量均衡,从而提高预设模型识别攻击路径的准确率。
122.上述恶意样本集的获得方式具体可以通过下列方式实现:
123.收集不同攻击场景下同类告警所确定的恶意实体,及包含对应恶意实体的第一攻击路径;将第一攻击路径中的恶意实体,替换为同类告警确定的另一个恶意实体,获得第二攻击路径;将所有第一攻击路径和所有第二攻击路径组成的集合作为恶意样本集。
124.例如,在网络安全领域中,攻击者采取攻击行为等非法操作被网络安全设备捕获时会产生对应的告警数据。当告警数据满足预设的告警条件的时候,该告警数据对应的告警则为高危告警,表明攻击者采取了攻击行动(即存在攻击行为),其对应的原始日志中的被实施实体则为恶意实体,如图5所示,图5为本发明实施例提供的恶意实体的示意图。图5中,文件b为通过高危告警判断得到的恶意文件,d则为通过高危告警判断得到的恶意ip。
125.在攻击场景1中通过告警类型1确定恶意文件b,将其作为恶意实体b,收集该恶意实体b及包含该恶意实体b的第一攻击路径b;在攻击场景2中通过告警类型1确定恶意文件h,收集该恶意实体h及包含该恶意实体h的第一攻击路径h;用恶意实体h替换攻击场景1中的第一攻击路径b中的恶意实体b,得到第二攻击路径h,同样可以用恶意实体b替换攻击场景2中的第一攻击路径h中的恶意实体h,得到第二攻击路径b,将上述第一攻击路径b、第一攻击路径h、第二攻击路径b、第二攻击路径h组成的集合作为训练预设模型所需的恶意样本集,这样在不改变攻击路径中序列的语义的情况下,增加恶意样本的数量,为训练预设模型提供足够的恶意样本。
126.上述正常样本集的获得方式具体可以通过下列方式实现:
127.收集不存在攻击行为的非攻击路径,获得第一非攻击路径集;计算第一非攻击路径集中任意两条非攻击路径的相似度,将相似度高于设定阈值的两条非攻击路径中的一条删除,直至第一非攻击路径集中所有非攻击路径均完成过至少一次相似度计算,获得第二非攻击路径集;将第二非攻击路径集作为正常样本集。
128.例如,在收集了非攻击路径1~非攻击路径1000,得到第一非攻击路径集后,可以采用字符串算法计算第一非攻击路径集中任意两条非攻击路径的相似度,将相似度高于设定阈值的两条非攻击路径中的一条删除,直至非攻击路径1~非攻击路径1000中每条非攻击路径均完成过一次相似度计算,若此时剩余的非攻击路径的总数量与恶意样本集中恶意样本的总数量之差在一个设定的范围内,则可以将这些剩余的非攻击路径形成的集合作为正常样本集;若剩余的非攻击路径的总数量与恶意样本集中恶意样本的总数量之差超出设定的范围,则可以再次对这些剩余的非攻击路径实施上述相似度计算过程再次剔除相似度高的部分非攻击路径,如此循环往复,直至剩余的非攻击路径的总数与恶意样本集中恶意样本的总数在以设定的误差范围内(即尽可能保证恶意样本集和正常样本集数量均衡),得到第二非攻击路径集,并将之作为正常样本集。这样可以去除第一非攻击路径集中高度相似的非攻击路径,使得到的第二非攻击路径集中的正常样本具有突出的特征,进而使用包含上述正常样本集训练得到的预设模型的识别准确度得以提升。
129.需要理解的是,上述举例中尽管只例举了一种计算相似度的方式,但在实际使用中还可以采用其它相似度的计算方式,在此不再一一赘述。
130.一种可能的实施方式,从第二攻击溯源图中确定实际存在攻击行为的实际攻击路径,可以通过下列方式实现:
131.根据原始日志的告警信息,确定终端侧中对应的实体是否为存在攻击行为的恶意实体;若终端侧中的任一实体被确定为恶意实体,从第二攻击溯源图中提取包含恶意实体的第一路径序列,获得第一路径序列集;基于预设模型及第一路径序列集,确定实际存在攻击的实际攻击路径;其中,预设模型用于识别第一路径序列集中的攻击路径。
132.例如,假设图5为第二攻击溯源图,根据原始日志的告警信息,确定节点b为恶意实体b,节点d为恶意实体d,进而可以从图5中确定,包含恶意实体b的第一路径序列b以及包含恶意实体d的第一路径序列d,将它们形成的集合作为第二攻击溯源图的第一路径序列集,如图6所示为本发明实施例提供的第一路径序列集的示意图。之后,使用预设模型对第一路径序列集进行攻击路径的识别,便可确定第二攻击溯源图中实际存在攻击的实际攻击路径。
133.在实际应用中上述第一路径序列通常是以文字的形式表示的,如进程c:/windows/system32/svchost.exe对进程c:/windows/system32/cmd.exe执行了读操作,由于上述实体中并没有包含无意义的信息,因此,对应的第一路径序列可以表示为:
[0134]“c_windows_system32_svchost.exe read c_windows_system32_cmd.exe”。这样便于预设模型进行处理,上述图5只是为了便于理解给出的示意图,而不能代表真实处理时使用的数据。
[0135]
一种可能的实施方式,获得第一路径序列集之后,还包括:
[0136]
对第一路径序列集中存在攻击行为的恶意实体所在位置进行抽象,获得抽象后的位置;其中,抽象后的位置用于表征具有相同关键信息的恶意实体所在的位置;
[0137]
和/或,对第一路径序列集中实体间的关联关系进行抽象化,并在完成抽象化后去重,获得具有统一表示方式的关联关系。
[0138]
例如,在攻击场景1对应的第一路径序列集中获得恶意实体b所在位置为/user/zhangsan/maliciousb.exe,在攻击场景2中获得恶意实体h所在位置为/system/process/malicioush.exe,由于恶意实体的名称千差万别,对其所在位置进行抽象化,保存其关键信息(如关键路径信息等),而对于名称等无意义的信息可以进行模糊处理,这样就可以得到恶意实体b所在位置抽象化后的位置为user_***.exe,恶意实体h所在位置抽象化后的位置为system_process_***.exe。
[0139]
此外,由于不同日志采集系统用于描述实体间的关联关系的方式各不同,因此,可以对实体间的关联关系进行抽象化处理,使实体间的关联关系具有统一的表述方式,如采用create,read和write等方式对实体间的关联关系进行统一表述,这样可以将实质相同的关联关系对应的操作行为放到同一语义维度上。在对实体间的关联关系进行抽象化处理后,可能会出现重复的关联关系,因此还需要对抽象化后的关联关系进行去重,最终得到新的第一路径序列集。
[0140]
在本发明提供的实施例中,通过对实体所在的位置进行抽象化、对实体间的关联关系进行抽象化,可以在保留第一路径序列集中存在的攻击路径的情况下,降低预设模型识别攻击路径的工作量,提高确定实际攻击路径的准确率和工作效率。
[0141]
一种可能的实施方式,基于预设模型及第一路径序列集,确定实际存在攻击的实际攻击路径,可以通过下列方式实现:
[0142]
通过预设模型为每个第一路径序列包含的实体设置对应的权重;其中,权重用于表征对应实体为对应第一路径序列被认定为攻击路径的贡献度;基于每个第一路径序列中每个实体的特征值及对应的权重进行加权求和,获得每个第一路径序列的路径权重;用预设模型的输出层分析具有对应路径权重的第一路径序列,确定各个第一路径序列存在于各种攻击路径的概率分布;根据概率分布,确定实际攻击路径。
[0143]
例如,预设模型为第一路径序列包含的实体设置对应的权重后,对每个第一路径序列中的实体的特征值及对应的权重求加权和,得到的即为第一路径序列的路径权重,进而通过预设模型的输出层分析各个第一路径序列,确定各个第一路径序列所属类别的攻击路径的分别概率,可以将第一路径序列对应的攻击路径中概率达到设定概率的攻击路径确定为对应第一路径序列的实际攻击路径。
[0144]
由于攻击通常是分阶段和分步骤完成的上述方式确定的各个第一路径序列的实
际攻击路径,可能无法准确反映攻击过程,因此还可以通过路径聚合的方式确定实际存在攻击的实际攻击路径,具体可以通过下列方式实现:
[0145]
从第一路径序列对应的攻击路径中筛选出权重大于或等于攻击路径与非攻击路径的平均边界值的实际恶意实体;将第一路径序列集中包含实际恶意实体的可疑路径,聚合为实际攻击路径。
[0146]
例如,还可以从第一路径序列对应攻击路径中筛选出权重大于或等于平均边界值的实际恶意实体,然后将第一路径序列集中包含实际可疑实体的可疑路径聚合为实际攻击路径,提供给安全运营人员,从而实现智能化的识别实际攻击路径、降低威胁分析与响应的周期。
[0147]
基于同一发明构思,本发明一实施例中提供一种终端侧攻击路径识别的装置,该装置的终端侧中攻击路径识别方法的具体实施方式可参见方法实施例部分的描述,重复之处不再赘述,请参见图7,该装置包括:
[0148]
构建单元701,用于构建终端侧的第一攻击溯源图;其中,所述第一攻击溯源图用于表征所述终端侧中不同实体间的关联关系;
[0149]
优化单元702,用于对所述第一攻击溯源图中每对节点间的冗余连线进行优化,获得第二攻击溯源图;其中,所述冗余连线为所述每对节点间表征同种关联关系的连线中起始时刻之外对应的连线,所述第一攻击溯源图中一个节点对应所述终端侧中的一个实体;
[0150]
确定单元703,用于从所述第二攻击溯源图中确定实际存在攻击行为的实际攻击路径。
[0151]
一种可能的实施方式,所述构建单元701还用于:
[0152]
收集所述终端侧的原始日志,获得原始日志集;
[0153]
将所述原始日志记录的操作实体、被操作实体抽象为所述第一攻击溯源图中的一个节点,将所述原始日志记录的操作实体与被操作实体间的操作关系抽象为对应节点间的连线,并通过专家知识对已有节点的操作关系进行补充形成对应连线,获得所述第一攻击溯源图。
[0154]
一种可能的实施方式,所述优化单元702还用于:
[0155]
去除所述第一攻击溯源图中所述每对节点间,具有同种关联关系的多条连线中最早时刻和最晚时刻对应连线之外的其余连线,获得所述第二攻击溯源图。
[0156]
一种可能的实施方式,所述确定单元703还用于:
[0157]
根据所述原始日志的告警信息,确定所述终端侧中对应的实体是否为存在所述攻击行为的恶意实体;
[0158]
若所述终端侧中的任一实体被确定为所述恶意实体,从所述第二攻击溯源图中提取包含所述恶意实体的第一路径序列,获得第一路径序列集;
[0159]
基于预设模型及所述第一路径序列集,确定实际存在攻击的实际攻击路径;其中,所述预设模型用于识别所述第一路径序列集中的攻击路径。
[0160]
一种可能的实施方式,所述确定单元703还用于:
[0161]
获得第一路径序列集后,对所述第一路径序列集中存在攻击行为的恶意实体所在位置进行抽象,获得抽象后的位置;其中,所述抽象后的位置用于表征具有相同关键信息的恶意实体所在的位置;
[0162]
和/或,对所述第一路径序列集中实体间的关联关系进行抽象化,并在完成抽象化后去重,获得具有统一表示方式的关联关系;
[0163]
将由所述抽象后的位置和/或具有所述统一表示方式的关联关系构成的序列作为新的第一路径序列集。
[0164]
一种可能的实施方式,所述确定单元703还用于:
[0165]
通过所述预设模型为每个第一路径序列包含的实体设置对应的权重;其中,所述权重用于表征对应实体为对应第一路径序列被认定为攻击路径的贡献度;
[0166]
基于所述每个第一路径序列中每个实体的特征值及对应的权重进行加权求和,获得每个第一路径序列的路径权重;
[0167]
用所述预设模型的输出层分析具有对应路径权重的第一路径序列,确定各个第一路径序列存在于各种攻击路径的概率分布;
[0168]
根据所述概率分布,确定所述实际攻击路径。
[0169]
一种可能的实施方式,所述确定单元703还用于:
[0170]
从所述第一路径序列对应的攻击路径中筛选出权重大于或等于攻击路径与非攻击路径的平均边界值的实际恶意实体;
[0171]
将第一路径序列集中包含所述实际恶意实体的可疑路径,聚合为所述实际攻击路径。
[0172]
一种可能的实施方式,训练所述预设模型所采用的样本集由数量均衡的恶意样本集和正常样本集构成;
[0173]
其中,所述恶意样本集中的恶意样本包括通过对实际存在的恶意样本进行过采样得到的,正常样本集中的正常样本包括对实际存在的正常样本进行欠采样得到的。
[0174]
一种可能的实施方式,所述构件单元还用于:
[0175]
收集不同攻击场景下同类告警所确定的恶意实体,及包含对应恶意实体的第一攻击路径;
[0176]
将所述第一攻击路径中的恶意实体,替换为所述同类告警确定的另一个恶意实体,获得第二攻击路径;
[0177]
将所有第一攻击路径和所有第二攻击路径组成的集合作为所述恶意样本集。
[0178]
一种可能的实施方式,所述构件单元还用于:
[0179]
收集不存在攻击行为的非攻击路径,获得第一非攻击路径集;
[0180]
计算所述第一非攻击路径集中任意两条非攻击路径的相似度,将相似度高于设定阈值的两条非攻击路径中的一条删除,直至所述第一非攻击路径集中所有非攻击路径均完成过至少一次相似度计算,获得第二非攻击路径集;
[0181]
将所述第二非攻击路径集作为所述正常样本集。
[0182]
需要说明的是,本技术实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0183]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用
时,可以存储在一个处理器可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0184]
在此需要说明的是,本发明实施例提供的上述装置,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
[0185]
基于同一发明构思,本发明实施例中提供了一种终端侧攻击路径识别的装置,包括:至少一个处理器,以及
[0186]
与所述至少一个处理器连接的存储器;
[0187]
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,执行如上所述的终端侧中攻击路径识别方法。
[0188]
基于同一发明构思,本发明实施例还提一种可读存储介质,包括:
[0189]
存储器,
[0190]
所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如上所述的终端侧中攻击路径识别方法。
[0191]
所述可读存储介质可以是处理器能够存取的任何可用介质或数据存储设备,包括易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(read-only memory,rom)、可编程rom(programmable read-only memory,prom)、电可编程rom(erasable programmable read-only memory,eprom)、电可擦写可编程rom(electrically erasable programmable read only memory,eeprom)或快闪存储器、固态硬盘(solid state disk或solid state drive,ssd)、磁性存储器(例如软盘、硬盘、磁带、磁光盘(magneto-optical disc,mo)等)、光学存储器(例如cd、dvd、bd、hvd等)。易失性存储器可以包括随机存取存储器(random access memory,ram),该ram可以充当外部高速缓存存储器。作为例子而非限制性的,ram可以以多种形式获得,比如动态ram(dynamic random access memory,dram)、同步dram(synchronous dynamic random-access memory,sdram)、双数据速率sdram(double data rate sdram,ddrsdram)、增强sdram(enhancedsynchronousdram,esdram)、同步链路dram(sync link dram,sldram)。所公开的各方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
[0192]
本领域内的技术人员应明白,本发明实施例可提供为方法、系统、或程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机/处理器可用程序代码的可读存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的机程序产品的形式。
[0193]
本发明实施例是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品
的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0194]
这些程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的可读存储器中,使得存储在该可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0195]
这些程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机/处理器实现的处理,从而在计算机/处理器或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0196]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
再多了解一些

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

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

相关文献