Office文档中宏病毒的检测方法、装置、电子设备及存储介质制造方法及图纸

技术编号:35138209 阅读:16 留言:0更新日期:2022-10-05 10:13
本公开涉及一种Office文档中宏病毒的检测方法、装置、电子设备及存储介质,其中,所述方法包括:从待检测Office文档中提取宏代码;根据预设的词法标注库,对所述宏代码中的各分词及各语句进行词法标注,生成标注宏代码;对所述标注宏代码进行语法分析,生成抽象语法树;对所述抽象语法树中的每个节点进行向量化,得到所述每个节点对应的向量序列;将所述抽象语法树以及所述每个节点对应的向量序列输入预先训练的语义提取模型,以获取所述宏代码对应的语义特征;将所述语义特征输入预先训练的分类器中,根据所述分类器的输出结果确定所述待检测Office文档是否携带宏病毒。由此,能够提高Office文档中宏病毒检测的准确性。能够提高Office文档中宏病毒检测的准确性。能够提高Office文档中宏病毒检测的准确性。

【技术实现步骤摘要】
Office文档中宏病毒的检测方法、装置、电子设备及存储介质


[0001]本公开涉及数据安全
,尤其涉及一种Office文档中宏病毒的检测方法、装置、电子设备及存储介质。

技术介绍

[0002]宏病毒,是一种寄存在常见办公文档或者模版的宏中的计算机病毒,具有流行度高、传染性强和危害大等特点。携带有宏病毒的文档一旦被打开,其中的宏病毒就会被执行,从而对计算机造成危害。
[0003]VBA(Visual Basic for Application)作为微软的一种编程语言,可以用来开发Office中的应用程序,在Office文档中嵌入宏功能,也是攻击者开发Office文档宏病毒所用的语言。可见,正常的Office文档和携带宏病毒的Office文档中都嵌入了宏代码,即VBA代码。因此,通过检测Office文档中是否包含VBA代码来判断Office文档是否被宏病毒攻击,准确性较低。

技术实现思路

[0004]为了解决上述技术问题或者至少部分地解决上述技术问题,本公开的至少一个实施例提供了一种Office文档中宏病毒的检测方法、装置、电子设备及存储介质。
[0005]第一方面,本公开提供了一种Office文档中宏病毒的检测方法,所述方法包括:
[0006]从待检测Office文档中提取宏代码;
[0007]根据预设的词法标注库,对所述宏代码中的各分词及各语句进行词法标注,生成标注宏代码;
[0008]对所述标注宏代码进行语法分析,生成抽象语法树;
[0009]对所述抽象语法树中的每个节点进行向量化,得到所述每个节点对应的向量序列;
[0010]将所述抽象语法树以及所述每个节点对应的向量序列输入预先训练的语义提取模型,以获取所述宏代码对应的语义特征;
[0011]将所述语义特征输入预先训练的分类器中,根据所述分类器的输出结果确定所述待检测Office文档是否携带宏病毒。
[0012]第二方面,本公开提供了一种Office文档中宏病毒的检测装置,所述装置包括:
[0013]提取模块,用于从待检测Office文档中提取宏代码;
[0014]标注模块,用于根据预设的词法标注库,对所述宏代码中的各分词及各语句进行词法标注,生成标注宏代码;
[0015]分析模块,用于对所述标注宏代码进行语法分析,生成抽象语法树;
[0016]向量表示模块,用于对所述抽象语法树中的每个节点进行向量化,得到所述每个节点对应的向量序列;
[0017]特征获取模块,用于将所述抽象语法树以及所述每个节点对应的向量序列输入预
先训练的语义提取模型,以获取所述宏代码对应的语义特征;
[0018]确定模块,用于将所述语义特征输入预先训练的分类器中,根据所述分类器的输出结果确定所述待检测Office文档是否携带宏病毒。
[0019]第三方面,本公开提供了一种电子设备,包括:处理器和存储器;所述处理器通过调用所述存储器存储的程序或指令,用于执行本公开第一方面提供的任一所述Office文档中宏病毒的检测方法的步骤。
[0020]第四方面,本公开提供了一种计算机可读存储介质,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行本公开第一方面提供的任一所述Office文档中宏病毒的检测方法的步骤。
[0021]第五方面,本公开提供了一种计算机程序产品,所述计算机程序产品用于执行本公开第一方面提供的任一所述Office文档中宏病毒的检测方法的步骤。
[0022]本公开实施例提供的技术方案与现有技术相比至少具有如下优点:
[0023]在本公开实施例中,通过从待检测Office文档中提取宏代码,根据预设的词法标注库,对宏代码中的各分词及各语句进行词法标注,生成标注宏代码,并对标注宏代码进行语法分析,生成抽象语法树,以及对抽象语法树中的每个节点进行向量化,得到每个节点对应的向量序列,接着将抽象语法树以及每个节点对应的向量序列输入预先训练的语义提取模型,以获取宏代码对应的语义特征,进而将语义特征输入预先训练的分类器中,根据分类器的输出结果确定待检测Office文档是否携带宏病毒。采用上述技术方案,通过对Office文档中的宏代码进行词法标注及语法分析,得到抽象语法树并对抽象语法树中的节点进行向量化,进而基于抽象语法树和节点对应的向量序列,利用预先训练好的语义提取模型提取语义特征,能够提高语义提取的鲁棒性,进而能够提高Office文档中宏病毒检测的准确性。
附图说明
[0024]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0025]为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0026]图1为本公开一实施例提供的Office文档中宏病毒的检测方法的流程示意图;
[0027]图2为本公开实施例中生成的抽象语法树的示例图;
[0028]图3为本公开另一实施例提供的Office文档中宏病毒的检测方法的流程示意图;
[0029]图4为本公开实施例中训练得到语义提取模型的流程示意图;
[0030]图5为本公开一实施例提供的Office文档中宏病毒的检测装置的结构示意图。
具体实施方式
[0031]为了能够更清楚地理解本公开的上述目的、特征和优点,下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,所描述的实施例是本公开的一部分实施例,而不是全部的实施例,此处所描述的具体实施例仅仅用于解释本公开,而非对本公开的限
定,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。基于所描述的本公开的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本公开保护的范围。
[0032]在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
[0033]电子邮件攻击是非常常见的一种商业攻击,大部分恶意邮件会在附件中携带恶意Office文档,用户下载之后不仅会对自身的计算机系统、数据等产生危害,还会通过Office模板、局域网络等扩散传播。
[0034]恶意Office文档即是携带宏病毒的Office文档。VBA作为微软的一种编程语言,可以用来开发Office中的应用程序,也正是攻击者开发Office文档宏病毒所用的语言。宏病毒能够在Office文档中自动执行任务,感染计算机系统,做出许多危害行为。Word、Excel及Powerpoint等文档都允许嵌入VBA宏,携带宏病毒的Word、Excel文档较为常见,文件格式具体为doc、docx、xls、xlsx。
...

【技术保护点】

【技术特征摘要】
1.一种Office文档中宏病毒的检测方法,其特征在于,所述方法包括:从待检测Office文档中提取宏代码;根据预设的词法标注库,对所述宏代码中的各分词及各语句进行词法标注,生成标注宏代码;对所述标注宏代码进行语法分析,生成抽象语法树;对所述抽象语法树中的每个节点进行向量化,得到所述每个节点对应的向量序列;将所述抽象语法树以及所述每个节点对应的向量序列输入预先训练的语义提取模型,以获取所述宏代码对应的语义特征;将所述语义特征输入预先训练的分类器中,根据所述分类器的输出结果确定所述待检测Office文档是否携带宏病毒。2.根据权利要求1所述的Office文档中宏病毒的检测方法,其特征在于,所述根据预设的词法标注库,对所述宏代码中的各分词及各语句进行词法标注,生成标注宏代码,包括:根据预设的词法标注库,对所述宏代码中的每个语句进行词法标注,得到语句标注宏代码;根据所述词法标注库以及所述语句标注宏代码中各分词的词性,对所述各分词进行词法标注,得到标注宏代码。3.根据权利要求2所述的Office文档中宏病毒的检测方法,其特征在于,所述根据所述词法标注库以及所述语句标注宏代码中各分词的词性,对所述各分词进行词法标注,得到标注宏代码,包括:按照预设的分词规则,对所述语句标注宏代码中的每个代码语句进行分词处理,以获取所述每个代码语句中的每个分词;根据所述词法标注库以及所述每个分词的词性,对所述每个分词分别进行词法标注,得到标注宏代码。4.根据权利要求1所述的Office文档中宏病毒的检测方法,其特征在于,所述对所述抽象语法树中的每个节点进行向量化,得到所述每个节点对应的向量序列,包括:针对所述抽象语法树中的每个节点,从所述每个节点中确定词法标注词汇以及代码词汇;基于第一向量化模型,对所述词法标注词汇进行向量化表示,得到第一向量;基于第二向量化模型,对所述代码词汇进行向量化表示,得到第二向量;将隶属于同一节点的所述第一向量与所述第二向量进行拼接,得到所述每个节点对应的向量序列。5.根据权利要求1所述的Office文档中宏病毒的检测方法,其特征在于,所述根据所述分类器的输出结果确定所述待检测Office文档是否携带宏病毒,包括:获取所述分类器的输出结果,其中,所述输出结果包括所述宏代码为宏病毒的第一预测概率,以及所述宏代码非宏病毒的第二预测概率;在所述第一预测概率大于预设阈值的情况下,确定所述待检测Office文档携带宏病毒;在...

【专利技术属性】
技术研发人员:黄娜张朝潞鲍青波
申请(专利权)人:北京天融信科技有限公司北京天融信软件有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1