一种网络安全漏洞的挖掘方法和装置与流程

文档序号:23551345发布日期:2021-01-05 21:09阅读:103来源:国知局
一种网络安全漏洞的挖掘方法和装置与流程

本文件涉及互联网技术领域,尤其涉及一种网络安全漏洞的挖掘方法和装置。



背景技术:

目前,应用软件在提供业务服务的过程中,会不可避免地受到非法用户的网络攻击,由于非法用户在对应用软件进行网络攻击后,会给应用软件带来巨大损失,同时也会影响应用软件提供业务服务,因此,如何针对网络攻击进行安全防御至关重要。

通常,应用软件在进行安全防御时,可以在攻击者发起攻击行为时或发起攻击行为后,检测到攻击行为,基于检测到的攻击行为发现网络安全漏洞,进而进行安全防御,然而这种安全防御大多为被动式防御,无法有效地保护应用软件的网络安全。



技术实现要素:

本说明书实施例提供一种网络安全漏洞的挖掘方法和装置,用于解决目前的应用软件在对网络攻击进行安全防御时,大多为被动式防御,无法有效地保护应用软件的网络安全的问题。

为解决上述技术问题,本说明书实施例是这样实现的:

第一方面,提出一种网络安全漏洞的挖掘方法,包括:

获取目标应用受到历史网络攻击时与所述历史网络攻击对应的行为数据;

基于所述行为数据构建攻击行为知识图谱,所述攻击行为知识图谱中包括多条攻击链路,所述多条攻击链路用于描述所述历史网络攻击的攻击行为;

对所述多条攻击链路进行分析,确定是否存在潜在的攻击链路;

若存在所述潜在的攻击链路,则基于所述潜在的攻击链路确定所述目标应用的网络安全漏洞。

第二方面,提出一种网络安全漏洞的挖掘装置,包括:

获取单元,获取目标应用受到历史网络攻击时与所述历史网络攻击对应的行为数据;

处理单元,基于所述行为数据构建攻击行为知识图谱,所述攻击行为知识图谱中包括多条攻击链路,所述多条攻击链路用于描述所述历史网络攻击的攻击行为;

第一确定单元,对所述多条攻击链路进行分析,确定是否存在潜在的攻击链路;

第二确定单元,若存在所述潜在的攻击链路,则基于所述潜在的攻击链路确定所述目标应用的网络安全漏洞。

第三方面,提出一种电子设备,该电子设备包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,该可执行指令在被执行时使该处理器执行以下操作:

获取目标应用受到历史网络攻击时与所述历史网络攻击对应的行为数据;

基于所述行为数据构建攻击行为知识图谱,所述攻击行为知识图谱中包括多条攻击链路,所述多条攻击链路用于描述所述历史网络攻击的攻击行为;

对所述多条攻击链路进行分析,确定是否存在潜在的攻击链路;

若存在所述潜在的攻击链路,则基于所述潜在的攻击链路确定所述目标应用的网络安全漏洞。

第四方面,提出一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下方法:

获取目标应用受到历史网络攻击时与所述历史网络攻击对应的行为数据;

基于所述行为数据构建攻击行为知识图谱,所述攻击行为知识图谱中包括多条攻击链路,所述多条攻击链路用于描述所述历史网络攻击的攻击行为;

对所述多条攻击链路进行分析,确定是否存在潜在的攻击链路;

若存在所述潜在的攻击链路,则基于所述潜在的攻击链路确定所述目标应用的网络安全漏洞。

本说明书一个或多个实施例采用的上述至少一个技术方案能够达到以下技术效果:目标应用在进行网络安全防御时,可以获取受到历史网络攻击时与历史网络攻击行为对应的行为数据,基于行为数据构建包括多条攻击链路的攻击行为知识图谱,通过对攻击行为知识图谱中的多条攻击链路进行分析,可以确定是否存在潜在的攻击链路,若存在,则基于该潜在的攻击链路确定目标应用的网络安全漏洞。这样,由于可以根据已有的网络攻击行为数据挖掘攻击者潜在的攻击链路,进而确定目标应用潜在的网络安全漏洞,因此,可以在攻击者产生攻击行为之前对目标应用潜在的网络安全漏洞进行及时修复,进行主动式的安全防御,从而可以有效降低目标应用的网络安全风险,保护目标应用的网络安全。

附图说明

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

图1是本说明书的一个实施例网络安全漏洞的挖掘方法的流程示意图;

图2是本说明书的一个实施例多个目标节点连接关系的示意图;

图3是本说明书的一个实施例网络安全漏洞的挖掘方法的流程示意图;

图4是本说明书的一个实施例电子设备的结构示意图;

图5是本说明书的一个实施例网络安全漏洞的挖掘装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。

目前,应用软件在进行网络安全防御时,大多都是在攻击者发起攻击行为时或发起攻击行为后,检测攻击者的攻击行为,基于检测到的攻击行为发现网络安全漏洞,进而进行安全防御。然而,由于应用软件是在攻击者的攻击行为发生时或发生后才进行安全防御,因此,这种安全防御为被动式防御,存在无法在攻击行为发生前进行安全防御的缺陷。

有鉴于此,本说明书实施例提供一种网络安全漏洞的挖掘方法和装置,该方法包括:获取目标应用受到历史网络攻击时与所述历史网络攻击对应的行为数据;基于所述行为数据构建攻击行为知识图谱,所述攻击行为知识图谱中包括多条攻击链路,所述多条攻击链路用于描述所述历史网络攻击的攻击行为;对所述多条攻击链路进行分析,确定是否存在潜在的攻击链路;若存在所述潜在的攻击链路,则基于所述潜在的攻击链路确定所述目标应用的网络安全漏洞。这样,由于可以根据已有的网络攻击行为数据挖掘攻击者潜在的攻击链路,进而确定目标应用潜在的网络安全漏洞,因此,可以在攻击者产生攻击行为之前对目标应用潜在的网络安全漏洞进行及时修复,进行主动式的安全防御,从而可以有效降低目标应用的网络安全风险,保护目标应用的网络安全。

此外,由于可以基于历史网络攻击对应的行为数据构建攻击行为知识图谱,基于攻击行为知识图谱预测可能存在的潜在攻击行为,因此,一方面,针对目前已有的多种攻击行为,本说明书实施例都可以预测得到,覆盖范围较广,另一方面,还可以基于攻击行为知识图谱对已有的攻击行为进行多维度刻画,进而可以更为准确地预测可能存在的潜在攻击行为。

需要说明的是,本说明书实施例提供的技术方案可以应用于任一需要进行网络安全防御的应用软件。

以下结合附图,详细说明本说明书各实施例提供的技术方案。

图1是本说明书的一个实施例网络安全漏洞的挖掘方法的流程示意图。所述方法如下所述。

s102:获取目标应用受到历史网络攻击时与所述历史网络攻击对应的行为数据。

在s102中,目标应用在进行网络安全防御时,可以获取该目标应用受到攻击者的历史网络攻击时,与该历史网络攻击对应的行为数据,即获取攻击者对目标应用进行历史网络攻击时的行为数据。

本实施例中,可以通过以下的至少一种方式获取上述行为数据:

第一种方式:从att&ck知识库中获取行为数据。

att&ck(adversarialtactics,techniques,andcommonknowledge)是一个攻击行为知识库和模型,其中存储了多个不同的应用或系统在受到历史网络攻击时与历史网络攻击相关的数据,这些数据包括:

(1)攻击团体(adversarygroup):可以用于跟踪由公共和私人组织在其威胁情报报告中报告的已知apt(advancedpersistentthreat,高级持续性威胁)组织;

(2)软件(software):攻击者攻击时使用的工具;

(3)攻击技术(technology):攻击者实现其攻击目的的攻击方式;

(4)攻击战术(tractic):攻击者进行网络攻击的目的;

(5)攻击过程(procedures):攻击者进行网络攻击的具体技术实施过程。

在从att&ck知识库中获取行为数据时,可以针对目标应用,从att&ck知识库中提取与目标应用的历史网络攻击相关的攻击团体、攻击技术、攻击战术和攻击过程,并将提取的数据作为上述行为数据。即本实施例中获取到的行为数据包括:对目标应用进行历史网络攻击的攻击团体;攻击团体进行历史网络攻击时使用的攻击技术;攻击团体进行历史网络攻击时的攻击战术;攻击团体进行历史网络攻击的攻击过程。

第二种方式:从目标应用进行网络安全防御的历史记录中获取行为数据。

通常,目标应用在进行网络安全防御时,会记录已受到的网络攻击行为以及对应的行为数据,这样,在获取行为数据时,可以从目标应用进行网络安全防御的历史记录中获取,其中,获取的行为数据也可以包括上述记载的对目标应用进行历史网络攻击的攻击团体、攻击团体进行历史网络攻击时使用的攻击技术、攻击团体进行历史网络攻击时的攻击战术以及攻击团体进行历史网络攻击的攻击过程。

s104:基于所述行为数据构建攻击行为知识图谱,所述攻击行为知识图谱中包括多条攻击链路,所述多条攻击链路用于描述所述历史网络攻击的攻击行为。

在s104中,在获取到对目标应用的历史网络攻击对应的行为数据后,可以基于行为数据构建攻击行为知识图谱。

本实施例中,攻击行为知识图谱可以包括多条攻击链路,该多条攻击链路可以描述攻击者进行历史网络攻击时的攻击行为。在某种意义上讲,该攻击行为知识图谱可以视为现有技术中具有可视化功能的知识图谱,具有强大的描述能力,能够对历史网络攻击对应的行为数据进行清晰详细地描述。

在基于行为数据构建攻击行为知识图谱时,具体实现方式如下:

首先,可以建立与行为数据中包括的攻击团体、攻击技术、攻击战术和攻击过程对应的多个实体。

具体地,一个攻击团体可以对应一个实体,一个攻击技术可以对应一个实体,一个攻击战术可以对应一个实体,一个攻击过程也可以对应一个实体。每个实体可以对应攻击行为知识图谱中的一个节点。

其次,建立上述多个实体之间的关系。

本实施例中,实体之间的关系可以表征攻击行为知识图谱中节点之间的连接关系,该连接关系可以是单向的,也可以是双向的。其中,多个实体之间的关系可以包括以下五种:

(1)攻击战术与攻击技术之间的第一关系。

该第一关系可以表征基于攻击技术实现攻击战术,且该第一关系是单向的,具体是攻击技术指向攻击战术。

(2)攻击团队与攻击技术之间的第二关系。

该第二关系可以表征攻击团队使用攻击技术,且该第二关系是单向的,具体是攻击团队指向攻击技术。

(3)攻击团队与攻击过程之间的第三关系。

该第三关系可以表征攻击团队实施攻击过程,且该第三关系是单向的,具体是攻击团队指向攻击过程。

(4)攻击技术之间的第四关系。

该第四关系可以表征攻击技术所属的过程编号,其中,攻击者的攻击行为可以包括多个过程,任一过程可以由多个攻击技术组成,属于同一攻击过程的多个攻击技术之间的过程编号相同。该第四关系也是单向的,具体是一个攻击技术指向另一个攻击技术。

(5)攻击战术之间的第五关系。

该第五关系可以表征攻击战术所属的过程编号,其中,攻击者的攻击行为可以包括多个过程,任一过程可以具有多个攻击战术,属于同一攻击过程的多个攻击战术之间的过程编号相同。该第五关系也是单向的,具体是一个攻击战术指向另一个攻击战术。

最后,在建立上述多个实体以及多个实体之间的关系后,可以基于多个实体以及多个实体之间的关系构建攻击行为知识图谱。

本实施例构建得到的攻击行为知识图谱中包括多个节点,该多个节点对应上述建立的多个实体,多个节点之间存在连接关系,该连接关系对应上述多个实体之间的关系,攻击行为知识图谱中包括多条攻击链路,多个实体通过多个实体之间的关系构成该多条攻击链路,一条攻击链路可以表征攻击者进行一次攻击行为时的攻击行为序列。

在构建得到攻击行为知识图谱后,可以使用指定的软件工具(比如neo4j)使攻击行为知识图谱可视化。

s106:对所述多条攻击链路进行分析,确定是否存在潜在的攻击链路。

在s106中,在构建得到攻击行为知识图谱后,可以对攻击行为知识图谱中的多条攻击链路进行推理分析,以确定是否存在潜在的攻击链路,该潜在的攻击链路可以用于描述攻击者潜在的攻击行为。

在对多条攻击链路进行分析,可以对多条攻击链路中的目标节点进行分析,该目标节点的个数为多个,具体可以是基于攻击技术建立的实体所对应的节点。在对目标节点进行分析时,具体可以是基于预设的链路预测算法,确定这些目标节点中不存在连接关系的目标节点是否存在连接的可能性,其中,目标节点之间不存在连接关系,可以是目标节点之间不存在直接的连接关系,也可以是不存在间接的连接关系。

若存在连接的可能性(即这些目标节点中至少有两个不存在连接关系的目标节点存在连接的可能性),则可以确定存在潜在的攻击链路,若不存在连接的可能性(即这些目标节点中任两个不存在连接关系的目标节点均不存在连接的可能性),则可以确定不存在潜在的攻击链路。

在基于预设的链路预测算法确定目标节点中不存在连接关系的目标节点是否存在连接的可能性时,针对目标节点中的任两个目标节点(以下为了便于区分,可以将任两个目标节点表示为第一目标节点和第二目标节点),可以基于预设的链路预测算法,确定第一目标节点和第二目标节点之间的相似度,该相似度可以表征在多条攻击链路中,第一目标节点可与第二目标节点进行位置替换的可能性,其中,第一目标节点和第二目标节点之间的相似度越大,位置可替换的可能性也就越大。

上述预设的链路预测算法可以是用来确定两个节点之间相似度的算法,具体可以是cn/ra算法、personalrank算法或line/node2dev算法。在利用预设的链路预测算法确定第一目标节点和第二目标节点之间的相似度时,具体实现方式可以参见现有技术中的具体实现,这里不再详细描述。

在确定第一目标节点和第二目标节点之间的相似度后,若该相似度大于或等于预设阈值(可以根据实际需要确定),则可以确定第一目标节点和第二目标节点在多条攻击链路中的位置可替换,在位置可替换的情况下,第一目标节点与第二目标节点的相邻节点存在连接的可能性,同样的,第二目标节点与第一目标节点的相邻节点也存在连接的可能性。

若第一目标节点和第二目标节点之间的相似度小于上述预设阈值,则可以确定第一目标节点和第二目标节点在多条攻击链路中的位置不可以替换,在位置不可替换的情况下,第一目标节点与第二目标节点的相邻节点不存在连接的可能性,同样的,第二目标节点与第一目标节点的相邻节点也不存在连接的可能性。

本实施例中,在确定第一目标节点与第二目标节点的相邻节点存在连接的可能性的情况下,还可以进一步确定潜在的攻击链路。具体地,首先,可以确定与第二目标节点位于同一攻击链路上的其他目标节点;其次,可以将第二目标节点替换为第一目标节点,即将第一目标节点和第二目标节点的位置进行替换;最后,可以将第一目标节点与上述其他目标节点构成的攻击链路确定为潜在的攻击链路。

同样的,在确定第一目标节点与第二目标节点的相邻节点存在连接的可能性的情况下,也可以基于相同的方法将第二目标节点与第一目标节点的相邻节点构成的链路确定为潜在的攻击链路。

为了便于理解,可以参见图2。图2是本说明书的一个实施例多个目标节点连接关系的示意图。

图2中,目标节点1、目标节点2和目标节点3之间存在连接关系,且属于同一个攻击过程,节点之间的连接关系为过程编号1,目标节点4、目标节点5和目标节点6之间存在连接关系,且属于同一个攻击过程,节点之间的连接关系为过程编号2。

目标节点1和目标节点3与目标节点5之间不存在连接关系,目标节点4和目标节点6与目标节点2之间不存在连接关系。若目标节点2和目标节点5之间的相似度大于预设阈值,则可以说明目标节点2和目标节点5在链路中的位置可以替换。在将目标节点2和目标节点5的位置替换后,目标节点5与之前没有连接关系的目标节点1和目标节点3存在连接的可能性,这三个节点构成的链路可以视为潜在的攻击链路(实际上该链路还包括与目标节点1或目标节点3连接的其他节点,图2中并未示出),同样的,目标节点2与之前没有连接关系的目标节点4和目标节点6也存在连接的可能性,这三个节点构成的链路也可以视为潜在的攻击链路。

本实施例中,若存在潜在的攻击链路,则可以执行s108;若不存在潜在的攻击链路,则可以无需执行s108。本实施例可以以存在潜在的攻击链路为例进行说明。

s108:若存在所述潜在的攻击链路,则基于所述潜在的攻击链路确定所述目标应用的网络安全漏洞。

本实施例中,若确定存在潜在的攻击链路,则可以说明,攻击者存在基于该潜在的攻击链路进行网络攻击的可能性,在这种情况下,可以基于潜在的攻击链路确定目标应用的网络安全漏洞,并及时对网络安全漏洞进行修复,这样,当攻击者基于该潜在的攻击链路对目标应用进行网络攻击时,目标应用可以基于已修复的网络主动地进行有效的安全防御,进而可以有效降低目标应用的网络风险,提升网络安全。

为了便于理解本说明书实施例提供的技术方案,可以参见图3。图3是本说明书的一个实施例网络安全漏洞的挖掘方法的流程示意图,图3所示的实施例可以包括以下步骤。

s301:获取目标应用受到历史网络攻击时与历史网络攻击对应的行为数据。

具体地,可以从att&ck知识库中获取上述行为数据,也可以从目标应用进行网络安全防御的历史记录中获取上述行为数据。行为数据中可以包括对目标应用进行历史网络攻击的攻击团体、攻击团体进行历史网络攻击时使用的攻击技术、攻击战术和攻击过程。

s302:基于行为数据中包括的攻击团体、攻击技术、攻击战术和攻击过程,建立对应的多个实体。

s303:建立多个实体之间的关系。

其中,攻击战术与攻击技术之间存在第一关系,第一关系表征基于攻击技术实现攻击战术;攻击团队与攻击技术之间存在第二关系,第二关系表征攻击团队使用攻击技术;攻击团队与攻击过程之间存在第三关系,第三关系表征攻击团队实施攻击过程;攻击技术之间存在第四关系,第四关系表征过程编号;攻击战术之间存在第五关系,第五关系也表征过程编号。

上述第一关系、第二关系、第三关系、第四关系和第五关系均为单向的连接关系。

s304:基于多个实体和多个实体之间的关系,构建攻击行为知识图谱。

攻击行为知识图谱中包括多个节点,多个节点之间存在连接关系,多个节点对应多个实体,多个节点之间的连接关系对应多个实体之间的关系,多个实体通过多个实体之间的关系构成多条攻击链路。

s305:确定攻击行为知识图谱中的多个目标节点,目标节点包括基于攻击技术建立的实体所对应的节点。

s306:基于预设的链路预测算法,确定多个目标节点中第一目标节点和第二目标节点之间的相似度。

s307:判断相似度是否大于或等于预设阈值。

若是,则可以执行s308;若否,则可以执行s312。

s308:确定第一目标节点与第二目标节点的相邻节点存在连接的可能性,以及第二目标节点与第一目标节点的相邻节点存在连接的可能性。

s309:将第一目标节点与第二目标节点的相邻节点构成的攻击链路确定为潜在的攻击链路,以及将第二目标节点与第一目标节点的相邻节点构成的攻击链路确定为潜在的攻击链路。

s310:基于所潜在的攻击链路,确定目标应用的网络安全漏洞。

s311:对目标应用的网络安全漏洞进行修复,以便基于修复后的网络进行安全防御。

s312:结束。

上述s305至s312,是通过判断多条攻击链路中不存在链路连接关系的目标节点是否存在连接的可能性,来确定是否存在潜在的攻击链路,若存在可能性,则确定存在潜在的攻击链路,此时可以进一步确定目标应用的网络安全漏洞,并主动修复安全漏洞;若不存在可能性,则确定不存在潜在的攻击链路,此时可以结束流程。

综上所述,本说明书实施例提供的技术方案能够达到以下技术效果:目标应用在进行网络安全防御时,可以获取受到历史网络攻击时与历史网络攻击行为对应的行为数据,基于行为数据构建包括多条攻击链路的攻击行为知识图谱,通过对攻击行为知识图谱中的多条攻击链路进行分析,可以确定是否存在潜在的攻击链路,若存在,则基于潜在的攻击链路确定目标应用的网络安全漏洞。这样,由于可以根据已有的网络攻击行为数据挖掘攻击者潜在的攻击链路,进而确定目标应用潜在的网络安全漏洞,因此,可以在攻击者产生攻击行为之前对目标应用潜在的网络安全漏洞进行及时修复,进行主动式的安全防御,从而可以有效降低目标应用的网络安全风险,保护目标应用的网络安全。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

图4是本说明书的一个实施例电子设备的结构示意图。请参考图4,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random-accessmemory,ram),也可能还包括非易失性存储器(non-volatilememory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。

处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industrystandardarchitecture,工业标准体系结构)总线、pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。

处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成网络安全漏洞的挖掘装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:

获取目标应用受到历史网络攻击时与所述历史网络攻击对应的行为数据;

基于所述行为数据构建攻击行为知识图谱,所述攻击行为知识图谱中包括多条攻击链路,所述多条攻击链路用于描述所述历史网络攻击的攻击行为;

对所述多条攻击链路进行分析,确定是否存在潜在的攻击链路;

若存在所述潜在的攻击链路,则基于所述潜在的攻击链路确定所述目标应用的网络安全漏洞。

上述如本说明书图4所示实施例揭示的网络安全漏洞的挖掘装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。

该电子设备还可执行图1和图3的方法,并实现网络安全漏洞的挖掘装置在图1和图3所示实施例中的功能,本说明书实施例在此不再赘述。

当然,除了软件实现方式之外,本说明书实施例的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1和图3所示实施例的方法,并具体用于执行以下操作:

获取目标应用受到历史网络攻击时与所述历史网络攻击对应的行为数据;

基于所述行为数据构建攻击行为知识图谱,所述攻击行为知识图谱中包括多条攻击链路,所述多条攻击链路用于描述所述历史网络攻击的攻击行为;

对所述多条攻击链路进行分析,确定是否存在潜在的攻击链路;

若存在所述潜在的攻击链路,则基于所述潜在的攻击链路确定所述目标应用的网络安全漏洞。

图5是本说明书的一个实施例网络安全漏洞的挖掘装置50的结构示意图。请参考图5,在一种软件实施方式中,所述网络安全漏洞的挖掘装置50可包括:获取单元51、处理单元52、第一确定单元53和第二确定单元54,其中:

获取单元51,获取目标应用受到历史网络攻击时与所述历史网络攻击对应的行为数据;

处理单元52,基于所述行为数据构建攻击行为知识图谱,所述攻击行为知识图谱中包括多条攻击链路,所述多条攻击链路用于描述所述历史网络攻击的攻击行为;

第一确定单元53,对所述多条攻击链路进行分析,确定是否存在潜在的攻击链路;

第二确定单元54,若存在所述潜在的攻击链路,则基于所述潜在的攻击链路确定所述目标应用的网络安全漏洞。

可选地,所述行为数据包括:

对所述目标应用进行历史网络攻击的攻击团体;

所述攻击团体进行历史网络攻击时使用的攻击技术;

所述攻击团体进行历史网络攻击时的攻击战术;

所述攻击团体进行历史网络攻击时的攻击过程。

可选地,所述构建单元52,基于所述行为数据构建攻击行为知识图谱,包括:

建立与所述攻击团体、所述攻击技术、所述攻击战术和所述攻击过程对应的多个实体;

建立所述多个实体之间的关系;

基于所述多个实体以及所述多个实体之间的关系,构建所述攻击行为知识图谱;

其中,所述攻击行为知识图谱中包括多个节点,所述多个节点之间存在连接关系,所述多个节点对应所述多个实体,所述多个节点之间的连接关系对应所述多个实体之间的关系,所述多个实体通过所述多个实体之间的关系构成所述攻击行为知识图谱中包括的所述多条攻击链路。

可选地,所述多个实体之间的关系包括:

所述攻击战术与所述攻击技术之间的第一关系,所述第一关系表征基于所述攻击技术实现所述攻击战术;

所述攻击团队与所述攻击技术之间的第二关系,所述第二关系表征所述攻击团队使用所述攻击技术;

所述攻击团队与所述攻击过程之间的第三关系,所述第三关系表征所述攻击团队实施所述攻击过程;

所述攻击技术之间的第四关系,所述第四关系表征所述攻击技术所属的过程编号;

所述攻击战术之间的第五关系,所述第五关系表征所述攻击战术所属的过程编号。

可选地,所述第一确定单元53,,对所述多条攻击链路进行分析,确定是否存在潜在的攻击链路,包括:

基于预设的链路预测算法确定所述多条攻击链路中不存在连接关系的目标节点是否存在连接的可能性,所述目标节点包括基于所述攻击技术建立的实体所对应的节点;

若存在连接的可能性,则确定存在所述潜在的攻击链路;

若不存在连接的可能性,则确定不存在所述潜在的攻击链路。

可选地,所述第一确定单元53,基于预设的链路预测算法确定所述多条攻击链路中不存在连接关系的目标节点是否存在连接的可能性,包括:

针对所述目标节点中的第一目标节点和第二目标节点,执行以下步骤:

基于所述链路预测算法,确定所述第一目标节点和所述第二目标节点之间的相似度,所述相似度表征在所述多条攻击链路中,所述第一目标节点可与所述第二目标节点进行位置替换的可能性;

若所述相似度大于或等于预设阈值,则确定所述第一目标节点与所述第二目标节点的相邻节点存在连接的可能性,以及所述第二目标节点与所述第一目标节点的相邻节点存在连接的可能性;

若所述相似度小于所述预设阈值,则确定所述第一目标节点与所述第二目标节点的相邻节点不存在连接的可能性,以及所述第二目标节点与所述第一目标节点的相邻节点不存在连接的可能性。

可选地,所述第一确定单元53,在确定所述第一目标节点与所述第二目标节点的相邻节点存在连接的可能性的情况下,还确定与所述第二目标节点位于同一攻击链路上的其他目标节点;

将所述第二目标节点替换为所述第一目标节点;

将所述第一目标节点与所述其他目标节点构成的攻击链路确定为所述潜在的攻击链路。

可选地,所述获取单元51,获取目标应用受到历史网络攻击时与所述历史网络攻击对应的行为数据,包括以下至少一种:

从att&ck知识库中获取所述行为数据;

从所述目标应用进行网络安全防御的历史记录中获取所述行为数据。

可选地,所述第二确定单元54,在确定所述目标应用的网络安全漏洞后,对所述目标应用的网络安全漏洞进行修复,修复后的网络用于对所述目标应用进行安全防御。

本说明书实施例提供的网络安全漏洞的挖掘装置50还可执行图1和图3的方法,并实现网络安全漏洞的挖掘装置在图1和图3所示实施例的功能,本说明书实施例在此不再赘述。

总之,以上所述仅为本说明书的较佳实施例而已,并非用于限定本文件的保护范围。凡在本说明书一个或多个实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本文件的保护范围之内。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1