一种恶意文档检测方法及装置与流程

文档序号:12467781阅读:139来源:国知局
一种恶意文档检测方法及装置与流程

本发明涉及计算机技术领域,具体涉及一种恶意文档检测方法及装置。



背景技术:

恶意文档在正常的文档中写入恶意代码,利用文档解析程序的漏洞使恶意代码执行的文档。恶意文档能够实现攻击行为是因为:为丰富文档的展示效果并实现对多种功能的支持,文档中支持嵌入脚本代码,允许执行系统调用。恶意文档检测起始于对Office文档宏病毒的检测。目前,对微软Office文档(word、ppt、excel等)和pdf文档检测是恶意文档检测的重点研究内容。

目前针对恶意文档的检测主要通过:提取文档中的恶意shellcode代码,利用已有的shellcode代码特征库进行匹配。提取文档中嵌入的脚本代码,对脚本代码中的系统调用进行检测。在仿真环境下(如沙箱系统)使用文档阅读软件打开文档,检测系统状态和阅读器软件的进程行为等。现有的恶意文档检测方法中,提取文档中的结构特征和元数据特征,利用机器学习方法训练出检测模型,利用训练出的检测模型对待测文档进行检测。文档的结构特征反映了文档中资源的分布情况,图1是现有的pdf文档结构示意图,图2是现有的word文档结构示意图。元数据特征包括文档中嵌入的脚本语言、文档大小、文档的生成软件、文档中是否有压缩内容等一系列的属性特征。

由于不同文档的文档结构不同,并且文档中支持嵌入的脚本语言也不同(如Office中为VBScript,pdf中为JavaScript)。现有的恶意文档检测方法检测的文档类型单一,只针对某一特定类型的文档进行检测。如果只是组合各种已有的文档检测模型来实现多种文档的统一检测,需要提取的特征太多,利用机器学习建立模型或更新模型都需要耗费大量的时间,文档检测效率低。



技术实现要素:

本发明实施例提供一种恶意文档检测方法及装置,用于解决现有的恶意文档检测方法只能对特定类型的文档进行检测的问题。

本发明实施例提供了一种恶意文档检测方法,包括:

根据统一化处理后的各个文档类型的文档的结构特征和元数据特征建立机器学习模型;

获取待检测文档的结构特征和元数据特征;

采用通用的结构特征模型表示所述待检测文档的结构特征,采用通用的元数据特征模型表示所述待检测文档的元数据特征;

采用所述机器学习模型根据所述待检测文档的结构特征和元数据特征对所述待检测文档进行检测。

可选地,在所述根据统一化处理后的各个文档类型的文档的结构特征和元数据特征建立机器学习模型之前,所述方法还包括:

获取多种文档类型的文档对应的结构特征,将不同文档类型的相同属性的结构特征进行统一命名;

采用通用的结构特征模型表示各个文档类型的文档对应的结构特征;

获取多种文档类型的文档对应的元数据特征,将不同文档类型的相同属性的元数据特征进行统一命名;

采用通用的元数据特征模型表示各个文档类型的文档对应的元数据特征。

可选地,所述获取待检测文档的结构特征和元数据特征,包括:

判断待检测文档的文档类型,根据所述待检测文档的文档类型提取待检测文档的结构特征和元数据特征。

可选地,所述采用通用的结构特征模型表示所述待检测文档的结构特征,包括:

采用有向图表示所述待检测文档的结构,使用矩阵表示所述有向图;

其中,所述矩阵的列表示所述有向图的各个节点的起点,所述矩阵的行表示所述有向图的各个节点的终点,用1表示起点到终点可达,用0表示起点到终点不可达。

可选地,所述采用通用的元数据特征模型表示所述待检测文档的元数据特征,包括:

将所述待检测文档中的脚本语言转换为通用的元数据特征模型中的中间语言。

本发明实施例提供了一种恶意文档检测装置,包括:

机器学习模型建立单元,用于根据统一化处理后的各个文档类型的文档的结构特征和元数据特征建立机器学习模型;

特征获取单元,用于获取待检测文档的结构特征和元数据特征;

特征统一化单元,用于采用通用的结构特征模型表示所述待检测文档的结构特征,采用通用的元数据特征模型表示所述待检测文档的元数据特征;

检测单元,用于采用所述机器学习模型根据所述待检测文档的结构特征和元数据特征对所述待检测文档进行检测。

可选地,还包括:

统一化处理单元,用于获取多种文档类型的文档对应的结构特征,将不同文档类型的相同属性的结构特征进行统一命名;

采用通用的结构特征模型表示各个文档类型的文档对应的结构特征;

获取多种文档类型的文档对应的元数据特征,将不同文档类型的相同属性的元数据特征进行统一命名;

采用通用的元数据特征模型表示各个文档类型的文档对应的元数据特征。

可选地,所述特征获取单元进一步用于:

判断待检测文档的文档类型,根据所述待检测文档的文档类型提取待检测文档的结构特征和元数据特征。

可选地,所述特征统一化单元进一步用于:

采用有向图表示所述待检测文档的结构,使用矩阵表示所述有向图;

其中,所述矩阵的列表示所述有向图的各个节点的起点,所述矩阵的行表示所述有向图的各个节点的终点,用1表示起点到终点可达,用0表示起点到终点不可达。

可选地,所述特征统一化单元进一步用于:

将所述待检测文档中的脚本语言转换为通用的元数据特征模型中的中间语言。

本发明实施例提供的恶意文档检测方法及装置,根据统一化处理后的各个文档类型的文档的结构特征和元数据特征建立机器学习模型;获取待检测文档的结构特征和元数据特征;采用通用的结构特征模型表示所述待检测文档的结构特征,采用通用的元数据特征模型表示所述待检测文档的元数据特征;根据所述机器学习模型对所述待检测文档进行检测。本发明实施例通过将待检测文档采用通用的模型进行特征表示,可以实现对不同类型的文档的统一检测,无需针对每一种类型的文档建立机器学习模型,从而提高了文档检测的效率。

附图说明

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

图1是现有的pdf文档结构示意图;

图2是现有的word文档结构示意图;

图3是本发明一个实施例的恶意文档检测方法的流程示意图;

图4是本发明一个实施例的有向图的示意图;

图5是本发明一个实施例的矩阵的示意图;

图6是本发明一个实施例的恶意文档检测装置的结构示意图。

具体实施方式

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

图3是本发明一个实施例的恶意文档检测方法的流程示意图。如图3所示,该实施例的方法包括:

S31:根据统一化处理后的各个文档类型的文档的结构特征和元数据特征建立机器学习模型;

需要说明的是,不同文档类型的文档具有各自的结构特征和元数据特征。本发明实施例将各个文档类型的文档结构和元数据进行统一化处理,并根据统一化处理后的结构特征和元数据特征建立机器学习模型,无需对每种文档类型的文档建立机器学习模型。

S32:获取待检测文档的结构特征和元数据特征;

S33:采用通用的结构特征模型表示所述待检测文档的结构特征,采用通用的元数据特征模型表示所述待检测文档的元数据特征;

本发明实施例对待检测文档也进行特征的统一化处理,能够通过同一个机器学习模型高效的实现对多种文档类型的待检测文档的检测大幅减少建模和模型更新的时间成本。

S34:采用所述机器学习模型根据所述待检测文档的结构特征和元数据特征对所述待检测文档进行检测。

本发明实施例提供的恶意文档检测方法,通过将待检测文档采用通用的模型进行特征表示,可以实现对不同文档类型的文档的检测,无需针对各种文档类型建立机器学习模型,提高了文档检测的效率。

进一步地,在所述根据统一化处理后的各个文档类型的文档的结构特征和元数据特征建立机器学习模型之前,所述方法还包括:

获取多种文档类型的文档对应的结构特征,将不同文档类型的相同属性的结构特征进行统一命名;

采用通用的结构特征模型表示各个文档类型的文档对应的结构特征;

获取多种文档类型的文档对应的元数据特征,将不同文档类型的相同属性的元数据特征进行统一命名;

采用通用的元数据特征模型表示各个文档类型的文档对应的元数据特征。

需要说明的是,本发明实施例提取文档的结构分布,并进行统一命名表示。举例来说,图1中的pdf文档中的Catlog和图2中的word文档中的Content_Types为不同文档类型中相同属性的结构特征,将pdf文档和word文档中相同属性的结构特征均进行统一命名,可得到图4中的有向图结构。可以使用矩阵(如图5所示)表示文档的结构特征,图5中矩阵的列表示所述有向图的各个节点的起点,所述矩阵的行表示所述有向图的各个节点的终点,用1表示起点到终点可达,用0表示起点到终点不可达,由此实现了文档结构统一化处理。

本发明实施例还对多种文档类型的文档对应的元数据特征进行了统一化处理。在实际应用中,将不同文档类型的相同属性的元数据特征进行统一命名,将不同文档类型对应文档中的脚本语言转换为通用的元数据特征模型中的中间语言。

具体地,所述获取待检测文档的结构特征和元数据特征,包括:

判断待检测文档的文档类型,根据所述待检测文档的文档类型提取待检测文档的结构特征和元数据特征。

可理解的是,对于不同文档类型的待检测文档,特征提取的方法不同,所以要先判断待检测文档的类型。

具体地,所述采用通用的结构特征模型表示所述待检测文档的结构特征,包括:

采用有向图表示所述待检测文档的结构,使用矩阵表示所述有向图;

其中,所述矩阵的列表示所述有向图的各个节点的起点,所述矩阵的行表示所述有向图的各个节点的终点,用1表示起点到终点可达,用0表示起点到终点不可达。

具体地,所述采用通用的元数据特征模型表示所述待检测文档的元数据特征,包括:

将所述待检测文档中的脚本语言转换为通用的元数据特征模型中的中间语言。

在实际应用中,对于文档中的脚本语言,使用同一种中间语言来表示语义。利用编译原理中语法分析的方法,将不同的脚本语言用同一种中间语言来表示语义。例如JavaScript脚本代码:

fuction1(‘var theval=ev’+‘al;’);

fuction2(‘var shellcode=this.info’+z(“%46%21%6b%61)+‘erss’)。

图6是本发明一个实施例的恶意文档检测装置的结构示意图。如图6所示,本发明实施例的装置包括机器学习模型建立单元61、特征获取单元62、特征统一化单元63和检测单元64,具体地:

机器学习模型建立单元61,用于根据统一化处理后的各个文档类型的文档的结构特征和元数据特征建立机器学习模型;

特征获取单元62,用于获取待检测文档的结构特征和元数据特征;

特征统一化单元63,用于采用通用的结构特征模型表示所述待检测文档的结构特征,采用通用的元数据特征模型表示所述待检测文档的元数据特征;

检测单元64,用于采用所述机器学习模型根据所述待检测文档的结构特征和元数据特征对所述待检测文档进行检测。

本发明实施例提供的恶意文档检测装置,通过将待检测文档采用通用的模型进行特征表示,可以实现对不同文档类型的文档的检测,无需针对各种文档类型建立机器学习模型,提高了文档检测的效率。

可选地,还包括:

统一化处理单元,用于获取多种文档类型的文档对应的结构特征,将不同文档类型的相同属性的结构特征进行统一命名;

采用通用的结构特征模型表示各个文档类型的文档对应的结构特征;

获取多种文档类型的文档对应的元数据特征,将不同文档类型的相同属性的元数据特征进行统一命名;

采用通用的元数据特征模型表示各个文档类型的文档对应的元数据特征。

特征获取单元62进一步用于:

判断待检测文档的文档类型,根据所述待检测文档的文档类型提取待检测文档的结构特征和元数据特征。

特征统一化单元63进一步用于:

采用有向图表示所述待检测文档的结构,使用矩阵表示所述有向图;

其中,所述矩阵的列表示所述有向图的各个节点的起点,所述矩阵的行表示所述有向图的各个节点的终点,用1表示起点到终点可达,用0表示起点到终点不可达。

特征统一化单元63进一步用于:

将所述待检测文档中的脚本语言转换为通用的元数据特征模型中的中间语言。

本发明实施例的恶意文档检测装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。

本发明实施例提供的恶意文档检测方法及装置,根据统一化处理后的各个文档类型的文档的结构特征和元数据特征建立机器学习模型;获取待检测文档的结构特征和元数据特征;采用通用的结构特征模型表示所述待检测文档的结构特征,采用通用的元数据特征模型表示所述待检测文档的元数据特征;根据所述机器学习模型对所述待检测文档进行检测。本发明实施例通过将待检测文档采用通用的模型进行特征表示,可以实现对不同文档类型的文档的检测,无需针对各种文档类型建立机器学习模型,提高了文档检测的效率。

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

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

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

本发明的说明书中,说明了大量具体细节。然而能够理解的是,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本发明公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释呈反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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