一种攻击行为识别的方法及装置与流程

文档序号:28492891发布日期:2022-01-15 03:13阅读:131来源:国知局
一种攻击行为识别的方法及装置与流程

1.本技术涉及网络安全技术领域,尤其涉及一种攻击行为识别的方法及装置。


背景技术:

2.企业为了抵御内部攻击或外部攻击,通常会部署大量的安全检测设备,安全检测设备比如web应用防护系统(web application firewall,waf)、端点检测与响应系统(endpoint detection and response,edr)和蜜罐等等。
3.安全检测设备可产生海量日志,而这些海量日志中大部分日志都是低级、孤立的、没有语义的。如何从这些海量日志中自动识别攻击行为是当前安全运营所面临的挑战。


技术实现要素:

4.本技术提供一种攻击行为识别的方法及装置,用于从主机日志或主机运行日志中,自动识别出攻击行为。
5.第一方面,本技术提供一种攻击行为识别的方法,该方法可由安全检测设备执行。
6.在一种可能的实现方式中,从主机日志中提取出多个三元组,其中三元组包括源节点、目标节点和边,所述边用于指示所述源节点与所述目标节点之间的操作;根据所述多个三元组中源节点、目标节点和边,确定所述主机日志的属性异构图;根据所述属性异构图,进行模型训练得到语义推理模型;根据所述语义推理模型和所述属性异构图,得到一个或多个子图;从所述一个或多个子图对应的行为中确定出攻击行为。
7.在一种可能的实现方式中,所述主机日志中包括多种类型的日志,每个类型对应于源节点的关键字和目标节点的关键字;所述从主机日志中提取出多个三元组,包括:针对于任一个类型的日志:根据所述类型对应的源节点的关键字,从所述日志中提取源节点;根据所述类型对应的目标节点的关键字,从所述日志中提取目标节点;根据所述日志中、所述源节点和所述目标节点之间的操作确定边;将所述源节点、所述边和所述目标节点组成所述日志的三元组。
8.在一种可能的实现方式中,根据所述属性异构图,进行模型训练得到语义推理模型,包括:针对所述属性异构图中每个三元组对应的源节点、边和目标节点,执行向量初始化,得到所述三元组对应的向量表示,从而得到所述多个三元组对应的向量表示;根据所述多个三元组对应的向量表示,进行模型训练得到所述语义推理模型。
9.在一种可能的实现方式中,所述根据所述语义推理模型和所述属性异构图,得到一个或多个子图,包括:根据所述语义推理模型,对所述属性异构图中的多个节点进行聚类分析,得到所述属性异构图对应的一个或多个节点集合;将每个节点集合中的多个节点,以及各节点对应的边,组成所述节点集合对应的子图,从而得到所述属性异构图对应的一个或多个子图。
10.在一种可能的实现方式中,所述根据所述语义推理模型,对所述属性异构图中的多个节点进行聚类分析之前,还包括:根据所述属性异构图中多个边分别对应的时间戳,将
所述属性异构图中不符合时序关系的边以及所述边对应的目标节点过滤,以得到过滤之后的属性异构图。
11.在一种可能的实现方式中,从所述一个或多个子图对应的行为中确定出攻击行为,包括:根据所述属性异构图对应的子图的数量、所述属性异构图中各元素的出现频率,确定所述属性异构图中各元素的重要度,所述元素是源节点、边或目标节点;针对于任一个子图,根据所述子图中包含的各元素的重要度和向量表示,确定所述子图对应的向量表示,所述子图对应的向量表示用于指示所述子图对应的行为;根据所述一个或多个子图对应的向量表示,确定所述攻击行为。
12.在一种可能的实现方式中,所述根据所述一个或多个子图对应的向量表示,确定所述攻击行为,包括:从所述一个或多个子图对应的向量表示中,选择与预设向量表示的相似度大于第一预设相似度的向量表示,用于指示所述攻击行为;和/或,确定所述多个子图中的任两个子图对应的向量表示之间的相似度,根据相似度小于第二预设相似度的两个向量表示,确定所述攻击行为。
13.上述技术方案中,利用属性异构图对主机日志进行建模,可以有效地分析出主机日志中行为的上下文语义,并集成多种类型数据的异构数据。通过属性异构图进行模型训练得到语义推理模型,根据语义推理模型将属性异构图划分为一个或多个子图,从而实现对主机日志的上下文进行语义提取与向量表示。进一步的,基于各子图的向量表示,有效地识别出攻击行为。如此,在提高攻击行为识别准确性的前提下,降低了人力成本。
14.第二方面,本技术提供一种攻击行为识别的装置,该装置可以是安全检测设备。
15.在一种可能的实现方式中,装置包括:提取模块,用于从主机日志中提取出多个三元组,其中三元组包括源节点、目标节点和边,所述边用于指示所述源节点与所述目标节点之间的操作;处理模块,用于根据所述多个三元组中源节点、目标节点和边,确定所述主机日志的属性异构图;根据所述属性异构图,进行模型训练得到语义推理模型;根据所述语义推理模型和所述属性异构图,得到一个或多个子图;从所述一个或多个子图对应的行为中确定出攻击行为。
16.在一种可能的实现方式中,所述主机日志中包括多种类型的日志,每个类型对应于源节点的关键字和目标节点的关键字;所述提取模块具体用于:针对于任一个类型的日志:根据所述类型对应的源节点的关键字,从所述日志中提取源节点;根据所述类型对应的目标节点的关键字,从所述日志中提取目标节点;根据所述日志中、所述源节点和所述目标节点之间的操作确定边;将所述源节点、所述边和所述目标节点组成所述日志的三元组。
17.在一种可能的实现方式中,所述处理模块具体用于:针对所述属性异构图中每个三元组对应的源节点、边和目标节点,执行向量初始化,得到所述三元组对应的向量表示,从而得到所述多个三元组对应的向量表示;根据所述多个三元组对应的向量表示,进行模型训练得到所述语义推理模型。
18.在一种可能的实现方式中,所述处理模块具体用于:根据所述语义推理模型,对所述属性异构图中的多个节点进行聚类分析,得到所述属性异构图对应的一个或多个节点集合;将每个节点集合中的多个节点,以及各节点对应的边,组成所述节点集合对应的子图,从而得到所述属性异构图对应的一个或多个子图。
19.在一种可能的实现方式中,所述处理模块在根据所述语义推理模型,对所述属性
异构图中的多个节点进行聚类分析之前,还用于:根据所述属性异构图中多个边分别对应的时间戳,将所述属性异构图中不符合时序关系的边以及所述边对应的目标节点过滤,以得到过滤之后的属性异构图。
20.在一种可能的实现方式中,所述处理模块具体用于:根据所述属性异构图对应的子图的数量、所述属性异构图中各元素的出现频率,确定所述属性异构图中各元素的重要度,所述元素是源节点、边或目标节点;针对于任一个子图,根据所述子图中包含的各元素的重要度和向量表示,确定所述子图对应的向量表示,所述子图对应的向量表示用于指示所述子图对应的行为;根据所述一个或多个子图对应的向量表示,确定所述攻击行为。
21.在一种可能的实现方式中,所述处理模块具体用于:从所述一个或多个子图对应的向量表示中,选择与预设向量表示的相似度大于第一预设相似度的向量表示,用于指示所述攻击行为;和/或,确定所述多个子图中的任两个子图对应的向量表示之间的相似度,根据相似度小于第二预设相似度的两个向量表示,确定所述攻击行为。
22.第三方面,本技术提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令被装置执行时,使得该装置执行上述第一方面或第一方面的任意可能的实现方式中的方法。
23.第四方面,本技术提供一种计算机程序产品,该计算机程序产品包括计算机程序或指令,当该计算机程序或指令被装置执行时,实现上述第一方面或第一方面的任意可能的实现方式中的方法。
24.第五方面,本技术提供一种计算设备,包括处理器,所述处理器与存储器相连,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序,以使得所述计算设备实现上述第一方面或第一方面的任意可能的实现方式中的方法。
25.上述第二方面至第五方面中任一方面可以达到的技术效果可以参照上述第一方面中有益效果的描述,此处不再重复赘述。
附图说明
26.图1为本技术提供的一种攻击行为识别方法的流程示意图;
27.图2为本技术提供的一种属性异构图;
28.图3为本技术提供的一种三元组中元素对应向量之间的关系;
29.图4为本技术提供的一种程序编译过程中的属性异构图;
30.图5为本技术提供的一种属性异构图划分为多个子图的示意图;
31.图6为本技术提供的一种确定攻击行为的流程示意图;
32.图7为本技术提供一种攻击行为识别装置的结构示意图;
33.图8为本技术提供的再一种攻击行为识别装置的结构示意图。
具体实施方式
34.本技术提供一种攻击行为识别的方法。该方法中,安全检测设备通过聚合海量日志中的语义信息来对系统行为模式进行建模,进而通过分析日志自动提取上下文作为行为语义,最后基于行为语义从日志中识别出攻击行为。
35.具体可参见图1示例性示出的一种攻击行为识别方法的流程图:
36.步骤101,从主机日志中提取出多个三元组。
37.其中三元组为知识图谱中的概念,该三元组中可包括三个元素,分别是源节点、目标节点和边,边用于指示源节点与目标节点之间的操作或关系。
38.本技术中,主机日志还可以是主机运行日志,如下以主机日志为例说明。其中主机日志中可包括多种类型,示例性的,可包括网络连接、进程行为、注册表操作、终端登录、系统服务、操作系统计划任务、终端应用程序、文件操作等。基于不同的类型,三元组可具体有不同的形式:
39.1、网络连接
40.网络连接类型的日志用于记录终端的网络行为。
41.对于网络连接类型的日志,需要根据网络连接方向进行区分如下:
42.连接方向为in表示有远程主机通过网络连接访问本机,三元组可表示为remote_ip

process,其中,三元组的源节点remote_ip表示远程主机ip地址,三元组的目标节点process表示本机相关进程。
43.连接方向为out表示本机通过网络连接访问远程主机,三元组可表示为process

remote_ip,其中,三元组的源节点process表示本机相关进程,三元组的目标节点remote_ip表示远程主机ip地址。
44.2、进程行为
45.进程行为类型的日志可用于描述进程之间的调用关系。
46.其三元组可表示为parent_process

children_process。其中,三元组的源节点parent_process表示父进程,三元组的目标节点children_process表示子进程,三元组的边表示进程操作。
47.3、注册表操作
48.注册表操作类型的日志用于表示对注册表的操作行为。
49.其三元组可表示为process

registry_path。其中,三元组的源节点process表示进程,三元组的目标节点registry_path表示注册表路径,三元组的边表示注册表的相关操作。
50.4、终端登录
51.终端登录类型的日志用于描述终端的登录行为。
52.其三元组可表示为ip

process,其中,三元组的源节点ip表示登录ip或是用户,三元组的目标节点process表示终端与登录相关的进程,三元组的边表示登录操作。
53.5、系统服务
54.系统服务类型的日志用于描述操作系统的服务操作。
55.其三元组可表示为process

service,其中,三元组的源节点process表示与系统服务相关的进程,三元组的目标节点service表示相关服务,三元组的边表示服务类型。
56.6、操作系统计划任务
57.操作系统计划任务类型的日志用于表示用户执行的操作系统计划任务。
58.其三元组可表示为user

service,其中,三元组的源节点user表示用户,三元组的目标节点service表示相关任务,三元组的边表示任务行为。
59.7、终端应用程序
60.终端应用程序类型的日志用于表示终端应用程序的相关日志记录。
61.其三元组可表示为user

app,其中,三元组的源节点user表示终端用户,三元组的目标节点app表示应用程序,三元组的边表示用户对应用程序的相关操作。
62.8、文件操作
63.文件操作类型的日志用于描述终端的文件操作。
64.其三元组可表示为process

file,其中,三元组的源节点process表示进程,三元组的目标节点file表示文件,三元组的边表示进程对文件的相关操作。
65.在一种可能的实现方式中,每个类型对应于各自的源节点的关键字和目标节点的关键字。比如类型是网络连接,则网络连接对应的源节点的关键字和目标节点的关键字,分别是remote_ip和process。
66.在对主机日志提取三元组时,具体可以是针对主机日志中的每个日志,确定该日志的类型。然后根据该日志的类型获取该类型对应的源节点的关键字,以及该类型对应的目标节点的关键字,进而从该日志中提取对应的源节点和目标节点。并根据日志中源节点和目标节点之间的操作确定边。随后再将源节点、边和目标节点组成日志的三元组。
67.仍以上述类型是网络连接为例,在提取网络连接日志中的三元组时,可以根据remote_ip和process提取出对应的源节点和目标节点,根据网络连接日志中remote_ip和process之间的操作,确定三元组的边。
68.步骤102,根据多个三元组中源节点、目标节点和边,确定主机日志的属性异构图。
69.其中属性异构图指的是,由顶点(vertex),边(edge),标签(lable),关系类型,还有属性(property)组成的有向图。其中,顶点也称为节点(node),即顶点可以是三元组中源节点,也可以是三元组中的目标节点。边也称为关系(relationship)。其中顶点与边可以有多种类型。
70.可根据多个三元组中每个三元组的源节点、目标节点和边,共同组成该主机日志的属性异构图。如图2为本技术示例性提供的一种属性异构图。
71.如图2示出的日志中,可涉及到如下过程:制作shellcode工具并成功投递,利用shellcode工具建立反向连接(如图2所示的反弹shell),shellcode工具迅速实现会话迁移,并修改注册表实现持久化存储。
72.以图2中虚线框出来的三元组explorer.exe

test.exe为例,其中边代表写(write)操作,即进程explorer.exe向文件test.exe执行写(write)操作。
73.其他类似,不再赘述。
74.步骤103,根据属性异构图,进行模型训练得到语义推理模型。
75.在一种可能的实现方式中,针对属性异构图中每个三元组对应的源节点、边和目标节点,执行向量初始化,得到三元组对应的向量表示,从而得到多个三元组对应的向量表示;根据多个三元组对应的向量表示,进行模型训练得到语义推理模型。
76.以任一个三元组为例说明,该三元组中可包括三个元素,即源节点、目标节点和边。具体的,可对源节点执行向量初始化,得到源节点对应的向量表示;以及对边执行向量初始化,得到边对应的向量表示;以及对目标节点执行向量初始化,得到目标节点对应的向量表示。其中,向量初始化可采用现有技术中的独热(onehot)编码技术实现。
77.如此,可得到每个三元组中,源节点、边和目标节点分别对应的向量,可分别表示
为h、r和t,也可以理解,该三元组对应的向量为(h、r、t)。
78.可将属性异构图中多个三元组分别对应的向量作为训练数据,进行模型训练以得到训练完成的语义推理模型,其中语义推理模型可用于指示具有语义关联的两个节点在向量空间中位置较为接近。
79.也可以理解,在模型训练中,考虑到各节点在属性异构图中的上下文关系(或语义关联关系),调整各元素(源节点、边、或目标节点)的向量表示,以使得具有上下文关系的两个节点在向量空间中的位置,相比于,不具有上下文关系的两个节点在向量空间中的位置更接近。
80.一个具体实现中,语义推理模型可以是transe模型。其中,transe模型属于翻译模型,transe模型可直观地将每个三元组实例(源节点、边、目标节点)中的边看作从源节点到目标节点的翻译,其中源节点又可表示为实体head,目标节点又可表示为实体tail,边又可表示为关系relation。
81.transe模型可在向量空间中通过不断地调整h、r和t,使得(h+r)尽可能与t相等,即h+r=t,具体可参见图3所示。
82.transe模型中定义了一个距离函数d(h+r,t),该距离函数可用来衡量h+r和t之间的距离,在实际应用中可使用l1或l2范数。在模型的训练过程中,transe采用最大间隔方法,其目标函数如下:
[0083][0084]
其中,s是知识库中的三元组即训练集,s

是负采样的三元组,通过替换h或t所得。γ是取值大于0的间隔距离参数。
[0085]
步骤104,根据语义推理模型和属性异构图,得到一个或多个子图。
[0086]
其中,每个子图可用于指示一个行为或行为概要。
[0087]
其中,行为概要可理解为与某个行为相关的数据或是信息流。
[0088]
系统行为概要分析可以规约从属性异构图中找出与某个攻击行为或是与攻击行为具有因果相关的子图。本技术中,可以采用基于路径划分或是子图划分的方式来实现行为概要的提取。
[0089]
在一种可能的实现方式中,可以根据语义推理模型对属性异构图进行子图划分,得到属性异构图对应的一个或多个子图。具体的,可以根据语义推理模型,对属性异构图中的多个节点进行聚类分析,得到属性异构图对应的一个或多个节点集合;将每个节点集合中的多个节点,以及各节点对应的边,组成节点集合对应的子图,从而得到属性异构图对应的一个或多个子图。
[0090]
图4示例性示出的一种程序编译过程对应的属性异构图,该属性异构图具体可以是溯源图,该溯源图可对应于场景:软件测试工程师想利用自己的权限窃取一些敏感信息。该软件测试工程师的日常工作包括使用git同步代码,使用gcc来编译源代码,以及使用apt命令安全相关的测试依赖包。如果该软件测试工程师想窃取敏感文件(比如secret.txt),为了躲避检测,他需要模拟自己的日常工作行为模式。具体的,软件测试工程师首先可以把敏感文件复制到其常用的工作目录中并重命名为pro2.c文件,然后对该pro2.c文件利用
gcc进行编译,最后把该pro2.c文件上传到了github上。
[0091]
可基于训练完成的语义推理模型,对如图4所示的属性异构图进行划分,将属性异构图中的各节点进行聚类,其中聚类方式可以是层次聚类(hierarchical clustering,hca)方式,然后得到如图5所示的三个子图,分别表示为子图1、子图2和子图3。
[0092]
此外,在对属性异构图进行子图划分之前,可考虑行为的时序关系,也即后一个行为要发生在前一个行为之后。这种时间约束可以过滤掉一大部分的依赖关系。在一个可能的实现方式中,可先从属性异构图中获取到祖先节点,其中该祖先节点不存在依赖节点,然后从该祖先节点开始依次判断是否存在需要过滤掉的边或节点。
[0093]
具体的,属性异构图中每个三元组的边可对应于自己的时间戳,可根据属性异构图中每个边对应的时间戳,将属性异构图中不符合时序关系的边以及该边对应的目标节点过滤掉,以得到过滤之后的属性异构图。
[0094]
举例来说,比如三元组1中包括源节点1、边1和目标节点1,三元组2中包括源节点2、边2和目标节点2,且在实际操作中三元组2发生在三元组1之后,三元组1中的目标节点1与三元组2中的源节点2为同一个节点。而在当前的属性异构图中,边2对应的时间戳早于边1对应的时间戳,也即三元组2发生在三元组1之前,如此,可根据边1和边2分别对应的时间戳,将边2和目标节点2过滤掉。
[0095]
基于该过滤方式,可将明显不符合时序关系的节点和边过滤掉,从而获取到较为简化的属性异构图,进而再对该过滤之后的属性异构图划分子图,有助于提高处理效率。
[0096]
步骤105,从一个或多个子图对应的行为中确定出攻击行为。
[0097]
具体可参见图6示例性示出的确定攻击行为的流程图:
[0098]
步骤601,根据属性异构图对应的子图的数量、属性异构图中元素的出现频率,确定属性异构图中各元素的重要度。其中,属性异构图中元素的出现频率,可以是该元素在属性异构图中出现的总次数,或者是该属性异构图中包含该元素的子图的数量,或者还可以是其他方式。
[0099]
对于一个行为来说,该行为中包含了底层一系列相关操作,但是每个底层操作的重要性与必要性对于该行为来说是不同的。
[0100]
例如图4中的程序编译过程,软件测试工程师通常不会直接编译源代码,而是先利用ls或是dir命令定位源代码。像ls和dir这种命令能表示软件测试工程师的行为,但是对高层行为的语义贡献较小。如此可以理解,一个操作/元素在属性异构图中出现频率较大的情况下,该操作的重要度反而会较低。
[0101]
本技术中,可以使用逆文档频率(inverse document frequency,idf)来定义操作对于行为的重要度。为了与idf的使用相对应,操作可以看成文档中的词,行为可以看成文档。idf计算公式可表示如下:
[0102][0103]
其中,e表示属性异构图中的元素(即源节点、边、或目标节点),n表示所有子图数量,ne表示包含元素e的子图的数量,ω
idf
(e)表示元素的重要度(或权重、重要性权重、相对重要度或贡献度)。
[0104]
步骤602,针对于任一个子图,根据子图中包含的各元素的重要度和向量表示,确
定子图对应的向量表示。
[0105]
其中,子图对应的向量表示用于指示子图对应的行为。
[0106]
示例性的,一个子图中可包括多个元素,可以基于该子图中每个元素的重要度和向量表示,进行加权求和,以得到该子图对应的向量表示。比如一个子图中包括3个元素,该3个元素的重要度分别是ω1、ω2和ω3,该3个元素的向量表示分别是a1、a2和a3,则这个子图的向量表示可通过公式ω1
×
a1+ω2
×
a2+ω3
×
a3来计算。
[0107]
如此,可得到该一个或多个子图分别对应的向量表示。
[0108]
步骤603,根据一个或多个子图对应的向量表示,确定攻击行为。
[0109]
在当前场景中,一个行为可以认为是一些语义相似的行为实例的集合。因此,聚类中的标签性的行为实例是具有代表性的实例(如聚类中性)。如果能够确定有效的行为标签,则可调查该具有代表性的行为实例即可,如此可提高攻击调查的自动化水平。
[0110]
在已知不同行为实例(即子图)的向量表示后,可根据每个子图的向量表示,确定是否存在攻击行为。
[0111]
一个示例中,可以预设攻击行为的向量表示(可称为预设向量表示),然后确定该预设向量表示分别与该一个或多个子图的向量表示之间的相似度。然后从中选择与预设向量表示的相似度大于第一预设相似度的向量表示,以用于指示攻击行为。
[0112]
如此,可从一个或多个子图的向量表示中选择与预设向量表示较为接近的向量表示,也即从一个或多个行为中选择与预设攻击行为较为相近的行为,以作为攻击行为。
[0113]
又一个示例中,可确定多个子图中的任两个子图对应的向量表示之间的相似度,根据相似度小于第二预设相似度的两个向量表示,确定攻击行为。
[0114]
可以理解,攻击行为对应的向量表示与其他正常行为(或非攻击行为)对应的向量表示之间的相似度,小于两个正常行为对应的向量表示之间的相似度,如此,可确定较小相似度对应的两个向量表示中存在一个攻击行为对应的向量表示。
[0115]
举例来说,属性异构图对应于5个子图,分别表示为子图1、子图2、子图3、子图4和子图5,其中子图1与子图2、子图1与子图3、子图1与子图4、子图1与子图5对应的向量表示的相似度均小于第二预设相似度,而子图2、子图3、子图4和子图5两两之间对应的向量表示的相似度均大于或等于第二预设相似度,那么可以确定子图1指示的行为为攻击行为。
[0116]
当然,本技术还可以有其他方式,实现从该一个或多个子图指示的行为中,确定出攻击行为,不做限定。
[0117]
本技术中,可以采用计算余弦相似度的方式,确定出两个向量表示之间的相似度,具体可参见公式:
[0118][0119]
其中,fm与fn表示任意两个子图的向量表示,其中ei,ej表示子图中每个元素的向量表示。
[0120]
上述技术方案中,从主机日志中提取出多个三元组,根据多个三元组中的源节点、目标节点和边,确定主机日志的属性异构图。然后根据属性异构图进行模型训练得到语义
推理模型,再根据语义推理模型和属性异构图,得到一个或多个子图,其中一个子图即指示一个行为。最后从一个或多个子图对应的行为中确定出攻击行为。
[0121]
如此,利用属性异构图对主机日志进行建模,可以有效地分析出主机日志中行为的上下文语义,并集成多种类型数据的异构数据。并且通过属性异构图进行模型训练得到语义推理模型,根据语义推理模型将属性异构图划分为一个或多个子图,从而实现对主机日志的上下文进行语义提取与向量表示。进一步的,基于各子图的向量表示,有效地识别出攻击行为。如此,在提高攻击行为识别准确性的前提下,降低了人力成本。
[0122]
基于上述内容和相同构思,图7和图8为本技术的提供的可能的装置的结构示意图。这些装置可以用于实现上述方法实施例,因此也能实现上述方法实施例所具备的有益效果。
[0123]
如图7所示,该装置包括:提取模块701,用于从主机日志中提取出多个三元组,其中三元组包括源节点、目标节点和边,所述边用于指示所述源节点与所述目标节点之间的操作;处理模块702,用于根据所述多个三元组中源节点、目标节点和边,确定所述主机日志的属性异构图;根据所述属性异构图,进行模型训练得到语义推理模型;根据所述语义推理模型和所述属性异构图,得到一个或多个子图;从所述一个或多个子图对应的行为中确定出攻击行为。
[0124]
在一种可能的实现方式中,所述主机日志中包括多种类型的日志,每个类型对应于源节点的关键字和目标节点的关键字;所述提取模块701具体用于:针对于任一个类型的日志:根据所述类型对应的源节点的关键字,从所述日志中提取源节点;根据所述类型对应的目标节点的关键字,从所述日志中提取目标节点;根据所述日志中、所述源节点和所述目标节点之间的操作确定边;将所述源节点、所述边和所述目标节点组成所述日志的三元组。
[0125]
在一种可能的实现方式中,所述处理模块702具体用于:针对所述属性异构图中每个三元组对应的源节点、边和目标节点,执行向量初始化,得到所述三元组对应的向量表示,从而得到所述多个三元组对应的向量表示;根据所述多个三元组对应的向量表示,进行模型训练得到所述语义推理模型。
[0126]
在一种可能的实现方式中,所述处理模块702具体用于:根据所述语义推理模型,对所述属性异构图中的多个节点进行聚类分析,得到所述属性异构图对应的一个或多个节点集合;将每个节点集合中的多个节点,以及各节点对应的边,组成所述节点集合对应的子图,从而得到所述属性异构图对应的一个或多个子图。
[0127]
在一种可能的实现方式中,所述处理模块702在根据所述语义推理模型,对所述属性异构图中的多个节点进行聚类分析之前,还用于:根据所述属性异构图中多个边分别对应的时间戳,将所述属性异构图中不符合时序关系的边以及所述边对应的目标节点过滤,以得到过滤之后的属性异构图。
[0128]
在一种可能的实现方式中,所述处理模块702具体用于:根据所述属性异构图对应的子图的数量、所述属性异构图中各元素的出现频率,确定所述属性异构图中各元素的重要度,所述元素是源节点、边或目标节点;针对于任一个子图,根据所述子图中包含的各元素的重要度和向量表示,确定所述子图对应的向量表示,所述子图对应的向量表示用于指示所述子图对应的行为;根据所述一个或多个子图对应的向量表示,确定所述攻击行为。
[0129]
在一种可能的实现方式中,所述处理模块702具体用于:从所述一个或多个子图对
应的向量表示中,选择与预设向量表示的相似度大于第一预设相似度的向量表示,用于指示所述攻击行为;和/或,确定所述多个子图中的任两个子图对应的向量表示之间的相似度,根据相似度小于第二预设相似度的两个向量表示,确定所述攻击行为。
[0130]
如图8所示为本技术实施例提供的装置800,图8所示的装置可以为图7所示的装置的一种硬件电路的实现方式。
[0131]
为了便于说明,图8仅示出了该装置的主要部件。
[0132]
图8所示的装置800包括通信接口810、处理器820和存储器830,其中存储器830用于存储程序指令和/或数据。处理器820可能和存储器830协同操作。处理器820可能执行存储器830中存储的程序指令。存储器830中存储的指令或程序被执行时,该处理器820用于执行上述实施例中处理模块702执行的操作,通信接口810用于执行上述实施例中提取模块701执行的操作。
[0133]
存储器830和处理器820耦合。本技术实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。所述存储器830中的至少一个可以包括于处理器820中。
[0134]
在本技术实施例中,通信接口可以是收发器、电路、总线、模块或其它类型的通信接口。在本技术实施例中,通信接口为收发器时,收发器可以包括独立的接收器、独立的发射器;也可以集成收发功能的收发器、或者是通信接口。
[0135]
装置800还可以包括通信线路840。其中,通信接口810、处理器820以及存储器830可以通过通信线路840相互连接;通信线路840可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。所述通信线路840可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0136]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的保护范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1