掌桥专利:专业的专利平台
掌桥专利
首页

一种恶意事件信息的获取方法、装置及电子设备

文献发布时间:2023-06-19 11:27:38


一种恶意事件信息的获取方法、装置及电子设备

技术领域

本发明涉及数据处理技术领域,特别涉及一种恶意事件信息的获取方法、装置、电子设备及存储介质。

背景技术

恶意事件是指终端中在用户预期之外执行的行为事件。通常情况下,恶意事件的发生是黑客通过非法手段入侵终端,使得终端在用户的预期之外执行相关的行为事件。通过研究发现恶意事件的发生往往不是孤立的。因此,需要通过恶意事件的溯源分析来确定恶意事件发生的根本原因,进而做出相应的操作对终端进行防护。

目前,恶意事件的溯源分析方式是,采用人工对相关的日志进行分析,得到溯源信息。但是,相关的日志数据量巨大,在海量的日志中人工进行恶意事件的溯源分析,无异于大海捞针,不仅效率低下,还不能够保证得到的溯源信息的准确性。

发明内容

本发明的目的是提供一种恶意事件信息的获取方法、装置、电子设备及存储介质,通过构建的事件异构图自动提取恶意事件子图并生成对应的溯源信息,提高了溯源信息的准确性以及恶意事件信息的获取效率。

为解决上述技术问题,本发明提供一种恶意事件信息的获取方法,包括:

提取终端中的行为数据;

根据所述行为数据构建事件异构图;其中,所述事件异构图中的边表示行为事件;

从所述事件异构图中提取恶意事件子图;

生成所述恶意事件子图对应的溯源信息。

可选地,所述生成所述恶意事件子图对应的溯源信息,包括:

判断所述恶意事件子图是否为全连通图;

若是,则生成所述恶意事件子图对应的溯源信息。

若不是,则将所述恶意事件子图划分为对应的连通子图,并生成每个所述连通子图对应的溯源信息。

可选地,所述将所述恶意事件子图划分为对应的连通子图,并生成每个所述连通子图对应的溯源信息,包括:

将所述恶意事件子图划分为不同的初始连通子图;

根据所述事件异构图,确定任意两个初始连通子图之间的最短路径;

判断各所述最短路径是否小于设定阈值;

若所述最短路径小于设定阈值,则利用小于设定阈值的最短路径,将小于设定阈值的最短路径对应的初始连通子图进行连接,以形成最终的连通子图;

若所述最短路径不小于设定阈值,则将不小于设定阈值的最短路径对应的初始连通子图分别作为最终的连通子图;

生成每个所述最终的连通子图对应的溯源信息。

可选地,所述生成所述恶意事件子图对应的溯源信息,包括:

选择所述恶意事件子图中入度最小的顶点作为起始点,利用深度优先方式遍历所述恶意事件子图,并将遍历过程中获取得到的行为事件作为溯源信息。

可选地,所述根据所述行为数据构建事件异构图,包括:

将所述行为数据按照行为发生时间,划分到对应时间段中;

根据每个时间段对应的行为数据,构建时间段事件异构图;

将各个时间段事件异构图组成事件异构图。

可选地,所述提取终端中的行为数据,包括:

从第三方日志以及API日志中提取终端中的行为数据。

可选地,所述从所述事件异构图中提取恶意事件子图,包括:

根据元路径模板以及恶意事件,在所述事件异构图中提取恶意事件子图。

可选地,所述根据元路径模板以及恶意事件,在所述事件异构图中提取恶意事件子图,包括:

利用辅助边添加规则,在所述事件异构图中添加与所述辅助边添加规则相对应的行为事件的边,形成最终的事件异构图;

根据元路径模板以及恶意事件,在所述最终的事件异构图中提取恶意事件子图。

另一方面,本发明还提供一种恶意事件信息的获取装置,包括:

数据提取模块,用于提取终端中的行为数据;

异构图生成模块,用于根据所述行为数据构建事件异构图;其中,所述事件异构图中的边表示行为事件;

恶意事件子图提取模块,用于从所述事件异构图中提取恶意事件子图;

溯源信息生成模块,用于生成所述恶意事件子图对应的溯源信息。

又一方面,本发明还提供一种电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述所述的恶意事件信息的获取方法。

又一方面,本发明还提供一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上述所述的恶意事件信息的获取方法。

可见,该方法利用提取到的终端中的行为数据构建事件异构图,并利用该事件异构图来提取恶意事件子图,进而生成该恶意事件子图对应的溯源信息。由于构建的事件异构图本身能够结合终端提取到的全部行为数据,因此,其可以直观表现出各个行为事件之间的因果关系,有利于溯源分析。进而,依据该事件异构图提取的恶意事件子图,能够表征恶意事件的完整过程,提高得到的该恶意事件对应的溯源信息的准确性,使得该溯源信息也更加贴合该恶意事件的实际情况。且该方法可以自动执行恶意事件信息的获取方法,不需要人工对相关的日志进行分析,效率更高,同时,也可以避免人工分析的不确定性。

相应的,本发明还提供了一种恶意事件信息的获取装置、电子设备及存储介质,具有上述有益效果,在此不再赘述。

附图说明

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

图1为本发明实施例所提供的一种恶意事件信息的获取方法的流程图;

图2为本发明实施例所提供的一种提取恶意事件子图的流程图;

图3为本发明实施例所提供的一种生成恶意事件子图对应的溯源信息的流程图;

图4为本发明实施例所提供的一种生成每个连通子图对应的溯源信息的流程图;

图5为本发明实施例所提供的一种构建事件异构图的流程图;

图6为本发明实施例所提供的一种恶意事件信息的获取装置的结构框图;

图7为本发明实施例所提供的一种电子设备的结构框图;

图8为本发明实施例所提供的一种电子设备的具体结构示意图。

具体实施方式

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

目前,由于防护措施的缺陷,以及使用人员安全意识薄弱等,使得恶意事件时有发生。恶意事件的发生会对终端造成不成程度的危害,例如:数据泄露(泄露关键数据,商业机密,员工信息,客户资料等),这些数据的泄露会对用户造成难以估量的损失;加密终端数据(如勒索软件),即,黑客通过加密终端中的数据,使终端无法使用,破坏了终端的可用性。且通常黑客会使用非对称加密,在没有私钥的情况下难以解密,为了恢复终端的可用性,用户不得不向黑客支付大笔的赎金;另外黑客还可以通过账号爆破,漏洞利用等控制终端成为肉鸡(也称傀儡机,可以指被黑客远程控制的机器),使终端参与DDOS(Distributed denialof service attack,分布式拒绝服务攻击)等其他网络攻击行为。因此,需要在终端中存在恶意事件时,分析恶意事件发生的根本原因,进而做出相应的操作对终端进行防护。

通过研究发现很多恶意事件的发生往往都不是孤立的,例如,著名的“洛马七步杀”将攻击事件分为七个阶段,各个阶段相互关联。如果不进行恶意事件的溯源分析,并根据溯源分析结果对恶意事件进行杀毒,就会表现出恶意事件杀不干净的现象,进而导致该恶意事件在终端中反复出现。因此,需要通过恶意事件的溯源分析来确定恶意事件发生的根本原因,进而做出相应的操作对终端进行防护。目前,相关技术中针对恶意事件的溯源分析方式是,采用人工对相关的日志进行分析,得到溯源信息。但是,相关的日志往往都具有海量的数据,在海量的日志中由安全分析人员人工进行恶意事件的溯源分析,无异于大海捞针,且需要要求安全分析人员具备充足的相关知识以及极高的专业素养。因此,相关技术对应的溯源分析不仅效率低下,成本高,还不能够保证得到的溯源信息的准确性。

本发明实施例通过事件异构图来提高恶意事件信息的获取的准确性,进而解决上述问题。具体请参考图1,图1为本发明实施例所提供的一种恶意事件信息的获取方法的流程图;该方法可以包括:

S101、提取终端中的行为数据。

本发明实施例需要对终端中发生的行为数据进行审计,进而对终端中存在恶意事件进行溯源分析获取溯源信息,本发明中可以将溯源信息理解为恶意事件信息。因此,本发明实施例在进行恶意事件信息的获取时,需要首先提取出终端中的行为数据。需要说明的是,本发明实施例中并不对行为数据的来源进行限定。例如,可以是将API(ApplicationProgramming Interface,应用程序接口)调用序列作为行为数据;也可以是将第三方日志中的相关数据作为行为数据;当然,也可以是同时将API调用序列以及第三方日志中的相关数据作为需要提取的行为数据。

可以理解的是,本发明实施例是对提取的行为数据进行分析,进而根据该行为数据构建事件异构图,由于构建的事件异构图本身能够结合多种数据源(即结合终端提取到的全部行为数据),其可以直观表现出各个行为事件之间的因果关系,从而保证溯源分析的准确性。因此,提取的行为数据越全面,得到的事件异构图就会越准确,进而可以提高溯源信息的准确性。即,为了进一步提高恶意事件信息获取的准确性和可靠性,本发明实施例可以同时将API调用序列以及第三方日志中的相关数据作为需要提取的行为数据。相应的,提取终端中的行为数据的过程可以包括:从第三方日志以及API日志中提取终端中的行为数据。当然,本发明实施例并不限定终端对应的第三方日志以及API日志的获取方式,只要可以得到终端对应的第三方日志以及API日志即可。

其中,本发明实施例所说的行为数据可以指终端运行过程中执行的底层行为动作。例如,文件的读写,进程的创建,进程的执行等。本发明实施例并不对该行为数据的具体内容进行限定。

需要说明的是,本发明实施例并不对终端进行限定,该终端可以是用于用户信息的输入以及处理结果的输出的设备,例如,终端可以是个人电脑,笔记本电脑,手机,服务器等。

S102、根据行为数据构建事件异构图;其中,事件异构图中的边表示行为事件。

可以理解的是,事件异构图属于异构图(Heterogeneous Graph,简写HG),其中,图(Graph),图论术语,例如,图G可以指一个三元组(V,E,I),其中V称为顶点集,E称为边集,E与V不相交;I称为关联函数,I可以将E中的每一个元素映射到。如果边e被映射到(u,v),那么称边e连接顶点u,v,而u,v则称作边e的端点,u,v此时关于边e相邻。同时,若两条边i,j有一个公共顶点u,则称i,j关于u相邻。异构图,图论术语,一般情况下,图中顶点和顶点之间具有相同的类型,边和边之间具有相同的类型,但是在现实生活中,往往存在不同类型间的联系,因此,在图的基础上,为每个顶点添加辅助信息,以支持不同类型的顶点,形成异构图。常见的辅助信息可以包含:标签(用于标记类别信息),属性(用于标记具体的属性信息),顶点特性(用于标记顶点特有属性),信息传播(用于标记信息传播路径),知识库(用于标记关于顶点的额外知识)等。本发明实施例中事件异构图可以是有向图(digraph),也可以是无向图(undirected graph)。这两者均为图论术语,在图中,若边具有方向性,也就是说一个边的两个顶点,有源顶点和目的顶点的区分,可以称其为有向图,若边不具有方向性,也就是说一个边的两个顶点,不存在源顶点和目的顶点的区分,可以称其为无向图。当然,本发明实施例并不限定构建得到事件异构图是有向图还是无向图,其可以根据行为数据的实际情况进行确定。例如,当行为数据对应的行为事件具有方向性,则构建得到事件异构图是有向图。

需要说明的是,本发明实施例并不限定根据行为数据构建事件异构图的方式。例如,可以是遍历行为数据,将行为数据转化为两个顶点以及一条边的形式,如果当前顶点已经在顶点集中,则将边添加到边集,如果当前顶点不在顶点集中,则在顶点集中添加新的顶点,并将边添加到边集中。其中,事件异构图中的边表示行为事件,每个行为数据可以对应一个行为事件。由于构建的事件异构图本身能够结合终端提取到的全部行为数据,其可以直观表现出终端中各个行为事件之间的因果关系,从而可以保证溯源分析的准确性。可见,构建的事件异构图越准确,后续生成的溯源信息就会越准确性。

S103、从事件异构图中提取恶意事件子图。

恶意事件也属于行为事件,因此,恶意事件也会指向特定的行为事件,根据恶意事件的不同,一种恶意事件可能指向一个行为事件,也可能指向多个行为事件。若事件异构图中存在恶意事件,那么就可以从事件异构图中提取出该恶意事件,形成恶意事件子图,可以理解的是,恶意事件子图是事件异构图的一部分,用于表征恶意事件对应的各个行为事件,其中,恶意事件对应的每一个行为事件在恶意事件子图中都是由每一个行为事件对应的边,以及与该边对应的两个顶点构成。

本发明实施例中并不对从事件异构图中提取恶意事件子图的方式进行限定。用户可以根据实际需求选择相应的提取方式。例如,可以直接从事件异构图中将恶意事件对应的边,以及与该边相关联的两个顶点提取出来,形成恶意事件子图。也可以是在事件异构图中将恶意事件对应的各个行为事件的边进行标记,形成恶意事件子图;即,通过对恶意事件相关的行为事件的标记,得到恶意事件子图。其中,恶意事件子图的顶点是事件异构图中顶点的子集,恶意事件子图中的边集是事件异构图中边集的子集。

S104、生成恶意事件子图对应的溯源信息。

本发明实施例中恶意事件子图中包含了恶意事件对应的每一个行为事件。即,恶意事件子图中具有恶意事件对应的每一个行为事件的边,以及与该边对应的两个顶点。因此,通过恶意事件子图能够展现整个恶意事件的来龙去脉,即,整个恶意事件对应的行为事件。进而可以根据恶意事件子图生成恶意事件对应的溯源信息。

本发明实施例并不对生成恶意事件子图对应的溯源信息的方式进行限定。例如,可以是任意选择一个顶点作为起始点,将恶意事件子图中对应的全部的行为事件作为溯源信息。也可以是选择恶意事件子图中入度值最小的顶点作为起始点,将恶意事件子图中对应的全部的行为事件作为溯源信息。也可以是选择恶意事件子图中入度最小的顶点作为起始点,利用深度优先方式遍历恶意事件子图,并将遍历过程中获取得到的行为事件作为溯源信息。需要说明的是,本发明实施例并不对将恶意事件子图中对应的全部的行为事件作为溯源信息的方式进行限定。例如,可以是直接将恶意事件子图中对应的全部的行为事件添加到指定位置,形成恶意事件子图对应的溯源信息。本发明实施例并不对将遍历过程中获取得到的行为事件作为溯源信息的方式进行限定。例如,也可以是将遍历过程中获取得到的行为事件添加到指定位置形成恶意事件子图对应的溯源信息。

其中,入度(In Degree,可以简写为ID):有向图中,以某个顶点为目的顶点的边的数量。深度优先方式是一种遍历方法,本发明实施例并不对深度优先方式的具体实现方式进行限定,其实现思想可以是:首先确定需要访问的起始点v;然后依次从v的未被访问的邻接点出发,对图进行深度优先遍历;直至图中和v有路径相通的顶点都被访问;最后若图中尚有顶点未被访问,则从一个未被访问的顶点出发(即再次确定一个需要访问的起始点),重新进行深度优先遍历,直到图中所有顶点均被访问过为止。当然,本发明实施例中并不对指定位置以及溯源信息进行限定。例如,指定位置可以是预先设置好的模板,也可以是预先创建的指定文件夹等。溯源信息可以是在预先设置好的模板中添加行为事件后得到的溯源分析报告,也可以是在预先创建的指定文件夹中添加行为事件后得到的溯源分析文件。

本发明实施例生成的溯源信息,展示出了恶意事件的来龙去脉,进而能够根据该溯源信息确认恶意事件发生的根本原因。进一步,在终端中存在恶意事件时,为了更加及时、可靠的实现对终端防护。本发明实施例还可以根据溯源信息,获取相应的防护处置建议。本发明实施例并不对防护处置建议的内容进行限定,其与具体的恶意事件相关。本发明实施例也不限定根据溯源信息获取相应的防护处置建议的方式,例如,可以是由安全防护人员直接根据溯源信息获取相应的防护处置建议;也可以是由电子设备自动根据溯源信息获取相应的防护处置建议;也可以是终端在接收到电子设备发送的溯源信息时,由终端自身自动根据溯源信息获取相应的防护处置建议等。

进一步,为了使得用户可以及时获取到溯源信息和/或防护处置建议,本发明实施例还可以将溯源信息和/或防护处置建议输出给用户。当然,本发明实施例并不对输出溯源信息和/或防护处置建议的具体方式进行限定。例如,可以通过IM系统输出溯源信息和/或防护处置建议;也可以通过邮件系统输出溯源信息和/或防护处置建议;也可以通过短信系统输出该溯源信息和/或防护处置建议;也可以通过日志系统输出该溯源信息和/或防护处置建议;当然,也可以是上述至少两种方法的叠加使用向用户传达溯源信息和/或防护处置建议。

基于上述技术方案,本发明实施例提供了一种简洁、高效的恶意事件信息的获取方法,该实施例引入事件异构图作为载体,从事件异构图中提取恶意事件子图,从而简洁直观的向用户展示恶意事件的来龙去脉,生成恶意事件子图对应的溯源信息;由于构建的事件异构图本身能够结合终端提取到的全部行为数据,可以直观表现出各个行为事件之间的因果关系,有利于溯源分析。进而,依据该事件异构图提取的恶意事件子图,能够表征恶意事件的完整过程,提高得到的该恶意事件对应的溯源信息的准确性,也使得到的溯源信息更加贴合该恶意事件的实际情况。同时,能够通过事件异构图发现事件的潜在关联,进一步提高溯源结果的准确性。且本实施例可以自动执行恶意事件的溯源分析过程,不需要人工对相关的日志进行分析,效率更高,同时,也可以避免人工分析的不确定性。

基于上述实施例,由于很多恶意事件并不是孤立存在的,当检测到终端中包含并非孤立存在的一个恶意事件时,该终端很可能也存在与该恶意事件相关的其他高危的行为事件。其中,与该恶意事件相关的其他高危的行为事件很可能也是恶意事件,或者与该恶意事件相关的其他高危的行为事件也可能是产生该恶意事件的根本原因。因此,本发明实施例中为了提高从事件异构图中提取恶意事件子图的可靠性和准确性。本发明实施例中从事件异构图中提取恶意事件子图的过程可以包括:根据元路径模板以及恶意事件,从事件异构图中提取恶意事件子图。

需要说明的是,本发明实施例中元路径模板中可以包含多个元路径,每个元路径表征的是具有相关关系的若干个行为事件,其中,每个行为事件在元路径中表示为两个顶点以及一条边,每个顶点可以存在对应的类型标签,边也可以存在对应的类型标签。元路径模板中每个元路径中包含的行为事件都是具有相关关系的,该相关关系可以指元路径中各个行为事件具有执行上的先后顺序,或者是元路径中各个行为事件具有因果关系等,当然,本发明实施例并不对该相关关系进行限定,只要根据该相关关系获取到的元路径可以表征并非孤立存在的恶意事件对应的整个行为事件链即可。本发明实施例并不限定元路径模板的生成方式。例如,可以通过第一关联事件知识库生成元路径模板,该第一关联事件知识库可以根据历史经验生成;本发明实施例还可以由用户设置元路径模板中元路径。当然,还可以定期对该元路径模板进行更新,以便保证元路径模板的可靠性。

可以理解的是,本发明实施例也不限定根据元路径模板以及恶意事件,从事件异构图中提取恶意事件子图的过程。例如,可以是先从事件异构图中标记出恶意事件,然后查看该恶意事件相邻的边是否命中元路径模板中的元路径,当该边在元路径模板中存在相关的元路径时,则利用该边在元路径模板中存在的相关的元路径从事件异构图中标记出与恶意事件具有相关关系的其他行为事件,形成恶意事件子图。也可以是先从事件异构图中标记出恶意事件,形成初始恶意事件子图,然后再查看该恶意事件是否存在符合元路径模板中某一元路径的邻边,当存在符合元路径模板中某一元路径的邻边时,则利用该邻边对应的元路径在初始恶意事件子图中添加与恶意事件具有相关关系的其他行为事件,形成恶意事件子图。也可以是在确定恶意事件时,直接先查看该恶意事件相邻的边是否命中元路径模板中的元路径,当该边在元路径模板中存在相关的元路径,当该边在元路径模板中存在相关的元路径时,则利用该边在元路径模板中存在的相关的元路径从事件异构图中标记出恶意事件自身对应的各个行为事件,以及与恶意事件具有相关关系的其他行为事件,形成恶意事件子图。

进一步,为了提高从事件异构图中提取恶意事件子图的效率,本发明实施例可以在初始恶意事件子图的基础上,利用元路径模板对初始恶意事件子图进行扩展得到恶意事件子图。即,从事件异构图中标记出恶意事件,形成初始恶意事件子图;当该恶意事件相邻的边命中元路径模板中的元路径时,则利用命中的元路径在初始恶意事件子图中添加与恶意事件具有相关关系的其他行为事件,形成恶意事件子图。

举例说明上述过程,若指定image文件(即指定镜像文件)和指定进程为元路径模板中的一个元路径,则可以理解为,在事件异构图中标记指定image文件,根据元路径模板中对应的元路径,相应的指定进程为对应的相关事件。如果在事件异构图中标记该指定image文件为恶意事件,而对应的指定进程未被标记为恶意事件,则利用元路径模板中对应的元路径将指定image文件对应的指定进程标记为恶意事件,形成恶意事件子图。当然,将指定进程标记为恶意事件的过程相似,即,如果在事件异构图中标记该指定进程为恶意事件,而对应的指定image文件未被标记为恶意事件,则利用元路径模板中对应的元路径将指定进程对应的指定image文件标记为恶意事件,形成恶意事件子图。

基于上述技术方案,本发明实施例提供了一种恶意事件信息的获取方法,该实施例通过元路径模板,扩展从事件异构图中提取的恶意事件子图,使得提取的恶意事件子图更加准确,能够更准确的反应恶意事件的来龙去脉,提高得到的该恶意事件对应的溯源信息的准确性,也使得该溯源信息更加贴合该恶意事件的实际情况。

基于上述实施例,请参考图2,图2给出了一种提取恶意事件子图的流程图;本发明实施例同时采用辅助边添加规则以及元路径模板,来提取恶意事件子图,该提取方式能够进一步提高恶意事件子图的准确性。该方法可以包括:

S201、利用辅助边添加规则,在事件异构图中添加与辅助边添加规则相对应的行为事件的边,形成最终的事件异构图。

由于很多恶意事件并不是孤立存在的,当检测到终端中包含并非孤立存在的一个恶意事件时,该终端很可能也存在与该恶意事件相关的其他高危的行为事件。而与该恶意事件相关的其他高危的行为事件,并不一定都是明显的具有相关关系的行为事件。对于不具备相关关系的其他高危的行为事件,本发明实施例可以通过辅助边添加规则在事件异构图中添加与辅助边添加规则相对应的行为事件的边,形成最终的事件异构图,其中,与辅助边添加规则相对应的行为事件的边,可以指事件异构图中不具备相关关系的其他高危的行为事件对应的边。即,通过辅助边添加规则可以提高最终的事件异构图的全面性和准确性,进而可以提高提取恶意事件子图的全面性和准确性。例如,在形成的事件异构图中有两个实体对应的行为事件在一般情况下都存在其他联系,而在该事件异构图中并没有反映出通常存在的其他联系。此时,可以通过辅助边添加规则,以增加该条辅助边添加规则相对应的行为事件的边的形式反映出这两个实体对应的行为事件存在的其他联系。其中,增加的边可以添加辅助边标识,也可以不添加。通过添加辅助边标识可以更清楚的表示出事件异构图中那些边的根据行为数据构建得到的,那些边是后续增加的。

需要说明的是,本发明实施例并不限定辅助边添加规则的生成方式。例如,可以通过第二关联事件知识库生成辅助边添加规则,该第二关联事件知识库可以根据历史经验生成,当然该第二管理知识库可以和第一管理知识库为一个知识库,也可以是两个独立的知识库;还可以由用户设置辅助边添加规则。当然,还可以定期对该辅助边添加规则进行更新,以便保证辅助边添加规则的可靠性。

可以理解的是,本发明实施例并不限定辅助边添加规则的内容。例如,辅助边添加规则可以包含:相同的PE(Portable Executable,可移植的可执行的文件)文件签名;从相同的域名下载;有公共父进程等。本发明实施例可以将这些辅助边添加规则对应的关系作为边添加到事件异构图中,添加边的过程可以是确定辅助边添加规则对应的关系在事件异构图中对应的不同顶点,将对应的不同的顶点进行连接,完成辅助边添加。进一步,当辅助边添加规则对应的关系是双向的,则可以添加两条边,用以表示该关系的双向性。

S202、根据元路径模板以及恶意事件,在最终的事件异构图中提取恶意事件子图。

本发明实施例中根据元路径模板以及恶意事件,在最终的事件异构图中提取恶意事件子图。具体过程可以参考上述实施例中根据元路径模板以及恶意事件,从事件异构图中提取恶意事件子图的过程。两者仅提取恶意事件子图的对象不相同,提取方式可以相同,在此不再赘述。

基于上述技术方案,本发明实施例提供了一种恶意事件信息的获取方法,该实施例通过元路径模板以及辅助边添加规则,扩展从事件异构图中提取恶意事件子图,使得提取的恶意事件子图更加准确,能够更准确的反应恶意事件的来龙去脉,提高得到的该恶意事件对应的溯源信息的准确性,也使得最终的溯源信息更加贴合该恶意事件的实际情况。

基于上述任意实施例,请参考图3,图3为本发明实施例所提供的一种生成恶意事件子图对应的溯源信息的流程图;该过程可以包括:

S301、判断恶意事件子图是否为全连通图;若是,则执行步骤S302;若否,则执行步骤S303。

其中,连通(connectivity):在图中,连通可以表示存在一条路径从起始顶点到终点顶点。连通图是基于连通的概念,在一个无向图中,若从顶点i到顶点j有路径相连,则称顶点i到顶点j对应的图是连通图。在一个有向图中,连接顶点i到顶点j的路径中所有的边都必须同向。如果顶点i到顶点j中任意两点都是连通的,则称顶点i到顶点j对应的图是连通图。若该连通图为整个无向图或有向图则就称之为全连通图,若该连通图为整个无向图或整个有向图的子集则就称之为连通子图。

S302、生成恶意事件子图对应的溯源信息。

本发明实施例在恶意事件子图是全连通图时,可以直接根据整个恶意事件子图生成对应的溯源信息。该生成溯源信息的过程可以参考上述实施例中步骤S103中的相关内容,在此不再赘述。

S303、将恶意事件子图划分为对应的连通子图,并生成每个连通子图对应的溯源信息。

本发明实施例在恶意事件子图不是全连通图时,可以使用连通性将恶意事件子图划分为不同的连通子图。本发明实施例并不对划分连通子图的实现方式进行限定,只要可以实现将恶意事件子图划分为对应的连通子图即可。例如,可以使用邻接矩阵法将恶意事件子图划分为不同的连通子图;也可以使用树搜索法将恶意事件子图划分为不同的连通子图。需要说明的是,为了进一步提高划分连通子图的效率,本发明实施例中,当采用有向图进行表达事件异构图以及恶意事件子图时,计算连通性的过程中可以忽略边的指向信息,将相应的恶意事件子图视为无向图进行处理,以简化连通性的计算。。

可以理解的是,本发明实施例中的连通子图是恶意事件子图的一个子集,其也属于恶意事件子图。因此,本发明实施例中针对生成每个连通子图对应的溯源信息的过程,可以参考上述实施例中步骤S103中的相关内容,在此不再赘述。仅需要将恶意事件子图换成连通子图即可。例如,可以是任意选择连通子图中一个顶点作为起始点,将连通子图中对应的全部的行为事件作为溯源信息。也可以是选择连通子图中入度值最小的顶点作为起始点,将连通子图中对应的全部的行为事件作为溯源信息。也可以是选择连通子图中入度最小的顶点作为起始点,利用深度优先方式遍历连通子图,并将遍历过程中获取得到的行为事件作为溯源信息。其中,划分得到的每个连通子图都可执行该过程,生成各连通子图对应的溯源信息。

进一步,请参考图4,本发明实施例中将恶意事件子图划分为对应的连通子图,并生成每个连通子图对应的溯源信息可以包括:

S3031、将恶意事件子图划分为不同的初始连通子图。

将恶意事件子图划分为不同的初始连通子图的过程,可以参考步骤S303中的相关内容,在此不再赘述。

S3032、根据事件异构图,确定任意两个初始连通子图之间的最短路径。

本发明实施例可以根据构建得到的事件异构图,计算不同的初始连通子图之间的最短路径,通过最短路径来增加恶意事件子图的连通性。其中,最短路径旨在寻找图(由顶点和边组成的)中两顶点之间的最短路径。本发明实施例并不对确定任意两个初始连通子图之间的最短路径的实现方式进行限定,只要可以实现计算任意两个初始连通子图之间的最短路径即可。例如,可以使用Dijkstra算法(迪杰斯特拉算法),根据事件异构图,确定任意两个初始连通子图之间的最短路径;也可以使用Floyd算法(插点法),根据事件异构图,确定任意两个初始连通子图之间的最短路径;也可以使用Bellman-Ford算法(贝尔曼-福特算法),根据事件异构图,确定任意两个初始连通子图之间的最短路径。

S3033、判断各最短路径是否小于设定阈值;若小于,则执行步骤S3034;若不小于,则执行步骤S3035。

需要说明的是,本发明实施例并不对预定阈值的数值进行限定,用户可以根据实际应用场景设置或修改该预定阈值的大小。

S3034、利用小于设定阈值的最短路径,将小于设定阈值的最短路径对应的初始连通子图进行连接,以形成最终的连通子图。

S3035、将不小于设定阈值的最短路径对应的初始连通子图分别作为最终的连通子图。

本发明实施例中,当存在最短路径小于设定阈值时,可以将小于设定阈值的最短路径对应的两个初始连通子图使用最短路径进行连接,即,将两个初始连通子图连接成为一个新的连通子图,作为最终的连通子图。当存在最短路径不小于设定阈值时,意味着不可以将不小于设定阈值的最短路径对应的两个初始连通子图进行连接,只能将不小于设定阈值的最短路径对应的两个初始连通子图分别作为最终的连通子图,即仍旧为两个连通子图。

S3036、生成每个最终的连通子图对应的溯源信息。

本发明实施例中在任意两个初始连通子图之间的最短路径均执行完上述过程后,可以生成每个最终的连通子图对应的溯源信息。可以理解的是,本发明实施例中的最终的连通子图也是恶意事件子图的一个子集,其也属于恶意事件子图。因此,本发明实施例中针对生成每个最终的连通子图对应的溯源信息的过程,可以参考上述实施例中步骤S103中的相关内容,在此不再赘述。仅需要将恶意事件子图换成最终的连通子图即可。例如,可以是任意选择最终的连通子图中一个顶点作为起始点,将最终的连通子图中对应的全部的行为事件作为溯源信息。也可以是选择最终的连通子图中入度值最小的顶点作为起始点,将最终的连通子图中对应的全部的行为事件作为溯源信息。也可以是选择最终的连通子图中入度最小的顶点作为起始点,利用深度优先方式遍历最终的连通子图,并将遍历过程中获取得到的行为事件作为溯源信息。其中,每个最终的连通子图都可执行该过程,生成各最终的连通子图对应的溯源信息。

基于上述技术方案,本发明实施例提供了一种恶意事件信息的获取方法,该实施例将恶意事件子图划分为不同的连通子图,以及通过最短路径增加连通性,使得生成的溯源信息更加准确,也更加贴合该恶意事件的实际情况。

基于上述任意实施例,请参考图5,图5为本发明实施例所提供的一种构建事件异构图的流程图;该构建过程可以包括:

S501、将行为数据按照行为发生时间,划分到对应时间段中。

本发明实施例并不限定时间段的数量,该时间段的数量与提取的终端的行为数据对应的时间范围以及划分的每个时间段的长度相关。例如,当提取的终端的行为数据对应的时间范围为一天,每个时间段的长度均为一小时,那么得到的时间段的数量就是24个。当然,本发明实施例并不限定提取的终端的行为数据对应的时间范围的数值,以及划分的每个时间段的长度的数值,可以由用户根据实际应用场景进行设置和修改。

需要说明的是,本发明实施例中每个时间段对应的长度可以是相同的,也可以不同。当每个时间段对应的长度相同时,获取时间段的方式可以是:将提取的终端的行为数据对应的时间范围按照预设的时间段长度划分为若干个时间段,如通过预设的时间段长度对应的观测窗口,将提取的终端的行为数据划分到对应时间段中;当然,本发明实施例并不限定预设的时间段长度的数值。当每个时间段对应的长度不相同时,获取时间段的方式可以是:将提取的终端的行为数据对应的时间范围依次按照预设的各个时间段长度划分为若干个时间段。本发明实施例并不限定设置预设的各个时间段长度的方式,例如,可以将提取的终端的行为数据对应的时间范围,首先区分出空闲时间范围和繁忙时间范围,然后针对空闲时间范围可以划分为第一预设长度的若干个时间段,针对繁忙时间范围可以划分为第二预设长度的若干个时间段;其中,第一预设长度大于第二预设长度;当然,本发明实施例并不限定第一预设长度以及第二预设长度的数值。

S502、根据每个时间段对应的行为数据,构建时间段事件异构图,并将各个时间段事件异构图组成事件异构图。

本发明实施例将提取的全部的行为数据按照行为发生时间,确定每个行为数据所属的时间段,并划分到对应时间段中。也就是将提取的全部的行为数据按照设置的时间段进行分块,将每个时间段内提取到的所有的行为数据对应的行为事件放在一起,生成每个时间段对应的时间段事件异构图,得到的各个时间段事件异构图可以组成事件异构图。即,本发明实施例中得到的事件异构图包含了各个时间段对应的时间段事件异构图。当然,本发明实施例并不限定根据每个时间段对应的行为数据,构建各个时间段对应的时间段事件异构图的方式。例如,可以是遍历行为数据,将行为数据转化为两个顶点以及一条边的形式,如果当前顶点已经在顶点集中,则将边添加到边集,如果当前顶点不在顶点集中,则在顶点集中添加一个新的顶点,并将边添加到边集中。可以理解的是,本发明实施例通过将提取到的全部的行为数据划分为多个时间段对应的部分行为数据的方式,避免出现针对提取到的全部的行为数据构建事件异构图的过程,即通过将整体行为数据的划分,提高了构建各个时间段事件异构图的效率,进而提升了事件异构图的构建效率。

进一步,由于各个时间段对应的时间具有先后顺序,且多个先后发生的行为事件也可能具有因果关系。因此,各个时间段中对应的行为事件可能存在关联。本发明实施例为了提高构建的时间段事件异构图的准确性,可以按照时间段的先后顺序,依次生成各个时间段对应的时间段事件异构图,并在根据当前的时间段对应的行为数据,构建当前的时间段对应的时间段事件异构图的过程中,增加之前时间段中与当前的时间段相关的行为数据对应的内容。例如,在第一个时间段对应的行为事件中存在创建第一文件的行为数据,在第二个时间段对应的行为事件中存在创建好的第一文件中写入第一数据的行为数据,此时,在构建第二个时间段对应的时间段事件异构图时,可以将第一个时间段发生了创建第一文件的内容添加至第二个时间段。当然,本发明实施例并不限定增加之前时间段中与当前的时间段相关的行为数据对应的内容的方式,例如,可以是在当前的时间段对应的时间段事件异构图中相应行为事件的位置增加属性信息。进而避免生成的当前的时间段对应的时间段事件异构图漏掉之前时间段中的行为事件对当前的时间段对应的行为事件的影响。

进一步,为了更加清楚的表征多个先后发生的行为事件之间的因果关系,本发明实施例还可以在当前的时间段对应的时间段事件异构图中标记相关行为事件发生时对应的时间段。例如,在第一个时间段对应的行为事件中存在创建第一文件的行为数据,在第二个时间段对应的行为事件中存在创建好的第一文件中写入第一数据的行为数据,此时,在构建第二个时间段对应的时间段事件异构图时,可以将第一个时间段发生了创建第一文件的内容添加至第二个时间段对应的时间段事件异构图中,并标记创建第一文件发生在第一时间段中。

基于上述技术方案,本发明实施例提供了一种恶意事件信息的获取方法,该实施例利用构建时间段事件异构图的方式形成事件异构图,通过将提取到的全部的行为数据划分为多个时间段对应的部分行为数据的方式,避免出现针对提取到的全部的行为数据构建事件异构图的过程,即通过将整体行为数据的划分,提高了构建各个时间段事件异构图的效率。且通过在各个时间段事件异构图中增加不同时间段对应的行为数据的因果关系,提高了构建的事件异构图的准确性。进而通过本发明实施例提供的构建事件异构图的方式,能够提高构建的事件异构图的准确性和构建效率。

需要说明的是,本发明中各个实施例中的不相互矛盾的特征均可以任意组合,形成新的实施例,并不限制于上述几个实施例。本发明实施例并不对上述各个实施例的执行主体进行限定,其可以是电子设备,当然,该电子设备可以是该终端自身。

下面对本发明实施例提供的恶意事件信息的获取装置、电子设备及存储介质进行介绍,下文描述的恶意事件信息的获取装置、电子设备及存储介质与上文描述的恶意事件信息的获取方法可相互对应参照。

请参考图6,图6为本发明实施例所提供的恶意事件信息的获取装置的结构框图;该装置可以包括:

数据提取模块110,用于提取终端中的行为数据;

异构图生成模块120,用于根据行为数据构建事件异构图;其中,事件异构图中的边表示行为事件;

恶意事件子图提取模块130,用于从事件异构图中提取恶意事件子图;

溯源信息生成模块140,用于生成恶意事件子图对应的溯源信息。

基于上述实施例,溯源信息生成模块140可以包括:

第一判断单元,用于判断恶意事件子图是否为全连通图;

第一生成单元,用于若恶意事件子图是全连通图,则生成恶意事件子图对应的溯源信息。

第二生成单元,用于若恶意事件子图不是全连通图,则将恶意事件子图划分为对应的连通子图,并生成每个连通子图对应的溯源信息。

基于上述实施例,第二生成单元可以包括:

划分子单元,用于将恶意事件子图划分为不同的初始连通子图;

最短路径确定子单元,用于根据事件异构图,确定任意两个初始连通子图之间的最短路径;

判断子单元,用于判断各最短路径是否小于设定阈值;

最终的连通子图确定子单元,用于若最短路径小于设定阈值,则利用小于设定阈值的最短路径,将小于设定阈值的最短路径对应的初始连通子图进行连接形成最终的连通子图;若最短路径不小于设定阈值,则将不小于设定阈值的最短路径对应的初始连通子图分别作为最终的连通子图;

第二生成子单元,用于生成每个最终的连通子图对应的溯源信息。

基于上述任意实施例,溯源信息生成模块140可以包括:

溯源分析单元,用于选择恶意事件子图中入度值最小的顶点作为起始点,利用深度优先方式遍历恶意事件子图,并将遍历过程中对应的行为事件添加到指定位置形成恶意事件子图对应的溯源信息。

基于上述任意实施例,异构图生成模块120可以包括:

数据划分单元,用于将行为数据按照行为发生时间,划分到对应时间段中;

异构图生成单元,用于根据每个时间段对应的行为数据,构建时间段事件异构图,并将各个时间段事件异构图组成事件异构图。

基于上述任意实施例,数据提取模块110可以包括:

数据提取单元,用于从第三方日志以及API日志中提取终端中的行为数据。

基于上述任意实施例,恶意事件子图提取模块130可以包括:

恶意事件子图提取单元,用于根据元路径模板以及恶意事件,在事件异构图中提取恶意事件子图。

基于上述实施例,恶意事件子图提取单元可以包括:

辅助边添加子单元,用于利用辅助边添加规则,在事件异构图中添加与辅助边添加规则相对应的行为事件的边,形成最终的事件异构图;

恶意事件子图提取子单元,用于根据元路径模板以及恶意事件,在最终的事件异构图中提取恶意事件子图。

需要说明的是,基于上述任意实施例,装置可以是基于可编程逻辑器件实现的,可编程逻辑器件包括FPGA,CPLD,单片机、处理器等。这些可编程逻辑器件可以设置在电子设备中。

相应于上面的方法实施例,本发明实施例还提供了一种电子设备。可以参见图7所示,该电子设备可以包括:

存储器332,用于存储计算机程序;

处理器322,用于执行计算机程序时实现上述方法实施例的恶意事件信息的获取方法。

具体的,请参考图8,为本实施例提供的一种电子设备的具体结构示意图,该电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,处理器322可以设置为与存储介质330通信,在电子设备301上执行存储介质330中的一系列指令操作。

电子设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。例如,Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。

上文所描述的恶意事件信息的获取方法中的步骤可以由电子设备的结构实现。该电子设备可以是终端(如,计算机,服务器等),本发明实施例对此并不进行限定。

相应于上面的方法实施例,本发明实施例还提供了一种存储介质。该存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的恶意事件信息的获取方法的步骤。

该存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的存储介质。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的一种恶意事件信息的获取方法、装置、电子设备及存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

相关技术
  • 一种恶意事件信息的获取方法、装置及电子设备
  • 一种基于区块链的恶意数据获取方法、装置及存储设备
技术分类

06120112935439