首页> 中国专利> 一种恶意软件分析报告生成方法、装置、设备和介质

一种恶意软件分析报告生成方法、装置、设备和介质

摘要

本发明公开了一种恶意软件分析报告生成方法、装置、设备和介质,由于该方法中是由设备自动化地根据预先定义的网络安全知识图谱本体、以及预先保存的网络安全数据,确定出包含实体数据的目标网络安全知识图谱的集合,再从该集合中的目标网络安全知识图谱中提取出每个板块的子知识图谱,根据子知识图谱以及板块对应的编解码模型,确定出板块对应的目标文本,从而生成恶意软件的目标分析报告,提高了生成分析报告的自动化程度。

著录项

  • 公开/公告号CN113158189A

    专利类型发明专利

  • 公开/公告日2021-07-23

    原文格式PDF

  • 申请/专利号CN202110466344.1

  • 申请日2021-04-28

  • 分类号G06F21/56(20130101);G06F16/36(20190101);G06F40/186(20200101);G06F40/205(20200101);G06F40/295(20200101);G06F40/30(20200101);

  • 代理机构11291 北京同达信恒知识产权代理有限公司;

  • 代理人张燕

  • 地址 100089 北京市海淀区北洼路4号益泰大厦三层

  • 入库时间 2023-06-19 11:57:35

说明书

技术领域

本发明涉及文本生成技术领域,尤其涉及一种恶意软件分析报告生成方法、装置、设备和介质。

背景技术

恶意软件分析报告是通过了解恶意软件的运行流程和存在的潜在影响,并结合相关威胁事件作出分析结论及应对方案。然而,恶意软件分析数据、威胁情报数据等网络安全数据的离散存储方式,难以协助分析人员快速挖掘恶意软件与恶意软件之间、恶意软件与威胁事件之间、威胁事件与威胁事件之间等多类实体的深层次关联信息。

在生成恶意软件的分析报告时,现有技术中通常需要分析人员人工分析大量相关数据,包括沙箱运行结果、威胁事件报告、安全厂商通告等,提炼出关键信息进行汇总融合,生成相应的分析结论,再填写至报告模板中。

现有技术中的这种方案主要依赖分析人员的工作经验和知识储备量,由于分析人员掌握的信息不够全面,会导致分析报告披露的信息有限,并且由于收集参考资源极其费时费力,导致不能及时地撰写出全面的分析报告,存在自动化程度低、效率较低的问题。

现有技术中的报告自动生成技术是一种需求广泛的文字编辑处理自动化技术,在各个行业领域广泛应用,通常是基于分析报告模板从业务数据中查询模板槽中的实际值,然后进行填槽以生成完整报告。

虽然报告自动生成技术的应用可以部分提高生成恶意软件分析报告的自动化程度以及生成效率,但由于多源异构数据之间没有互联互通,仍需要人工分析网络安全相关数据,提炼出关键信息进行汇总,导致在生成恶意软件分析报告时无法及时加入更丰富全面的信息,自动化程度仍较低。

发明内容

本发明提供了一种恶意软件分析报告生成方法、装置、设备和介质,用以解决现有技术中生成恶意软件分析报告时的自动化程度仍较低的问题。

本发明提供了一种恶意软件分析报告生成方法,所述方法包括:

根据预先定义的网络安全知识图谱本体中包含的实体以及实体间的关系,从预先保存的网络安全数据中,获取对应的实体数据,并根据实体间的关系,构建包含实体数据的目标网络安全知识图谱的集合;

根据所述目标网络安全知识图谱、以及预先保存的目标分析报告模板中板块对应的查询路径,确定所述板块在所述目标网络安全知识图谱中对应的子知识图谱;

根据所述子知识图谱、以及预先生成的所述板块对应的编解码模型,确定所述板块对应的目标文本生成目标分析报告。

进一步地,所述根据所述目标网络安全知识图谱、以及预先保存的目标分析报告模板中板块对应的查询路径,确定所述板块在所述目标网络安全知识图谱中对应的子知识图谱包括:

根据所述目标网络安全知识图谱的集合、预先保存的目标分析报告模板中板块对应的第一实体,确定所述集合中包含所述第一实体对应的实体数据的每个第一目标网络安全知识图谱;

根据所述每个第一目标网络安全知识图谱、以及与所述板块的内容语义相关的目标第一实体以及所述目标第一实体间的关系,确定所述板块在所述每个第一目标网络安全知识图谱中对应的第一子知识图谱;

根据每个第一子知识图谱中的相同实体数据进行融合生成所述板块对应的子知识图谱。

进一步地,所述根据所述子知识图谱、以及预先生成的所述板块对应的编解码模型,确定所述板块对应的目标文本生成目标分析报告包括:

根据所述子知识图谱、以及预先生成的所述板块对应的编解码模型中的编码器子模型,确定所述子知识图谱的向量;

根据所述子知识图谱的向量、以及所述编解码模型中的解码器子模型,确定所述板块对应的目标文本生成目标分析报告。

进一步地,所述方法还包括:

根据接收到的对所述目标分析报告的修改操作,确定所述目标分析报告的修改后的目标文本;

根据所述修改后的目标文本、以及对应的子知识图谱,对所述修改后的目标文本对应板块的编解码模型进行更新。

进一步地,训练所述板块对应的编解码模型的过程包括:

获取样本集中预先保存的任一样本知识图谱及所述样本知识图谱对应的第一文本;

将所述样本知识图谱输入到原始编解码模型中,获取输出的所述样本知识图谱的第二文本;

根据所述第一文本和所述第二文本,对所述原始编解码模型的各参数的参数值进行调整,得到训练完成的所述板块对应的编解码模型。

相应地,本发明提供了一种恶意软件分析报告生成装置,所述装置包括:

构建模块,用于根据预先定义的网络安全知识图谱本体中包含的实体以及实体间的关系,从预先保存的网络安全数据中,获取对应的实体数据,并根据实体间的关系,构建包含实体数据的目标网络安全知识图谱的集合;

确定模块,用于根据所述目标网络安全知识图谱、以及预先保存的目标分析报告模板中板块对应的查询路径,确定所述板块在所述目标网络安全知识图谱中对应的子知识图谱;根据所述子知识图谱、以及预先生成的所述板块对应的编解码模型,确定所述板块对应的目标文本生成目标分析报告。

进一步地,所述确定模块,具体用于根据所述目标网络安全知识图谱的集合、预先保存的目标分析报告模板中板块对应的第一实体,确定所述集合中包含所述第一实体对应的实体数据的每个第一目标网络安全知识图谱;根据所述每个第一目标网络安全知识图谱、以及与所述板块的内容语义相关的目标第一实体以及所述目标第一实体间的关系,确定所述板块在所述每个第一目标网络安全知识图谱中对应的第一子知识图谱;根据每个第一子知识图谱中的相同实体数据进行融合生成所述板块对应的子知识图谱。

进一步地,所述确定模块,具体还用于根据所述子知识图谱、以及预先生成的所述板块对应的编解码模型中的编码器子模型,确定所述子知识图谱的向量;根据所述子知识图谱的向量、以及所述编解码模型中的解码器子模型,确定所述板块对应的目标文本生成目标分析报告。

进一步地,所述装置还包括:

更新模块,用于根据接收到的对所述目标分析报告的修改操作,确定所述目标分析报告的修改后的目标文本;根据所述修改后的目标文本、以及对应的子知识图谱,对所述修改后的目标文本对应板块的编解码模型进行更新。

进一步地,所述装置还包括:

训练模型,用于获取样本集中预先保存的任一样本知识图谱及所述样本知识图谱对应的第一文本;将所述样本知识图谱输入到原始编解码模型中,获取输出的所述样本知识图谱的第二文本;根据所述第一文本和所述第二文本,对所述原始编解码模型的各参数的参数值进行调整,得到训练完成的所述板块对应的编解码模型。

相应地,本发明提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于执行存储器中存储的计算机程序时实现上述恶意软件分析报告生成方法中任一所述方法的步骤。

相应地,本发明提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现上述恶意软件分析报告生成方法中任一所述方法的步骤。

本发明提供了一种恶意软件分析报告生成方法、装置、设备和介质,由于该方法中是由设备自动化地根据预先定义的网络安全知识图谱本体、以及预先保存的网络安全数据,确定出包含实体数据的目标网络安全知识图谱的集合,再从该集合中的目标网络安全知识图谱中提取出每个板块的子知识图谱,根据子知识图谱以及板块对应的编解码模型,确定出板块对应的目标文本,从而生成恶意软件的目标分析报告,提高了生成分析报告的自动化程度。

附图说明

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

图1为本发明实施例提供的一种恶意软件分析报告生成方法的过程示意图;

图2为本发明实施例提供的一种第一子知识图谱融合的示意图;

图3为本发明实施例提供的一种网络安全知识图谱冗余实体的示意图;

图4为本发明实施例提供的一种板块对应的子知识图谱的示意图;

图5为本发明实施例提供的一种att-graph2seq模型的结构示意图;

图6为本发明实施例提供的一种恶意软件分析报告生成装置的结构示意图;

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

具体实施方式

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

为了提高生成恶意软件分析报告的自动化程度,本发明实施例提供了一种恶意软件分析报告生成方法、装置、设备和介质。

实施例1:

图1为本发明实施例提供的一种恶意软件的分析报告生成方法的过程示意图,该过程包括以下步骤:

S101:根据预先定义的网络安全知识图谱本体中包含的实体以及实体间的关系,从预先保存的网络安全数据中,获取对应的实体数据,并根据实体间的关系,构建包含实体数据的目标网络安全知识图谱的集合。

本发明实施例提供的一种恶意软件的分析报告生成方法应用于电子设备,其中该电子设备可以是手机、PC、平板电脑等智能终端设备;也可以是服务器,其中该服务器可以是本地服务器,也可以是云端服务器。

为了提高恶意软件分析报告的自动化程度,在本发明实施例中,预先定义有网络安全领域的知识图谱本体结构,即网络安全知识图谱本体。知识图谱是一种语义网络,是对现实世界的事物及关系的形式化描述,知识图谱一般用三元组D=(E,R,E)表示,其中D表示知识库;E={e

其中网络安全知识图谱本体中包括有网络安全相关的概念、实体以及实体间的关系,考虑到数据针对的场景目标、数据存储的粒度,本发明实施例中,根据业务需求、数据粒度,结合恶意软件描述标准(Malware Attribute Enumeration and Characterization,MAEC)、威胁情报标准(Structured Threat Information eXpression,STIX)、安全自动化协议(Security Content Automation Protocol,SCAP)等规范,预先定义了多个层次化、可适用的网络安全知识图谱,包括不同角度、不同抽象级别的实体;其中该网络安全知识图谱包括恶意软件分析知识图谱、恶意软件动作知识图谱、威胁情报知识图谱、漏洞管理知识图谱以及资产管理知识图谱等。

具体的,恶意软件分析知识图谱包括恶意软件高层次实体,具体包括恶意软件具有的行为、能力,以及所属的家族等实体;恶意软件动作知识图谱表示恶意软件执行层面的动作实体,具体包括恶意软件执行过程中进行的注册表、文件、互斥体操作等实体;威胁情报知识图谱包括威胁事件的知识库实体,具体包括威胁事件、威胁组织、使用的恶意软件或工具等实体;漏洞管理知识图谱包括通用漏洞披露(Common Vulnerabilities&Exposures,CVE)、国家信息安全漏洞库(China National Vulnerability Database of InformationSecurity,CNNVD)等漏洞实体,具体包括漏洞发布时间、严重程度、影响资产等实体;资产管理知识图谱包括对企业、组织有价值的硬件、软件、网络等实体,具体包括内外网设备和核心资源、漏洞评估、服务端口等实体。

电子设备根据预先定义的网络安全知识图谱本体,以及预先保存的网络安全数据,确定出该网络安全知识图谱中每个实体对应的实体数据;其中该网络安全数据包括恶意软件分析数据、威胁情报数据、漏洞数据等,预先保存的网络安全数据是经过预处理后的数据,对网络安全数据进行预处理,包括特殊字符过滤、以及大小写统一等预处理操作。

具体的,确定出该网络安全知识图谱中每个实体对应的实体数据时,对预先保存的经预处理后的网络安全数据进行分词、同义词归一化操作,基于实体识别技术确定出每个实体对应的实体数据。

确定出每个实体对应的实体数据后,根据该网络安全知识图谱中实体间的关系,得到<实体,属性,属性值>和<实体,关系,实体>两类三元组数据,并将该两类三元组数据存储到图数据库(包括但不限于Hugegraph)的对应库中,从而构建出包含实体数据的目标网络安全知识图谱的集合。

S102:根据所述目标网络安全知识图谱、以及预先保存的目标分析报告模板中板块对应的查询路径,确定所述板块在所述目标网络安全知识图谱中对应的子知识图谱。

确定出目标网络安全知识图谱的集合后,为了实现生成恶意软件的目标分析报告,还预先保存有该恶意软件的目标分析报告模板,其中该目标分析报告模板可以是细粒度的分析报告模板,也可以是粗粒度的分析报告模板,具体的本发明实施例对此不做限制。

根据预先保存的该恶意软件的目标分析报告模板,该目标分析报告模板中包括多个板块,其中每个板块均对应有查询路径,根据每个板块的查询路径,在该目标网络安全知识图谱中进行查询,确定出该板块在该目标网络安全知识图谱中对应的子知识图谱。

S103:根据所述子知识图谱、以及预先生成的所述板块对应的编解码模型,确定所述板块对应的目标文本生成目标分析报告。

根据确定出的板块对应的子知识图谱,为了生成该恶意软件的目标分析报告模板中该板块对应的目标文本,在本发明实施例中,还预先设计有每个板块对应的编解码模型,其中该编解码模型(Encoder-Decoder)是一种通过编码器将输入数据编码成固定的信息编码,然后通过解码器对信息编码进行解码得到输出数据的模型,编解码模型作为文本生成技术的主流模型,在文本摘要、诗歌生成、文本复述等多个业务场景中都有应用。

由于子知识图谱是以图的形式表示,为了实现根据子知识图谱、以及预先生成的板块对应的编解码模型,可以采用现有技术中的图形到序列(Graph2Seq)方法,将子知识图谱以图的形式输入到编解码模型,从而生成该板块对应的目标文本。

根据目标分析报告模板中每个板块对应的目标文本,将每个目标文本放置在该目标分析报告模板中对应板块的位置,从而生成该恶意软件非目标分析报告。

具体的,编解码模型(Encoder-Decoder)是一种端到端(End-to-End)的学习算法,序列到序列模型(sequence-to-sequence,seq2seq)是其中一种编解码模型,用于将输入序列转换成输出序列,通常用于处理文档摘要、诗歌生成、文本复述等任务,通过知识图谱表示的网络安全数据是以图的形式表示,使用seq2seq模型需要先将图形式的数据转换成序列,再通过seq2seq模型生成对应的文本。

本发明实施例中虽然使用seq2seq模型也能实现文本生成的目的,但在将图转换成序列时会在一定程度上损失掉一些图中的潜在关联信息。为解决这一问题,本发明实施例中还可以使用基于注意力机制的图形到序列(graph-to-sequence with attention,att-graph2seq)模型,该att-graph2seq模型针对子知识图谱,确定出该子知识图谱对应的目标文本,从而生成恶意软件的目标分析报告。

由于本发明实施例中是由设备自动化地根据预先定义的网络安全知识图谱本体、以及预先保存的网络安全数据,确定出包含实体数据的目标网络安全知识图谱的集合,再从该集合中的目标网络安全知识图谱中提取出每个板块的子知识图谱,根据子知识图谱以及板块对应的编解码模型,确定出板块对应的目标文本,从而生成恶意软件的目标分析报告。

实施例2:

为了确定板块对应的子知识图谱,在上述实施例的基础上,在本发明实施例中,所述根据所述目标网络安全知识图谱、以及预先保存的目标分析报告模板中板块对应的查询路径,确定所述板块在所述目标网络安全知识图谱中对应的子知识图谱包括:

根据所述目标网络安全知识图谱的集合、预先保存的目标分析报告模板中板块对应的第一实体,确定所述集合中包含所述第一实体对应的实体数据的每个第一目标网络安全知识图谱;

根据所述每个第一目标网络安全知识图谱、以及与所述板块的内容语义相关的目标第一实体以及所述目标第一实体间的关系,确定所述板块在所述每个第一目标网络安全知识图谱中对应的第一子知识图谱;

根据每个第一子知识图谱中的相同实体数据进行融合生成所述板块对应的子知识图谱。

为了生成恶意软件的目标分析报告,在本发明实施例中,预先保存有目标分析报告模板,其中该目标分析报告模板中包含多个板块,其中一个板块即为目标分析报告模板中的模板内容块槽。

表1-恶意软件分析报告模板

具体的,如表1所示,表1是两个恶意软件分析报告模板的示例表,该两个恶意软件分析报告模板是分析人员根据实际业务需求设计的报告模板。

若实际业务需求只包括恶意软件的行为信息,则如表1中的FXBG_01所示,包括恶意软件的基本信息和行为分析,其中基本信息包括恶意软件文件名称、大小、类型、MD5、SHA1、SHA256等,该基本信息对应的数据库表为恶意软件记录表,其中行为分析包括恶意软件具有的行为、能力等,该行为分析对应的查询图谱为恶意软件分析知识图谱。

若实际业务需求只包括恶意软件的漏洞信息和威胁事件,则如表1中的FXBG_02所示,包括恶意软件的基本信息、利用漏洞及影响范围、以及有关事件;其中利用漏洞及影响范围包括通用漏洞披露(Common Vulnerabilities&Exposures,CVE)、国家信息安全漏洞库(China National Vulnerability Database of Information Security,CNNVD)、通用平台枚举项(Common Platform Enumeration,CPE)等,该利用漏洞及影响范围对应的查询图谱集合包括恶意软件分析知识图谱、漏洞管理知识图谱和资产管理知识图谱;有关事件包括事件发生时间、威胁组织、使用攻击模式、受害者等,该有关事件对应的查询图谱为威胁情报知识图谱,其中,基本信息表示恶意软件的基础信息,以结构化形式表示,通过查询数据库中的恶意软件记录表中的相关字段的值进行直接填充,该基本信息对应的数据库表为恶意软件记录表。

根据目标网络安全知识图谱的集合和预先保存的目标分析报告模板中板块对应的第一实体,可以确定出该集合中包含第一实体对应的实体数据的每个第一目标网络安全知识图谱。

确定出板块对应的每个第一目标网络安全知识图谱后,在每个第一目标网络安全知识图谱中进行关联子图查询,确定出该板块在每个第一目标网络安全知识图谱中的第一子知识图谱。

为了在每个第一目标网络安全知识图谱中进行关联子图查询,可以是保存有每个第一目标网络安全知识图谱中与该板块的内容语义相关的查询路径,该查询路径中包括该板块的内容语义相关的目标第一实体以及目标第一实体间的关系,在本发明实施例中,与该板块的内容语义相关的查询路径可以是目标第一实体的k跳(k-hop)范围内的实体及实体间的关系组成的查询路径,其中该k跳算法是指以目标第一实体为起点出发,通过宽度优先搜索(BFS)算法,找出k跳内与目标第一实体关联的所有实体组成的子知识图谱。

但是由于第一目标网络安全知识图谱的复杂程度较大,随着查询路径的跳数的增加,从第一目标网络安全知识图谱中获得的第一子知识图谱中的关联实体的数据量会呈爆炸增长趋势,且得到的关联子图的数据与模板内容块的语义紧密程度也会存在不一致的情况,因此,对于复杂程度较大的第一目标网络安全知识图谱,直接使用目标实体的k-hop范围内的关联子图生成文本,会带来一定程度的噪声,且关联子图的复杂度增加还会加重计算压力。

由于同一个第一目标网络安全知识图谱对于不同板块的内容语义可以有不同的查询路径,因此,本发明实施例中,还可以通过板块的内容语义为导向,预先从第一目标网络安全知识图谱中挖掘有价值的查询路径,从而可以提高第一子知识图谱与板块的内容语义的紧密程度,使得第一子知识图谱的复杂度在一定程度上得到降低。

对于板块的每个第一目标网络安全知识图谱,挖掘每个第一目标网络安全知识图谱中与板块的内容语义相关的查询路径时,可以是由分析人员根据分析经验设置查询路径作为关键查询路径;也可以是通过数据驱动的方式从第一目标网络安全知识图谱数据中自动挖掘与板块的内容语义相关的路径作为查询路径。还可以是同时采用人工设置和数据驱动自动挖掘的方式获取查询路径。其中人工设置的方式准确率较高,得到的查询路径与板块的内容语义具有较高的相关性;而数据驱动的方式数据覆盖率较高,得到的查询路径可以覆盖更多的关联信息。数据驱动的方式可以是从定义的网络安全知识图谱本体中以任一实体为起点进行随机游走,达到指定游走步长或连续游走到相同实体则停止游走,记录游走过程中涉及的实体和关系得到每个第一游走路径,根据每个第一游走路径中实体和关系的名称得到每个第一游走路径的描述文本。将每个第一游走路径的描述文本与板块的描述文本计算语义相似度,保存相似度大于阈值的第一游走路径作为板块的关键查询路径。

将从每个第一目标网络安全知识图谱中挖掘出的与板块的内容语义相关的查询路径进行保存,数据库中预先保存有每个第一目标网络安全知识图谱相对于每个板块对应的多个查询路径。

在确定出每个第一目标网络安全知识图谱中的每个第一子知识图谱后,还可以对多个第一子知识图谱融合成一个子知识图谱,具体的,即将每个第一子知识图谱中的相同实体数据进行融合生成板块对应的子知识图谱。

图2为本发明实施例提供的一种第一子知识图谱融合的示意图,如图2所示,在该图2中,关联子图1与关联子图2之间存在相同的实体数据,该关联子图1中的右虚线圆圈(图2中的左右)与关联子图2中的左虚线圆圈(图2中的左右)表示相同的实体数据;关联子图2与关联子图3之间存在相同的实体数据,该关联子图2中的右虚线圆圈(图2中的左右)与关联子图3中的左虚线圆圈(图2中的左右)表示相同的实体数据;将相同的两个实体数据合并作为一个实体数据,从而确定出融合后的关联子图。

下面通过一个具体的实施例对本发明实施例中的确定板块对应的子知识图谱的方法进行说明,表1中分析报告模板FXBG_02的“利用漏洞及影响范围”板块的内容语义相关的第一实体包括恶意软件高层次实体、漏洞实体和资产实体,目标网络安全知识图谱的集合中包含该第一实体对应的实体数据的第一目标网络安全知识图谱包括“恶意软件分析知识图谱”、“漏洞管理知识图谱”、“资产管理知识图谱”三个知识图谱,根据这三个知识图谱的查询路径,确定出该“利用漏洞及影响范围”板块的三个第一子知识图谱。例如,在“利用漏洞及影响范围”板块下,“恶意软件分析知识图谱”的关键查询路径为“恶意软件-[利用]-漏洞”,表示目标恶意软件在执行过程中利用的漏洞;“漏洞管理知识图谱”的关键查询路径有两条:[“应用产品-[影响]-CVE-[有关]-CNNVD”,“CWE-[导致]-CVE”],第一条关键查询路径表示CVE漏洞影响的应用且该CVE漏洞对应的CNNVD漏洞,第二条关键查询路径表示导致该CVE漏洞的CWE软硬件缺陷;“资产管理知识图谱”的关键查询路径为“设备-[安装]-应用”,表示安装指定应用的网络设备。融合这三个知识图谱的第一子知识图谱可以得到该“利用漏洞及影响范围”板块对应的子知识图谱,这个子知识图谱的含义表示目标恶意软件在执行过程中利用了哪些CVE或CNNVD漏洞,该CVE或CNNVD漏洞对应的CNNVD或CVE漏洞以及影响了哪些应用,这些应用安装在哪些网络设备中,其中CVE漏洞是由哪些CWE软硬件缺陷导致的。由此,全面描述了恶意软件的“利用漏洞及影响范围”板块有关的详细信息。

作为一种可能的实施例,在本发明实施例中,由于集合中的目标网络安全知识图谱包括不同角度、不同抽象级别的实体数据,为使多个目标网络安全知识图谱之间的信息互通,因此本发明实施例中预先定义的网络安全知识图谱中的实体中存在冗余实体,该冗余实体是在某个网络安全知识图谱中增加与另一个网络安全知识图谱有关的实体,因此本发明实施例中的多个目标网络安全知识图谱间存在相同实体对应的实体数据。

图3为本发明实施例提供的一种网络安全知识图谱冗余实体的示意图,如图3所示,图3中的虚线节点为冗余实体,用于关联其他知识图谱中相同含义的实体,相同实体间采用虚线相连;具体的,如恶意软件分析知识图谱中的“漏洞”与漏洞管理知识图谱中的“CVE”和“CNNVD”属于是冗余实体;恶意软件分析知识图谱中的“行为”与恶意软件动作知识图谱中的“行为”属于是冗余实体;恶意软件分析知识图谱中的“攻击模式”与威胁情报知识图谱中的“攻击模式”属于是冗余实体。

实施例3:

为了生成目标分析报告,在上述各实施例中的基础上,在本发明实施例中,所述根据所述子知识图谱、以及预先生成的所述板块对应的编解码模型,确定所述板块对应的目标文本生成目标分析报告包括:

根据所述子知识图谱、以及预先生成的所述板块对应的编解码模型中的编码器子模型,确定所述子知识图谱的向量;

根据所述子知识图谱的向量、以及所述编解码模型中的解码器子模型,确定所述板块对应的目标文本生成目标分析报告。

为了生成板块对应的目标文本,在本发明实施例中,由于现有技术中在使用seq2seq模型进行文本生成时,seq2seq模型只适用于输入和输出都是序列数据,因此将板块对应的子知识图谱数据转换为序列形式作为输入,在生成板块对应的目标文本时会造成一定程度上的信息损失。

图4为本发明实施例提供的一种板块对应的子知识图谱的示意图,如图4所示,该子知识图谱对应的查询路径为“应用产品-[影响]-CVE-[有关]-CNNVD”,“(cpe:/o:microsoft:windows_server_2019:-)-[影响]-(CVE-2020-0708)-[有关]-(CNNVD-202002-577)”,若用三元组序列表示这个子知识图谱,可以得到两个三元组序列:(cpe:/o:microsoft:windows_server_2019:-,影响,CVE-2020-0708)和(CVE-2020-0708,有关,CNNVD-202002-577)。虽然这两个三元组序列可以显式表示图中CVE漏洞与应用产品、CVE漏洞与CNNVD漏洞之间的关联情况,但仍忽略了部分隐藏关联,比如应用产品(cpe:/o:microsoft:windows_server_2019:-)与CNNVD漏洞(CNNVD-202002-577)之间的潜在联系,根据CNNVD官网记录的信息,应用产品(cpe:/o:microsoft:windows_server_2019:-)中存在该CNNVD漏洞(CNNVD-202002-577)。

因此,在本发明实施例中,为避免信息损失的问题,在预先生成的板块对应的编解码模型中包括编码器子模型,根据板块对应的子知识图谱、以及该编码器子模型,确定该子知识图谱的向量。具体的,即将该子知识图谱输入到该编码器子模型中,从而确定出该子知识图谱中每个实体数据的第一向量,将每个第一向量进行融合得到该子知识图谱的向量。

将该子知识图谱的向量输入到该编解码模型中的解码器子模型中,确定出该板块对应的目标文本,根据每个板块对应的目标文本,生成恶意软件的目标分析报告。

具体的,本发明实施例中采用基于注意力机制的图形到序列的编解码(att-graph2seq)模型进行图形表示和生成文本。在实际应用过程中,对查询得到的多个板块的子知识图谱,将各板块的子知识图谱输入到与该板块对应的att-graph2seq模型中,得到各板块对应的目标文本。

在编码阶段,首先使用图嵌入技术(Graph Embedding)对子知识图谱进行编码,即使用基于注意力机制的深度学习模型确定该子知识图谱中的实体数据的第一向量,其中该深度学习模型可以是图注意力网络(Graph attention network,GAT)、基于注意力机制的异构图网络表示学习模型(metapath2vec+attention)等。

根据该子知识图谱中的每个实体数据的第一向量,将每个第一向量进行融合得到该子知识图谱的向量;在解码阶段,将该子知识图谱的向量输入到深度学习模型中,确定出该子知识图谱的向量对应的目标文本;其中该深度学习模型可以是长短期记忆网络(LongShort-Term Memory,LSTM),也可以是门控循环单元神经网络(Gate Recurrent Unit,GRU)。其中在该深度学习模型中,对该子知识图谱的向量进行学习,为强化实体数据对输出的贡献,在每个输出部分为实体数据计算一个动态权重,使模型更专注于与输出有关的实体数据的特征,最后得到对应的目标文本输出。

确定出目标分析报告模板中每个板块对应的目标文本后,将目标文本填充到目标分析报告模板的对应板块的位置中,从而得到完整目标分析报告。

实施例4:

为了提高编解码模型生成目标文本的准确性,在上述各实施例的基础上,在本发明实施例中,所述方法还包括:

根据接收到的对所述目标分析报告的修改操作,确定所述目标分析报告的修改后的目标文本;

根据所述修改后的目标文本、以及对应的子知识图谱,对所述修改后的目标文本对应板块的编解码模型进行更新。

为了提高板块对应的编解码模型生成目标文本的准确性,在本发明实施例中,还可以对板块对应的编解码模型进行更新。

具体的,针对编解码模型确定的目标分析报告,电子设备还可以接收到对该目标分析报告的修改操作,根据接收到的该修改操作,对该目标分析报告的文本内容进行修改,从而确定出该目标分析报告的修改后的目标文本。其中,该修改操作可以是在电子设备的显示屏上的任意位置接收到的修改操作,也可以是在电子设备的键盘上接收到的修改操作。

根据修改后的目标分析报告中的目标文本,以及该修改后的目标文本所在板块对应的子知识图谱,对该修改后的目标文本对应板块的编解码模型进行更新。

具体的,为提高att-graph2seq模型生成文本的准确率,电子设备根据接收到的修改操作,得到最终的修改后的目标分析报告;根据最终的修改后的目标分析报告中的各板块的目标文本及其对应的子知识图谱会反馈至相应的att-graph2seq模型中,从而对该att-graph2seq模型进行迭代更新。

实施例5:

为了实现训练板块对应的编解码模型,在上述各实施例的基础上,在本发明实施例中,训练所述板块对应的编解码模型的过程包括:

获取样本集中预先保存的任一样本知识图谱及所述样本知识图谱对应的第一文本;

将所述样本知识图谱输入到原始编解码模型中,获取输出的所述样本知识图谱的第二文本;

根据所述第一文本和所述第二文本,对所述原始编解码模型的各参数的参数值进行调整,得到训练完成的所述编解码模型。

为了实现对板块对应的编解码模型的训练,本发明实施例中保存有进行训练的样本集,该样本集中的样本知识图谱中包括与该板块的内容语义相关的实体数据和实体数据间的关系,该样本集中的样本知识图谱对应保存有第一文本,该第一文本为预先人工确定的样本知识图谱的对应文本。

在本发明实施例中,在获取到样本集中的任一样本知识图谱及该样本知识图谱对应的第一文本后,将该样本知识图谱输入到原始编解码模型中,该原始编解码模型输出该样本知识图谱的第二文本,该第二文本为原始编解码模型确定的样本知识图谱的对应文本。

在根据该原始编解码模型确定出该样本知识图谱的第二文本后,根据该第二文本以及该样本知识图谱的第一文本,对该原始编解码模型进行训练,以调整该原始编解码模型的各项参数的参数值,得到训练完成的编解码模型。

对原始编解码模型进行训练的样本集中包含的每一个样本知识图谱都进行上述操作,当满足预设的条件时,得到训练完成的编解码模型。其中,该预设的条件可以是样本集中的样本知识图谱通过原始编解码模型训练后得到的第二文本与第一文本一致的样本知识图谱的数量大于设定数量;也可以是对原始编解码模型进行训练的迭代次数达到设置的最大迭代次数等。具体的,本发明实施例对此不做限制。

作为一种可能的实施方式,在对原始编解码模型进行训练时,可以把样本集中的样本知识图谱分为训练样本知识图谱和测试样本知识图谱,先基于训练样本知识图谱对原始编解码模型进行训练,再基于测试样本知识图谱对训练完成的编解码模型的可靠性进行测试。

具体的,在本发明实施例中,针对目标分析模板中的每个板块预先生成有对应的att-graph2seq模型,在该att-graph2seq模型的训练过程中,预先针对子知识图谱存在有对应的文本,针对每个板块对应的att-graph2seq模型,子知识图谱作为输入,对应的文本作为输出训练att-graph2seq模型,从而训练得到分析报告模板中每个板块对应的att-graph2seq模型。

图5为本发明实施例提供的一种att-graph2seq模型的结构示意图,如图5所示,该图5中的图编码器(Graph Encoder)用于将子知识图谱进行编码,得到子知识图谱中每个实体数据的向量表示,然后将每个实体数据的向量表示进行融合得到图的向量表示,即图嵌入(Graph Embedding),其中Graph Embedding是一种将高维的拓扑图数据映射到低维向量空间的过程,用以捕获图的拓扑结构、顶点到顶点的关系以及关于图、子图和顶点的其他相关信息,即学习图中每个节点v∈V在d维稠密实值向量空间R

Sequence Decoder用于根据子知识图谱的向量、以及节点注意力机制(nodeattention)为实体数据计算的动态权重,确定出对应的目标文本。其中node attention采用的注意力机制(Attention Mechanism),注意力机制是机器学习中的一种数据处理方法,通过对输入的不同数据表示分配重要度权重,以确定针对特定下游任务的最相关的数据表示,弱化或遗忘与下游任务不相关的数据表示,从而减少输入中的噪声。

实施例6:

在上述各实施例的基础上,图6为本发明实施例提供的一种恶意软件分析报告生成装置的结构示意图,所述装置包括:

构建模块601,用于根据预先定义的网络安全知识图谱本体中包含的实体以及实体间的关系,从预先保存的网络安全数据中,获取对应的实体数据,并根据实体间的关系,构建包含实体数据的目标网络安全知识图谱的集合;

确定模块602,用于根据所述目标网络安全知识图谱、以及预先保存的目标分析报告模板中板块对应的查询路径,确定所述板块在所述目标网络安全知识图谱中对应的子知识图谱;根据所述子知识图谱、以及预先生成的所述板块对应的编解码模型,确定所述板块对应的目标文本生成目标分析报告。

进一步地,所述确定模块,具体用于根据所述目标网络安全知识图谱的集合、预先保存的目标分析报告模板中板块对应的第一实体,确定所述集合中包含所述第一实体对应的实体数据的每个第一目标网络安全知识图谱;根据所述每个第一目标网络安全知识图谱、以及与所述板块的内容语义相关的目标第一实体以及所述目标第一实体间的关系,确定所述板块在所述每个第一目标网络安全知识图谱中对应的第一子知识图谱;根据每个第一子知识图谱中的相同实体数据进行融合生成所述板块对应的子知识图谱。

进一步地,所述确定模块,具体还用于根据所述子知识图谱、以及预先生成的所述板块对应的编解码模型中的编码器子模型,确定所述子知识图谱的向量;根据所述子知识图谱的向量、以及所述编解码模型中的解码器子模型,确定所述板块对应的目标文本生成目标分析报告。

进一步地,所述装置还包括:

更新模块,用于根据接收到的对所述目标分析报告的修改操作,确定所述目标分析报告的修改后的目标文本;根据所述修改后的目标文本、以及对应的子知识图谱,对所述修改后的目标文本对应板块的编解码模型进行更新。

进一步地,所述装置还包括:

训练模型,用于获取样本集中预先保存的任一样本知识图谱及所述样本知识图谱对应的第一文本;将所述样本知识图谱输入到原始编解码模型中,获取输出的所述样本知识图谱的第二文本;根据所述第一文本和所述第二文本,对所述原始编解码模型的各参数的参数值进行调整,得到训练完成的所述板块对应的编解码模型。

实施例7:

图7为本发明实施例提供的一种电子设备结构示意图,在上述各实施例的基础上,本发明实施例中还提供了一种电子设备,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信;

所述存储器703中存储有计算机程序,当所述程序被所述处理器701执行时,使得所述处理器701执行如下步骤:

根据预先定义的网络安全知识图谱本体中包含的实体以及实体间的关系,从预先保存的网络安全数据中,获取对应的实体数据,并根据实体间的关系,构建包含实体数据的目标网络安全知识图谱的集合;

根据所述目标网络安全知识图谱、以及预先保存的目标分析报告模板中板块对应的查询路径,确定所述板块在所述目标网络安全知识图谱中对应的子知识图谱;

根据所述子知识图谱、以及预先生成的所述板块对应的编解码模型,确定所述板块对应的目标文本生成目标分析报告。

进一步地,所述处理器701具体用于所述根据所述目标网络安全知识图谱、以及预先保存的目标分析报告模板中板块对应的查询路径,确定所述板块在所述目标网络安全知识图谱中对应的子知识图谱包括:

根据所述目标网络安全知识图谱的集合、预先保存的目标分析报告模板中板块对应的第一实体,确定所述集合中包含所述第一实体对应的实体数据的每个第一目标网络安全知识图谱;

根据所述每个第一目标网络安全知识图谱、以及与所述板块的内容语义相关的目标第一实体以及所述目标第一实体间的关系,确定所述板块在所述每个第一目标网络安全知识图谱中对应的第一子知识图谱;

根据每个第一子知识图谱中的相同实体数据进行融合生成所述板块对应的子知识图谱。

进一步地,所述处理器701具体用于所述根据所述子知识图谱、以及预先生成的所述板块对应的编解码模型,确定所述板块对应的目标文本生成目标分析报告包括:

根据所述子知识图谱、以及预先生成的所述板块对应的编解码模型中的编码器子模型,确定所述子知识图谱的向量;

根据所述子知识图谱的向量、以及所述编解码模型中的解码器子模型,确定所述板块对应的目标文本生成目标分析报告。

进一步地,所述处理器701还用于根据接收到的对所述目标分析报告的修改操作,确定所述目标分析报告的修改后的目标文本;

根据所述修改后的目标文本、以及对应的子知识图谱,对所述修改后的目标文本对应板块的编解码模型进行更新。

进一步地,所述处理器701具体用于训练所述板块对应的编解码模型的过程包括:

获取样本集中预先保存的任一样本知识图谱及所述样本知识图谱对应的第一文本;

将所述样本知识图谱输入到原始编解码模型中,获取输出的所述样本知识图谱的第二文本;

根据所述第一文本和所述第二文本,对所述原始编解码模型的各参数的参数值进行调整,得到训练完成的所述板块对应的编解码模型。

上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口702用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。

实施例8:

在上述各实施例的基础上,本发明实施例还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行如下步骤:

根据预先定义的网络安全知识图谱本体中包含的实体以及实体间的关系,从预先保存的网络安全数据中,获取对应的实体数据,并根据实体间的关系,构建包含实体数据的目标网络安全知识图谱的集合;

根据所述目标网络安全知识图谱、以及预先保存的目标分析报告模板中板块对应的查询路径,确定所述板块在所述目标网络安全知识图谱中对应的子知识图谱;

根据所述子知识图谱、以及预先生成的所述板块对应的编解码模型,确定所述板块对应的目标文本生成目标分析报告。

进一步地,所述根据所述目标网络安全知识图谱、以及预先保存的目标分析报告模板中板块对应的查询路径,确定所述板块在所述目标网络安全知识图谱中对应的子知识图谱包括:

根据所述目标网络安全知识图谱的集合、预先保存的目标分析报告模板中板块对应的第一实体,确定所述集合中包含所述第一实体对应的实体数据的每个第一目标网络安全知识图谱;

根据所述每个第一目标网络安全知识图谱、以及与所述板块的内容语义相关的目标第一实体以及所述目标第一实体间的关系,确定所述板块在所述每个第一目标网络安全知识图谱中对应的第一子知识图谱;

根据每个第一子知识图谱中的相同实体数据进行融合生成所述板块对应的子知识图谱。

进一步地,所述根据所述子知识图谱、以及预先生成的所述板块对应的编解码模型,确定所述板块对应的目标文本生成目标分析报告包括:

根据所述子知识图谱、以及预先生成的所述板块对应的编解码模型中的编码器子模型,确定所述子知识图谱的向量;

根据所述子知识图谱的向量、以及所述编解码模型中的解码器子模型,确定所述板块对应的目标文本生成目标分析报告。

进一步地,所述方法还包括:

根据接收到的对所述目标分析报告的修改操作,确定所述目标分析报告的修改后的目标文本;

根据所述修改后的目标文本、以及对应的子知识图谱,对所述修改后的目标文本对应板块的编解码模型进行更新。

进一步地,训练所述板块对应的编解码模型的过程包括:

获取样本集中预先保存的任一样本知识图谱及所述样本知识图谱对应的第一文本;

将所述样本知识图谱输入到原始编解码模型中,获取输出的所述样本知识图谱的第二文本;

根据所述第一文本和所述第二文本,对所述原始编解码模型的各参数的参数值进行调整,得到训练完成的所述板块对应的编解码模型。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号