CN108985064A - 一种识别恶意文档的方法及装置 - Google Patents

一种识别恶意文档的方法及装置 Download PDF

Info

Publication number
CN108985064A
CN108985064A CN201810777408.8A CN201810777408A CN108985064A CN 108985064 A CN108985064 A CN 108985064A CN 201810777408 A CN201810777408 A CN 201810777408A CN 108985064 A CN108985064 A CN 108985064A
Authority
CN
China
Prior art keywords
document
identified
malice
keyword
sample files
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810777408.8A
Other languages
English (en)
Other versions
CN108985064B (zh
Inventor
杜学绘
孙奕
林杨东
张东巍
杨智
任志宇
王娜
单棣斌
王文娟
曹利峰
杨艳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Information Engineering University of PLA Strategic Support Force
Original Assignee
Information Engineering University of PLA Strategic Support Force
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Information Engineering University of PLA Strategic Support Force filed Critical Information Engineering University of PLA Strategic Support Force
Priority to CN201810777408.8A priority Critical patent/CN108985064B/zh
Publication of CN108985064A publication Critical patent/CN108985064A/zh
Application granted granted Critical
Publication of CN108985064B publication Critical patent/CN108985064B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出一种识别恶意文档的方法,包括:对待识别文档进行解析得到待识别文档的文档异常信息、关键字信息和文档应用程序编程接口调用信息;分别根据文档异常信息提取得到待识别文档的异常特征、根据关键字信息提取得到待识别文档的结构特征、以及根据文档应用程序编程接口调用信息提取得到待识别文档的行为特征;将所述异常特征、结构特征和行为特征进行组合处理得到待识别文档的混合特征向量;将混合特征向量输入经过训练的恶意文档检测模型,识别待识别文档是否为恶意文档。上述恶意文档识别过程中,同时应用到文档的异常特征、结构特征和行为特征,特征信息更丰富更全面,因此对恶意文档的识别相对于单一特征的识别更准确。

Description

一种识别恶意文档的方法及装置
技术领域
本发明涉及计算机安全技术领域,尤其涉及一种识别恶意文档的方法及装置。
背景技术
随着计算机以及互联网在我国的推广与发展,越来越多的行业依托互联网进行模式转变,并取得了巨大的效益。利用互联网进行文档共享与交互,往往能给工作带来巨大的便利,然而其交互过程中的安全问题也十分突出,尤其是当文档被攻击者嵌入恶意木马时,一旦文档被打开,则会面临敏感信息泄露等安全风险。因此,需要对文档的安全性进行检测,从而保证重要文档的安全可靠交换。
常用的对恶意文档的检测识别,通常基于文档的单一类型的特征而实现。例如,通过识别文档内嵌代码的异常信息及漏洞等静态异常特征识别恶意文档,或通过识别文档结构路径以及文档的解析结构等结构特征识别恶意文档等。上述基于单一类型特征的恶意文档识别方法的特征选取不够精细全面,很容易被恶意文档制作者规避,因此导致不能准确识别恶意文档,识别准确率较低。
发明内容
基于上述现有技术的缺陷和不足,本发明提出一种识别恶意文档的方法及装置,提取文档的多项特征,识别文档是否为恶意文档。
一种识别恶意文档的方法,包括:
对待识别文档进行解析得到所述待识别文档的文档异常信息、关键字信息和文档应用程序编程接口调用信息;
分别根据所述文档异常信息提取得到所述待识别文档的异常特征、根据所述关键字信息提取得到所述待识别文档的结构特征、以及根据所述文档应用程序编程接口调用信息提取得到所述待识别文档的行为特征;
将所述异常特征、结构特征和行为特征进行组合处理得到所述待识别文档的混合特征向量;
将所述混合特征向量输入经过训练的恶意文档检测模型,识别所述待识别文档是否为恶意文档。
可选的,所述根据所述文档异常信息提取得到所述待识别文档的异常特征,包括:
从所述文档异常信息中,提取与预设的文档异常特征相关的信息,得到所述待识别文档的异常特征;其中,所述预设的文档异常特征基于对恶意样本文档和正常样本文档进行特征统计而确定。
可选的,所述根据所述关键字信息提取得到所述待识别文档的结构特征,包括:
根据所述关键字信息,统计预设的特征关键字集合中的每个关键字在所述关键字信息中出现的次数,得到所述待识别文档的结构特征;其中,所述预设的特征关键字集合,是根据样本文档中的关键字在所述样本文档中出现的期望值对所述样本文档中的关键字进行聚类处理得到的,用于表征文档结构特征的关键字集合。
可选的,所述根据所述文档应用程序编程接口调用信息提取得到所述待识别文档的行为特征,包括:
根据所述文档应用程序编程接口调用信息,统计预设的特征应用程序编程接口调用函数集合中的每个应用程序编程接口调用函数被调用的次数,得到所述待识别文档的行为特征;其中,所述预设的特征应用程序编程接口调用函数集合,是根据样本文档中的各个应用程序编程接口调用函数的出现比率对所述样本文档中的各个应用程序编程接口调用函数进行聚类处理得到的,用于表征文档行为特征的应用程序编程接口调用函数集合。
可选的,根据样本文档中的关键字在所述样本文档中出现的期望值对所述样本文档中的关键字进行聚类处理得到特征关键字集合,包括:
根据样本文档集合的关键字集合中的每个关键字在所述样本文档集合中出现的概率和出现次数,分别计算得到所述每个关键字在所述样本文档集合中出现的期望值;其中所述样本文档集合包括正常样本文档集合和恶意样本文档集合;
根据所述每个关键字在所述样本文档集合中出现的期望值,分别计算得到所述每个关键字的表征力;其中,所述表征力包括良性表征力和恶意表征力,所述良性表征力用于表示关键字所在的文档为正常文档的概率,所述恶意表征力用于表示关键字所在的文档为恶意文档的概率;
根据所述每个关键字的表征力,对所述关键字集合中的关键字进行聚类处理,得到特征关键字集合;其中,所述特征关键字集合包括正常文档特征关键字集合和恶意文档特征关键字集合。
可选的,根据样本文档中的各个应用程序编程接口调用函数的出现比率对所述样本文档中的各个应用程序编程接口调用函数进行聚类处理得到特征应用程序编程接口调用函数集合,包括:
分别计算得到恶意样本文档和正常样本文档中出现的各个应用程序编程接口调用函数在恶意样本文档和正常样本文档中的出现比率的差异值;
根据所述各个应用程序编程接口调用函数在恶意样本文档和正常样本文档中的出现比率的差异值,对所述恶意样本文档和正常样本文档中出现的各个应用程序编程接口调用函数进行聚类处理,得特征应用程序编程接口调用函数集合。
一种识别恶意文档的装置,包括:
文档解析单元,用于对待识别文档进行解析得到所述待识别文档的文档异常信息、关键字信息和文档应用程序编程接口调用信息;
特征提取单元,用于分别根据所述文档异常信息提取得到所述待识别文档的异常特征、根据所述关键字信息提取得到所述待识别文档的结构特征、以及根据所述文档应用程序编程接口调用信息提取得到所述待识别文档的行为特征;
特征处理单元,用于将所述异常特征、结构特征和行为特征进行组合处理得到所述待识别文档的混合特征向量;
文档识别单元,用于将所述混合特征向量输入经过训练的恶意文档检测模型,识别所述待识别文档是否为恶意文档。
可选的,所述特征提取单元根据所述文档异常信息提取得到所述待识别文档的异常特征时,具体用于:
从所述文档异常信息中,提取与预设的文档异常特征相关的信息,得到所述待识别文档的异常特征;其中,所述预设的文档异常特征基于对恶意样本文档和正常样本文档进行特征统计而确定。
可选的,所述特征提取单元根据所述关键字信息提取得到所述待识别文档的结构特征时,具体用于:
根据所述关键字信息,统计预设的特征关键字集合中的每个关键字在所述关键字信息中出现的次数,得到所述待识别文档的结构特征;其中,所述预设的特征关键字集合,是根据样本文档中的关键字在所述样本文档中出现的期望值对所述样本文档中的关键字进行聚类处理得到的,用于表征文档结构特征的关键字集合。
可选的,所述特征提取单元根据所述文档应用程序编程接口调用信息提取得到所述待识别文档的行为特征时,具体用于:
根据所述文档应用程序编程接口调用信息,统计预设的特征应用程序编程接口调用函数集合中的每个应用程序编程接口调用函数被调用的次数,得到所述待识别文档的行为特征;其中,所述预设的特征应用程序编程接口调用函数集合,是根据样本文档中的各个应用程序编程接口调用函数的出现比率对所述样本文档中的各个应用程序编程接口调用函数进行聚类处理得到的,用于表征文档行为特征的应用程序编程接口调用函数集合。
本发明提出的上述技术方案在识别恶意文档时,首先对待识别文档进行解析得到其文档异常信息、关键字信息和文档API调用信息,然后从上述文档异常信息、关键字信息和文档API调用信息中分别提取出待检测文档的异常特征、结构特征和行为特征,再将提取得到的异常特征、结构特征和行为特征组合为混合特征向量,最后将该混合特征向量输入经过训练的恶意文档检测模型,识别该待检测文档是否为恶意文档。上述恶意文档识别过程中,同时应用到文档的异常特征、结构特征和行为特征,特征信息更丰富更全面,因此对恶意文档的识别相对于单一特征的识别更准确。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明实施例提供的一种识别恶意文档的方法的流程示意图;
图2是本发明实施例提供的提取文档特征关键字集合的方法的流程示意图;
图3是本发明实施例提供的提取文档特征应用程序编程接口调用函数集合的方法的流程示意图;
图4是本发明实施例提供的识别恶意文档的方法的整体处理过程示意图;
图5是本发明实施例提供的一种识别恶意文档的装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种识别恶意文档的方法,该方法能够识别文档是否为恶意文档。上述恶意文档,是指通过嵌入并执行恶意代码或利用其结构特性,以窃取敏感信息、监视和破坏用户正常活动等恶意行为为目的文档。
参见图1所示,本发明实施例公开的识别恶意文档的方法包括:
S101、对待识别文档进行解析得到所述待识别文档的文档异常信息、关键字信息和文档应用程序编程接口调用信息;
具体的,上述文档的异常信息,是指文档在完整性、结构、内容上表现出明显不同于正常文档的信息,主要包括三方面,分别为文档结构异常信息、文档内容异常信息以及其他关键异常信息(包括内嵌代码信息、内嵌文件信息、内嵌TIFF图片信息、内嵌flash信息以及URI信息等)。例如,文档明显不完整、文档结构不符合标准结构要求、文档内容乱码等。
上述的关键字信息,是指文档内容和结构上所包含的,能够表征文档的操作特征的关键字信息。
上述文档应用程序编程接口调用信息,是指文档中所包含的调用应用程序编程接口(Application Programming Interface,API)的函数调用API的信息,也就是在文档中出现的API调用函数的信息,表征了文档调用API的特征信息。
现有技术中已有文档解析工具能够实现对文档的解析,在该现有解析工具的基础上,本发明实施例针对以下三个方面进行改进,从而实现对文档的高效准确解析,得到上述的文档异常信息、关键字信息和文档应用程序编程接口调用信息。
(1)文档中结构信息的解析
文档的结构信息主要包含结构关键字以及文档逻辑结构树两个方面,结构关键字可有效反映文档中包含的内容,逻辑结构树可以有效的反映文档结构是否存在异常。现有方法仅采用单一的解析方法,无法全面分析文档的结构信息,本文通过结合关键字扫描以及逻辑结构解析两种方法,并利用关键字反混淆技术,对文档的结构关键字以及逻辑结构树进行提取,保证了解析得到结构信息的准确有效。
采用上述关键字扫描以及逻辑结构解析方法,解析得到文档的异常信息和关键字信息。
(2)文档中内容信息的解析
文档中的内容信息主要包括文件大小、图片、字体、表格、页面等信息。现有方法着重关注文档中的代码信息,针对文档具体内容的分析较少,本文通过对相应关键字的扫描(如图片的结构关键字为’/Image’)从而对具体内容信息进行定位与提取,最终实现文档内容信息的解析。
采用上述针对文档内容的关键字扫描的解析方法,解析得到文档的异常信息和API调用信息。
(3)其他关键信息的解析
主要包括OpenAction、内嵌文件、Tiff格式图片、Flash、URI等。在此涉及到的结构关键字主要为‘/JavaScript’、‘/OpenAction’、‘/EmbeddedFile’、‘/Tiff’、‘/Flash’、‘/URI’等等,解析时主要结合反混淆技术、利用关键字进行搜索定位,并提取文件流进行进一步的分析。例如,URI的一般表示格式为:“协议://域名/目录/文件#片段标识符”,在此,主要针对http协议以及ftp协议,因此在使用‘/URI’对PDF文档中链接进行解析的基础上,额外增加了‘http://’,‘ftp://’两种扫描关键字对对象内容、流内容中的URI信息进行进一步提取。
采用上述其他关键字解析的方法,得到文档异常信息。
按照以上三方面对待识别的文档进行解析,可以综合得到文档异常信息、关键字信息和文档应用程序编程接口调用信息。
S102、分别根据所述文档异常信息提取得到所述待识别文档的异常特征、根据所述关键字信息提取得到所述待识别文档的结构特征、以及根据所述文档应用程序编程接口调用信息提取得到所述待识别文档的行为特征;
具体的,步骤S101中提取出的文档异常信息、关键字信息和文档应用程序编程接口调用信息,并不是都能够作为恶意文档或正常文档的特征的信息。为了更直接地从文档恶意或正常特征入手对文档是否为恶意文档进行识别检测,本发明实施例在解析得到文档异常信息、关键字信息和文档应用程序编程接口调用信息后,分别从中提取该待识别文档的异常特征、结构特征和行为特征。
其中上述异常特征、结构特征和行为特征均是恶意文档或正常文档所特有的特征,也就是说,包含这些特征的文档在一般情况下可以被认为是恶意文档或正常文档。
本发明实施例通过对样本文档的特征进行统计分析或聚类分析的方法,预先确定设定数量的能够表征文档为正常文档或恶意文档的特征,即上述的异常特征、结构特征和行为特征。在通过步骤S101从待识别文档中解析得到文档异常信息、关键字信息和文档应用程序编程接口调用信息后,本发明实施例进一步从中对应提取待识别文档的异常特征、结构特征和行为特征。
S103、将所述异常特征、结构特征和行为特征进行组合处理得到所述待识别文档的混合特征向量;
具体的,上述异常特征、结构特征和行为特征为不同类型的特征数据,也就是说,本发明实施例所提取得到的待识别文档的特征包含多种类型的特征数据,不同特征的数据结构之间存在差异。并且,上述不同特征是以不同维度对待识别文档进行特征提取得到的特征数据,其数据量众多,不利于快速应用这些特征进行文档识别。
为了更简洁地应用上述不同类型的特征,本发明实施例在具体应用这些特征识别上述待识别文档是否为恶意文档时,将这些不同类型的特征进行组合,得到上述待识别文档的混合特征向量,即最终以一个特征向量来作为上述待识别文档的特征向量。
具体的,上述的异常特征、结构特征和行为特征的数据形式均为特征向量的形式,因此本发明实施例直接将异常特征的特征向量、结构特征的特征向量和行为特征的特征向量进行拼接组合,得到一个包含异常特征的特征向量、结构特征的特征向量和行为特征的特征向量的混合特征向量,即达到了将上述异常特征、结构特征和行为特征进行组合的目的。
需要说明的是,经过上述组合处理的混合特征向量仍然是包含不同类型特征数据的特征向量。由于提取出的特征数据的数据类型无法改变,因此本发明实施例通过选择能够同时兼容上述不同类型特征数据的恶意文档检测模型,来解决对上述不同类型的特征数据的兼容问题。
S104、将所述混合特征向量输入恶意文档检测模型,对所述恶意文档检测模型进行训练;
具体的,上述恶意文档检测模型,是指利用随机森林算法构造的,用于识别待检测文档是否为恶意文档的检测模型。
上文介绍到,按照本发明实施例提取的文档的混合特征向量是包含不同类型的特征数据的特征向量,为了解决不同类型的特征数据之间的兼容问题,应当选择能够完全兼容上述不同类型的特征数据的检测模型。
常见的支持数据结构不统一的分类算法主要有决策树和随机森林等,随机森林算法是对决策树算法的一个集成和改进,它在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择,解决了决策树容易导致过拟合、泛化效果较差等问题。它能较好的应对所设计细粒度特征存在的异构性,且计算开销小,集成的泛化性较好。本发明实施例选择了10棵树的随机森林算法进行检测模型的构建,并采用10折交叉验证模型的检测效果。即,本发明实施例所采用的恶意文档检测模型,是利用随机森林算法构建的检测模型。
检测模型在构建完成后,并不具备准确的恶意文档识别能力,需要利用大量的样本数据对其进行训练,使其具备准确识别文档是否为恶意文档的能力。
具体的训练方法为,选取大量的已标记的恶意文档和正常文档样本作为上述步骤S101~S103中的待识别文档,分别按照步骤S101~S103所示的处理方法提取其混合特征向量,输入上述恶意文档检测模型识别其是否为恶意文档,并根据文档的真实类型(恶意文档或正常文档)对模型的识别结果的正确性进行判断,并根据判断结果反向对模型的运算参数进行校正,使其识别的准确性原来越高。当模型识别恶意文档的准确性达到预设要求时,即结束对模型的训练。
上述步骤S101~S104是对恶意文档检测模型的训练过程,在首次采用本发明实施例技术方案识别恶意文档时,或者在识别恶意文档之前,需要对上述的恶意文档检测模型进行训练,使得该恶意文档检测模型具备准确识别恶意文档的能力。
对上述恶意文档检测模型进行训练之后,采用以下步骤,即采用本发明实施例提出的恶意文档检测方法执行步骤,即可实现对恶意文档的检测识别:
对待识别文档执行步骤S101~S103的处理;
S105、将步骤S103得到的待识别文档的混合特征向量输入经过训练的恶意文档检测模型,识别所述待识别文档是否为恶意文档。
具体的,当有待检测文档需要识别其是否为恶意文档时,同样按照步骤S101~S103提取其混合特征向量,直接将提取得到的待检测文档的混合特征向量输入上述经过训练的恶意文档检测模型,即可利用恶意文档检测模型的恶意文档检测能力识别该待检测文档是否为恶意文档。
通过上述介绍可见,本发明实施例在识别恶意文档时,首先对待识别文档进行解析得到其文档异常信息、关键字信息和文档API调用信息,然后从上述文档异常信息、关键字信息和文档API调用信息中分别提取出待检测文档的异常特征、结构特征和行为特征,再将提取得到的异常特征、结构特征和行为特征组合为混合特征向量,最后将该混合特征向量输入经过训练的恶意文档检测模型,识别该待检测文档是否为恶意文档。上述恶意文档识别过程中,同时应用到文档的异常特征、结构特征和行为特征,特征信息更丰富更全面,因此对恶意文档的识别相对于单一特征的识别更准确。
可选的,在本发明的另一个实施例中,还公开了上述根据所述文档异常信息提取得到所述待识别文档的异常特征的具体处理过程。
所述根据所述文档异常信息提取得到所述待识别文档的异常特征,包括:
从所述文档异常信息中,提取与预设的文档异常特征相关的信息,得到所述待识别文档的异常特征;
具体的,上述预设的文档异常特征基于对恶意样本文档和正常样本文档进行异常特征统计而确定。
结合已有相关经验,针对文档的分析主要有3个方面,分别为文档结构信息、文档内容信以及其他关键信息(包括内嵌代码信息、内嵌文件信息、内嵌TIFF图片信息、内嵌flash信息以及URI信息等)。其中,结构信息在以往的研究中已经被证明可以有效的用以表征正常文档与恶意文档的差异性;内容信息,尤其是其中流对象中的内容,攻击者往往通过加密、压缩等方法在流对象中隐藏恶意数据,且一般恶意文档中往往不包含具体的文本、图片等内容;内嵌代码信息,直接的反映了文档的执行操作,可以直观的表征文档的恶意性;内嵌文件信息,主要是用以应对mimicry攻击方法,这种攻击方法通过在正常文档中嵌入恶意文档信息,从而在保证结构正常性的基础上构建恶意文档,从而绕过基于结构的检测;内嵌图片信息,文档允许用户在文档中嵌入图片,因此其有对应的图片编码与解码功能,而这些功能的漏洞可能导致用户受攻击(如CVE 2009-0658、CVE 2010-0188等);同样的,内嵌的Flash也存在类似的问题,由于一些文档格式,例如Adobe PDF文件格式支持Flash功能,因此许多针对Flash的漏洞也可间接的通过PDF文档进行利用;URI信息往往与攻击者的攻击过程息息相关,攻击者往往利用漏洞完成远端恶意代码自动下载等恶意行为,因此URI信息也是分析的重点。
为了对文档异常特征进行选择,本发明实施例根据已有经验以及对大量初始带标记的文档数据进行统计分析,从3个方面考量文档的特性,并基于样本统计结果最终确定了一组文档异常特征。
本发明实施例构造了一个包含5000恶意文档样本和5000正常文档样本的数据集合。其中恶意样本主要在VirusTotal上收集而来,主要包含了2004-2011年期间用户提交到VirusTotal平台的恶意文档以及近几年的文档阅读器高危漏洞的利用文档,如CVE-2016-4255,CVE-2015-5090,CVE-2014-0512,CVE-2014-0496,CVE-2013-0640等等;良性样本主要通过Google、Yahoo上下载得到,并经过卡巴斯基杀毒软件进行检测以保证其无毒性,着重收集了一部分包含3D图像、flash、视频、JavaScript等内容的正常文档样本,以保证正常样本集合的全面性,降低由于样本不平衡性所导致的结果误差。
通过对PDF文档集合进行解析,依据上述3个方面进行信息提取,并对重要特征进行筛选与分析,最终选取与异常文档相关的特征如下:(1)对象结构是否异常;(2)流结构是否异常;(3)有无交叉引用表;(4)交叉引用表是否有效;(5)文件大小;(6)含图片数量;(7)含字体数量;(8)含表格数量;(9)页面数量;(10)是否含JavaScript代码;(11)是否使用OpenAction操作;(12)是否内嵌文件;(13)是否包含Tiff图片格式;(14)是否包含Flash;(15)含有URI数量;(16)URI链接是否直接使用IP地址。
上述的16项特征,即为本发明实施例中所述的预设的文档异常特征。本发明实施例在解析得到待识别文档的异常信息后,分别从中提取上述预设的文档异常特征的每一项的值。在上述16项文档异常特征中,对于“是否”“有无”的项,以“0”“1”的布尔量表示其为“是”或“否”或“有”或“无”,而对于“数量”的项,则以具体数量来表示。按照上述特征提取方法,最后提取得到的文档的异常特征,是一个包含“0”“1”的布尔量和数量的数字序列向量。
可选的,在本发明的另一个实施例中,还公开了上述的根据关键字信息提取得到待识别文档的结构特征的具体处理过程。
所述根据所述关键字信息提取得到所述待识别文档的结构特征,包括:
根据所述关键字信息,统计预设的特征关键字集合中的每个关键字在所述关键字信息中出现的次数,得到所述待识别文档的结构特征;
具体的,所述预设的特征关键字集合,是根据样本文档中的关键字在所述样本文档中出现的期望值对所述样本文档中的关键字进行聚类处理得到的,用于表征文档结构特征的关键字集合。
文档结构中的关键字通常与文件的特征操作相关联,并且主要通过结构关键字来执行对应操作,因此选择特征关键字来表示文档的操作特征是可行的。例如,/Font是正常文档中的特征关键字,主要是因为此关键字与文档中的字体相关联,出现此关键字说明文档内容中会显示不同字体,对于正常文档来说这是合理的,但恶意文档一般不包含具体内容,以轻便简单为要,因此一般不出现此关键字;又如/OpenAction是恶意文档中的特征关键字,其主要功能是执行对象中的打开操作,常用来运行JavaScript代码,这与恶意样本中有90%以上的样本都包含JavaScript相吻合。
现有的文档检测方案主要通过结构路径或文档的逻辑结构树来表征文档的操作特征,其主要问题在于特征复杂,且难以分析实验结果。为此,本发明实施例在其基础上设计了一种较为简便且更具可解释性的操作特征。
不同标签的文档(恶意文档或正常文档),其文档的结构关键字存在一定的差异性。当一个结构关键字在正常文档或恶意文档中出现的概率较大时,该结构关键字可在一定程度上反映文档的标签信息(即文档为正常文档或恶意文档)。更进一步的,当一个结构关键字在正常文档中出现的概率以及频次与在恶意文档中有较大差异时,这个关键字可有效的表征正常文档与恶意文档的差异性。基于这一思路,本发明实施例提出了基于关键字表征力的操作特征提取方法。
该操作特征提取方法的具体处理过程为根据样本文档中的关键字在所述样本文档中出现的期望值对所述样本文档中的关键字进行聚类处理得到特征关键字集合,该特征关键字集合中的关键字用于表示文档的结构特征。
在本发明的另一个实施例中,公开了上述根据样本文档中的关键字在所述样本文档中出现的期望值对所述样本文档中的关键字进行聚类处理得到特征关键字集合的具体处理过程,参见图2所示,该处理过程具体包括:
S201、根据样本文档集合的关键字集合中的每个关键字在所述样本文档集合中出现的概率和出现次数,分别计算得到所述每个关键字在所述样本文档集合中出现的期望值;其中所述样本文档集合包括正常样本文档集合和恶意样本文档集合;
具体的,本发明实施例分别选取设定数量的正常文档构成正常样本文档集合,以及选取设定数量的恶意文档构成恶意样本文档集合。对于上述的正常样本文档集合和恶意样本文档集合,分别提取其中出现的关键字集合。
记Kb,Km分别表示正常样本文档集合与恶意样本文档集合中出现的关键字集合,对于每一个关键字ki,定义其在其所在的样本文档集合中出现的概率为pi,出现的平均次数为ci,因此关键字ki在样本集合中出现的期望值为:
ei=pi×ci
按照上述计算公式,分别计算上述的正常样本文档集合中出现的每个关键字在上述正常样本文档中出现的期望值、在上述恶意样本文档中出现的期望值,以及分别计算上述的恶意样本文档集合中出现的每个关键字在上述恶意样本文档中出现的期望值、在上述正常样本文档中出现的期望值。
其中,上述正常样本文档集合中出现的关键字集合Kb以及上述恶意样本文档集合中出现的关键字集合Km可以是相互独立的关键字集合,也可以是存在重叠关键字的关键字集合,甚至可以是设置的相同的关键字集合。
S202、根据所述每个关键字在所述样本文档集合中出现的期望值,分别计算得到所述每个关键字的表征力;
具体的,上述的关键字的表征力包括良性表征力和恶意表征力。
本发明实施例定义关键字ki的良性表征力和恶意表征力如下:
其中,eib,eim分别表示关键字ki在正常样本文档集合和恶意样本文档集合中出现的期望值。
表征力θ表示的是关键字表征不同类别文档的能力。关键字的良性表征力越大,则说明该关键字在正常文档出现的可能性更大、次数越多,也就是说,关键字的良性表征力表示该关键字所在的文档为正常文档的概率,可作为文档的良性特征;反之,关键字的恶意表征力越大,则说明关键字在恶意文档出现的可能性更大、次数越多,也就是说,关键字的恶意表征力表示该关键字所在的文档为恶意文档的概率,可作为文档的恶意特征。
按照上述计算公式,分别计算得到上述的关键字集合(包括正常样本文档集合与恶意样本文档集合中出现的关键字集合)中的每个关键字的表征力。
S203、根据所述每个关键字的表征力,对所述关键字集合中的关键字进行聚类处理,得到特征关键字集合。
具体的,本发明实施例采用常用的聚类算法,依据步骤S202中计算得到的每个关键字的表征力,对上述的关键字集合中的关键字进行聚类处理。上述的聚类算法,可以是任意的可以实现关键字聚类的算法。
本发明实施例利用k-means算法,依据关键字的表征力θ,计算关键字之间的距离,对样本文档的结构关键字进行聚类,找到阈值t,对关键字进行划分,从而找到对应的特征关键字集合Kt={kii>t}。
需要说明的是,由于本发明实施例在选取样本文档时,是分别选取的正常样本文档集合和恶意样本文档集合,因此在执行上述关键字聚类处理时,可以分别对上述正常样本文档集合的关键字集合进行聚类处理,以及对上述恶意样本文档集合的关键字进行聚类处理,最后再将聚类选取的关键字进行综合整理,得到最终的用于表示文档结构特征的特征关键字集合。
上述聚类算法的具体算法处理程序,可参见表1所示:
表1
利用上述算法,分别对正常样本文档集合和恶意样本文档集合的关键字集合进行提取,最终得到关键字集合Kt及其对应的表征力,用以表示文档的操作特征,极大降低了特征向量的复杂度,并且由于排除了大量冗余关键字,间接的加大了攻击者在正常文档结构基础上构建恶意文档从而绕过检测的难度。算法主要包括计算关键字的表征力、进行K-means聚类、进行特征值关键字集合筛选三个步骤,对应的复杂度分别为:O(|K|),O(2T|K|),O(|K|),其中T为k-means算法中的迭代次数,|K|为关键字数量,因此算法复杂度为O((2+2T)|K|)。
按照上述图2所示的方法得到特征关键字集合,即确定上述预设的特征关键字集合后,当通过步骤S101解析得到待检测文档的关键字信息后,根据解析得到的待检测文档的关键字信息,统计上述的特征关键字集合中的每个关键字在上述关键字信息中出现的次数,得到上述待识别文档的结构特征。
可以理解,统计上述特征关键字集合中的每个关键字在上述关键字信息中出现的次数,所得到的是对应特征关键字集合中的每个关键字的,表示该特征关键字出现次数的数据序列,例如假设某个特征关键字在上述关键字信息中没有出现,则对应该特征关键字的数据值为0,假设某个特征关键字在上述关键字信息中有出现,则对应该特征关键字的数据值为该特征关键字在上述关键字信息中出现的真实次数。最后得到的数据序列作为待检测文档的结构特征向量,即得到了上述待检测文档的结构特征。
可选的,在本发明的另一个实施例中,还公开了根据文档应用程序编程接口调用信息提取得到文档的行为特征的具体处理过程。
所述根据所述文档应用程序编程接口调用信息提取得到所述待识别文档的行为特征,包括:
根据所述文档应用程序编程接口调用信息,统计预设的特征应用程序编程接口调用函数集合中的每个应用程序编程接口调用函数被调用的次数,得到所述待识别文档的行为特征。
具体的,所述预设的特征应用程序编程接口调用函数集合,是根据样本文档中的各个应用程序编程接口调用函数的出现比率对所述样本文档中的各个应用程序编程接口调用函数进行聚类处理得到的,用于表征文档行为特征的应用程序编程接口调用函数集合。
恶意文档中所包含恶意代码往往都会经过复杂的混淆和隐藏,针对JavaScript代码的纯静态分析难以解决代码定位难以及代码混淆等问题,当前最常见的针对恶意文档中JavaScript代码的分析方法是利用SpiderMonkey等工具进行动态分析,这些工具最大的不足在于其识别的标准为JavaScript通用标准,对于特定的JavaScript代码(app.doc.getAnnots、app.plugIns.length等等)无法有效识别。为此,本发明实施例采用了例如PhoneyPDF这一分析框架对文档内嵌JavaScript执行过程进行分析,它是一种基于Adobe DOM仿真的分析框架,可以执行并分析文档中所使用到的各类JavaScript代码。本发明实施例通过对内嵌JavaScript执行过程中的API调用函数进行抽取,设计了基于API调用的行为特征聚合算法,提取出关键API调用信息并以此间接的表征JavaScript代码的行为特征,也就是文档的行为特征。
在本发明的另一个实施例中公开了,根据文档中的各个应用程序编程接口调用函数的出现比率对文档中的各个应用程序编程接口调用函数进行聚类处理得到特征应用程序编程接口调用函数集合的具体处理过程。
参见图3所示,所述根据样本文档中的各个应用程序编程接口调用函数的出现比率对所述样本文档中的各个应用程序编程接口调用函数进行聚类处理得到特征应用程序编程接口调用函数集合,包括:
S301、分别计算得到恶意样本文档和正常样本文档中出现的各个应用程序编程接口调用函数在恶意样本文档和正常样本文档中的出现比率的差异值;
具体的,本发明实施例在事先处理得到特征应用程序编程接口(API)调用函数集合时,同样通过对大量样本文档的API调用函数进行聚类处理,得到能够表征文档的行为特征的多个API调用函数,组成特征API调用函数集合。
上述的大量样本文档,包括恶意样本文档和正常样本文档,对上述恶意样本文档和正常样本文档分别提取出其中包含的各个API调用函数,用作后期分析处理。
本发明实施例以API调用函数在恶意样本文档和正常样本文档中的出现比率的差异程度(差异值)为依据对API调用函数在样本文档中出现的可能性进行分析,并且将上述API调用函数在恶意样本文档和正常样本文档中的出现比率的差异程度命名为API调用函数的有效性权值。
记R为文档标准中所有可能出现的API调用函数集合,N为其元素个数。本发明实施例的目的即为从全集R中筛选出与文档标签(文档为恶意文档或正常文档)相关的API调用函数子集合。
对于任意的r∈R,定义为其有效性权值,其中
API调用函数的有效性权值θ表示的是对应的API调用函数在恶意样本文档和正常样本文档中出现比率的差异程度(差异值),θ越大,则说明其在恶意文档中出现的可能性越大,则可作为恶意文档的特征;反之,θ越小,则说明其在正常文档中出现的可能性越大,可用以作为正常文档的特征。
按照上述计算方法,可以分别计算得到上述的恶意样本文档集合中的各个API调用函数的有效性权值,以及上述的正常样本文档集合中的各个API调用函数的有效性权值。
S302、根据所述各个应用程序编程接口调用函数在恶意样本文档和正常样本文档中的出现比率的差异值,对所述恶意样本文档和正常样本文档中出现的各个应用程序编程接口调用函数进行聚类处理,得特征应用程序编程接口调用函数集合。
具体的,在通过步骤S301分别计算得到上述的恶意样本文档集合中的各个API调用函数的有效性权值,以及上述的正常样本文档集合中的各个API调用函数的有效性权值,即得到各个API调用函数在恶意样本文档和正常样本文档中的出现比率的差异值后,本发明实施例进一步根据各个API调用函数的有效性权值,对各个API调用函数进行聚类处理,从中得到能够表征文档行为特征的API调用函数,组成特征API调用函数集合。
对于上述的聚类处理,可以采用任意适用的聚类算法实现。在本发明实施例中,选取k-means聚类算法实现。
具体的,本发明实施例利用k-means算法,根据有效性权值θ,计算对应的欧氏距离,对训练样本的API调用函数进行聚类,找到阈值t2将其分为两个簇(聚类结果数量k=2),则对应的子集Rt={rj||θj|>t},为最终聚类得到的特征API调用函数集合。
上述的采用k-means聚类算法实现对API调用函数的聚类处理的具体处理程序如表2所示:
表2
按照上述计算方法,分别从恶意样本文档集合的API调用函数集合中提取出能够表征恶意文档的特征API调用函数集合,以及从正常样本文档集合的API调用函数集合中提取出能够表征正常样本文档的API调用函数集合,最后将上述的能够表征恶意文档的特征API调用函数集合和能够表征正常样本文档的API调用函数集合组合为一个API调用函数集合,即作为能够表征文档类型(文档为恶意文档或正常文档)的特征API调用函数集合。
在上述的特征API调用函数提取算法中,主要包含有效性权值计算、k-means聚类、特征API集合筛选三个步骤,其复杂度分别O(|R||D|)、O(2T|R|)、O(|R|),其中,|R|为API调用数量,|D|为样本数量,T为k-means算法迭代次数,由于一般情况下算法的迭代轮数远小于样本集合大小,因此算法的复杂度为O(|R||D|)。为了提升算法的效率,使用样本中出现的所有API调用函数集合来代替文档可能出现的API调用函数集合R,从而在一定程度上降低了计算的复杂度。
按照上述图3所示的方法得到特征API调用函数集合,即得到上述预设的特征API调用函数集合后,当通过步骤S101解析得到待检测文档的API调用信息后,根据解析得到的待检测文档的API调用信息,统计上述的特征API调用函数集合中的每个API调用函数在上述待检测文档的API调用信息中出现的次数,得到上述待识别文档的行为特征。
可以理解,统计上述特征API调用函数集合中的每个API调用函数在上述待检测文档的API调用信息中出现的次数,所得到的是对应特征API调用函数集合中的每个API调用函数的,表示该API调用函数出现次数的数据序列,例如假设某个API调用函数在上述待检测文档的API调用信息中没有出现,则对应该API调用函数的数据值为0,假设某个API调用函数在上述待检测文档的API调用信息中有出现,则对应该API调用函数的数据值为该API调用函数在上述待检测文档的API调用信息中出现的真实次数。最后得到的数据序列作为待检测文档的行为特征向量,即得到了上述待检测文档的行为特征。
综上所述,综合上述各个实施例技术方案,可以实现对文档的信息解析、特征提取、特征组合处理,得到文档的混合特征向量。上述的本发明实施例技术方案的整体处理过程可参见图4所示,对于大量的样本文档来说,按照上述方法得到样本文档的混合特征向量,输入构建的恶意文档检测模型即可实现对模型的训练,而对于测试样本文档来说,按照上述方法得到的测试文档的混合特征向量,输入上述经过训练的恶意文档检测模型,可以识别该测试文档为正常文档还是恶意文档。
本发明另一实施例还公开了一种识别恶意文档的装置,参见图5所示,该装置包括:
文档解析单元100,用于对待识别文档进行解析得到所述待识别文档的文档异常信息、关键字信息和文档应用程序编程接口调用信息;
特征提取单元110,用于分别根据所述文档异常信息提取得到所述待识别文档的异常特征、根据所述关键字信息提取得到所述待识别文档的结构特征、以及根据所述文档应用程序编程接口调用信息提取得到所述待识别文档的行为特征;
特征处理单元120,用于将所述异常特征、结构特征和行为特征进行组合处理得到所述待识别文档的混合特征向量;
文档识别单元130,用于将所述混合特征向量输入经过训练的恶意文档检测模型,识别所述待识别文档是否为恶意文档。
其中,所述特征提取单元110根据所述文档异常信息提取得到所述待识别文档的异常特征时,具体用于:
从所述文档异常信息中,提取与预设的文档异常特征相关的信息,得到所述待识别文档的异常特征;其中,所述预设的文档异常特征基于对恶意样本文档和正常样本文档进行特征统计而确定。
所述特征提取单元110根据所述关键字信息提取得到所述待识别文档的结构特征时,具体用于:
根据所述关键字信息,统计预设的特征关键字集合中的每个关键字在所述关键字信息中出现的次数,得到所述待识别文档的结构特征;其中,所述预设的特征关键字集合,是根据样本文档中的关键字在所述样本文档中出现的期望值对所述样本文档中的关键字进行聚类处理得到的,用于表征文档结构特征的关键字集合。
所述特征提取单元110根据所述文档应用程序编程接口调用信息提取得到所述待识别文档的行为特征时,具体用于:
根据所述文档应用程序编程接口调用信息,统计预设的特征应用程序编程接口调用函数集合中的每个应用程序编程接口调用函数被调用的次数,得到所述待识别文档的行为特征;其中,所述预设的特征应用程序编程接口调用函数集合,是根据样本文档中的各个应用程序编程接口调用函数的出现比率对所述样本文档中的各个应用程序编程接口调用函数进行聚类处理得到的,用于表征文档行为特征的应用程序编程接口调用函数集合。
具体的,上述实施例中的各个单元的具体工作内容,请参见上述方法实施例的内容,此处不再赘述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种识别恶意文档的方法,其特征在于,包括:
对待识别文档进行解析得到所述待识别文档的文档异常信息、关键字信息和文档应用程序编程接口调用信息;
分别根据所述文档异常信息提取得到所述待识别文档的异常特征、根据所述关键字信息提取得到所述待识别文档的结构特征、以及根据所述文档应用程序编程接口调用信息提取得到所述待识别文档的行为特征;
将所述异常特征、结构特征和行为特征进行组合处理得到所述待识别文档的混合特征向量;
将所述混合特征向量输入经过训练的恶意文档检测模型,识别所述待识别文档是否为恶意文档。
2.根据权利要求1所述的方法,其特征在于,所述根据所述文档异常信息提取得到所述待识别文档的异常特征,包括:
从所述文档异常信息中,提取与预设的文档异常特征相关的信息,得到所述待识别文档的异常特征;其中,所述预设的文档异常特征基于对恶意样本文档和正常样本文档进行特征统计而确定。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述关键字信息提取得到所述待识别文档的结构特征,包括:
根据所述关键字信息,统计预设的特征关键字集合中的每个关键字在所述关键字信息中出现的次数,得到所述待识别文档的结构特征;其中,所述预设的特征关键字集合,是根据样本文档中的关键字在所述样本文档中出现的期望值对所述样本文档中的关键字进行聚类处理得到的,用于表征文档结构特征的关键字集合。
4.根据权利要求1或2所述的方法,其特征在于,所述根据所述文档应用程序编程接口调用信息提取得到所述待识别文档的行为特征,包括:
根据所述文档应用程序编程接口调用信息,统计预设的特征应用程序编程接口调用函数集合中的每个应用程序编程接口调用函数被调用的次数,得到所述待识别文档的行为特征;其中,所述预设的特征应用程序编程接口调用函数集合,是根据样本文档中的各个应用程序编程接口调用函数的出现比率对所述样本文档中的各个应用程序编程接口调用函数进行聚类处理得到的,用于表征文档行为特征的应用程序编程接口调用函数集合。
5.根据权利要求3所述的方法,其特征在于,根据样本文档中的关键字在所述样本文档中出现的期望值对所述样本文档中的关键字进行聚类处理得到特征关键字集合,包括:
根据样本文档集合的关键字集合中的每个关键字在所述样本文档集合中出现的概率和出现次数,分别计算得到所述每个关键字在所述样本文档集合中出现的期望值;其中所述样本文档集合包括正常样本文档集合和恶意样本文档集合;
根据所述每个关键字在所述样本文档集合中出现的期望值,分别计算得到所述每个关键字的表征力;其中,所述表征力包括良性表征力和恶意表征力,所述良性表征力用于表示关键字所在的文档为正常文档的概率,所述恶意表征力用于表示关键字所在的文档为恶意文档的概率;
根据所述每个关键字的表征力,对所述关键字集合中的关键字进行聚类处理,得到特征关键字集合;其中,所述特征关键字集合包括正常文档特征关键字集合和恶意文档特征关键字集合。
6.根据权利要求4所述的方法,其特征在于,根据样本文档中的各个应用程序编程接口调用函数的出现比率对所述样本文档中的各个应用程序编程接口调用函数进行聚类处理得到特征应用程序编程接口调用函数集合,包括:
分别计算得到恶意样本文档和正常样本文档中出现的各个应用程序编程接口调用函数在恶意样本文档和正常样本文档中的出现比率的差异值;
根据所述各个应用程序编程接口调用函数在恶意样本文档和正常样本文档中的出现比率的差异值,对所述恶意样本文档和正常样本文档中出现的各个应用程序编程接口调用函数进行聚类处理,得特征应用程序编程接口调用函数集合。
7.一种识别恶意文档的装置,其特征在于,包括:
文档解析单元,用于对待识别文档进行解析得到所述待识别文档的文档异常信息、关键字信息和文档应用程序编程接口调用信息;
特征提取单元,用于分别根据所述文档异常信息提取得到所述待识别文档的异常特征、根据所述关键字信息提取得到所述待识别文档的结构特征、以及根据所述文档应用程序编程接口调用信息提取得到所述待识别文档的行为特征;
特征处理单元,用于将所述异常特征、结构特征和行为特征进行组合处理得到所述待识别文档的混合特征向量;
文档识别单元,用于将所述混合特征向量输入经过训练的恶意文档检测模型,识别所述待识别文档是否为恶意文档。
8.根据权利要求7所述的装置,其特征在于,所述特征提取单元根据所述文档异常信息提取得到所述待识别文档的异常特征时,具体用于:
从所述文档异常信息中,提取与预设的文档异常特征相关的信息,得到所述待识别文档的异常特征;其中,所述预设的文档异常特征基于对恶意样本文档和正常样本文档进行特征统计而确定。
9.根据权利要求7或8所述的装置,其特征在于,所述特征提取单元根据所述关键字信息提取得到所述待识别文档的结构特征时,具体用于:
根据所述关键字信息,统计预设的特征关键字集合中的每个关键字在所述关键字信息中出现的次数,得到所述待识别文档的结构特征;其中,所述预设的特征关键字集合,是根据样本文档中的关键字在所述样本文档中出现的期望值对所述样本文档中的关键字进行聚类处理得到的,用于表征文档结构特征的关键字集合。
10.根据权利要求7或8所述的装置,其特征在于,所述特征提取单元根据所述文档应用程序编程接口调用信息提取得到所述待识别文档的行为特征时,具体用于:
根据所述文档应用程序编程接口调用信息,统计预设的特征应用程序编程接口调用函数集合中的每个应用程序编程接口调用函数被调用的次数,得到所述待识别文档的行为特征;其中,所述预设的特征应用程序编程接口调用函数集合,是根据样本文档中的各个应用程序编程接口调用函数的出现比率对所述样本文档中的各个应用程序编程接口调用函数进行聚类处理得到的,用于表征文档行为特征的应用程序编程接口调用函数集合。
CN201810777408.8A 2018-07-16 2018-07-16 一种识别恶意文档的方法及装置 Active CN108985064B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810777408.8A CN108985064B (zh) 2018-07-16 2018-07-16 一种识别恶意文档的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810777408.8A CN108985064B (zh) 2018-07-16 2018-07-16 一种识别恶意文档的方法及装置

Publications (2)

Publication Number Publication Date
CN108985064A true CN108985064A (zh) 2018-12-11
CN108985064B CN108985064B (zh) 2023-10-20

Family

ID=64549050

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810777408.8A Active CN108985064B (zh) 2018-07-16 2018-07-16 一种识别恶意文档的方法及装置

Country Status (1)

Country Link
CN (1) CN108985064B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109858248A (zh) * 2018-12-26 2019-06-07 中国科学院信息工程研究所 恶意Word文档检测方法和装置
CN111723373A (zh) * 2019-03-19 2020-09-29 国家计算机网络与信息安全管理中心 复合式二进制文档的漏洞利用文件检测方法及装置
CN111859896A (zh) * 2019-04-01 2020-10-30 长鑫存储技术有限公司 配方文档检测方法、装置、计算机可读介质及电子设备
CN112231696A (zh) * 2020-10-30 2021-01-15 奇安信科技集团股份有限公司 恶意样本的识别方法、装置、计算设备以及介质
CN112241530A (zh) * 2019-07-19 2021-01-19 中国人民解放军战略支援部队信息工程大学 恶意pdf文档的检测方法及电子设备
CN112329012A (zh) * 2019-07-19 2021-02-05 中国人民解放军战略支援部队信息工程大学 针对包含JavaScript的恶意PDF文档的检测方法及电子设备
CN112487422A (zh) * 2020-10-28 2021-03-12 中国科学院信息工程研究所 一种恶意文档检测方法、装置、电子设备及存储介质
CN113190847A (zh) * 2021-04-14 2021-07-30 深信服科技股份有限公司 一种脚本文件的混淆检测方法、装置、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1625121A (zh) * 2003-12-05 2005-06-08 中国科学技术大学 一种分层协同的网络病毒和恶意代码识别方法
US20100223671A1 (en) * 2009-03-02 2010-09-02 Fujitsu Limited Document checking apparatus, computer-readable recording medium, and document checking method
US20130145466A1 (en) * 2011-12-06 2013-06-06 Raytheon Company System And Method For Detecting Malware In Documents
US20130160127A1 (en) * 2011-12-14 2013-06-20 Korea Internet & Security Agency System and method for detecting malicious code of pdf document type
CN103310150A (zh) * 2012-03-13 2013-09-18 百度在线网络技术(北京)有限公司 一种检测pdf漏洞的方法和装置
CN106228068A (zh) * 2016-07-21 2016-12-14 江西师范大学 基于混合特征的Android恶意代码检测方法
CN106599118A (zh) * 2016-11-30 2017-04-26 四川用联信息技术有限公司 一种改进的密度聚类算法实现搜索引擎关键词优化
CN107944273A (zh) * 2017-12-14 2018-04-20 贵州航天计量测试技术研究所 一种基于tf‑idf算法和svdd算法的恶意pdf文档检测方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1625121A (zh) * 2003-12-05 2005-06-08 中国科学技术大学 一种分层协同的网络病毒和恶意代码识别方法
US20100223671A1 (en) * 2009-03-02 2010-09-02 Fujitsu Limited Document checking apparatus, computer-readable recording medium, and document checking method
US20130145466A1 (en) * 2011-12-06 2013-06-06 Raytheon Company System And Method For Detecting Malware In Documents
US20130160127A1 (en) * 2011-12-14 2013-06-20 Korea Internet & Security Agency System and method for detecting malicious code of pdf document type
CN103310150A (zh) * 2012-03-13 2013-09-18 百度在线网络技术(北京)有限公司 一种检测pdf漏洞的方法和装置
CN106228068A (zh) * 2016-07-21 2016-12-14 江西师范大学 基于混合特征的Android恶意代码检测方法
CN106599118A (zh) * 2016-11-30 2017-04-26 四川用联信息技术有限公司 一种改进的密度聚类算法实现搜索引擎关键词优化
CN107944273A (zh) * 2017-12-14 2018-04-20 贵州航天计量测试技术研究所 一种基于tf‑idf算法和svdd算法的恶意pdf文档检测方法

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
DAVIDE MAIORCA等: "A Structural and Content-based Approach for a Precise and Robust Detection of Malicious PDF Files", 《2015 INTERNATIONAL CONFERENCE ON INFORMATION SYSTEMS SECURITY AND PRIVACY (ICISSP)》 *
DAVIDE MAIORCA等: "A Structural and Content-based Approach for a Precise and Robust Detection of Malicious PDF Files", 《2015 INTERNATIONAL CONFERENCE ON INFORMATION SYSTEMS SECURITY AND PRIVACY (ICISSP)》, 11 February 2015 (2015-02-11), pages 22 - 32 *
IGINO CORONA等: "Lux0r: Detection of malicious pdf-embedded javascript code through discriminant analysis of api references", 《PROCEEDINGS OF THE 2014 WORKSHOP ON ARTIFICIAL INTELLIGENT AND SECURITY WORKSHOP》 *
IGINO CORONA等: "Lux0r: Detection of malicious pdf-embedded javascript code through discriminant analysis of api references", 《PROCEEDINGS OF THE 2014 WORKSHOP ON ARTIFICIAL INTELLIGENT AND SECURITY WORKSHOP》, 7 November 2014 (2014-11-07), pages 27 - 30 *
MICHELE ELINGIUSTI等: "PDF-Malware Detection: A Survey and Taxonomy of Current Techniques", 《CYBER THREAT INTELLIGENCE》 *
MICHELE ELINGIUSTI等: "PDF-Malware Detection: A Survey and Taxonomy of Current Techniques", 《CYBER THREAT INTELLIGENCE》, 24 April 2018 (2018-04-24), pages 169 - 191 *
董立勉等: "一种基于机器学习的分布式恶意代码检测方法", 《情报工程》 *
董立勉等: "一种基于机器学习的分布式恶意代码检测方法", 《情报工程》, vol. 1, no. 6, 31 December 2015 (2015-12-31), pages 90 - 101 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109858248A (zh) * 2018-12-26 2019-06-07 中国科学院信息工程研究所 恶意Word文档检测方法和装置
CN109858248B (zh) * 2018-12-26 2021-06-29 中国科学院信息工程研究所 恶意Word文档检测方法和装置
CN111723373A (zh) * 2019-03-19 2020-09-29 国家计算机网络与信息安全管理中心 复合式二进制文档的漏洞利用文件检测方法及装置
CN111859896A (zh) * 2019-04-01 2020-10-30 长鑫存储技术有限公司 配方文档检测方法、装置、计算机可读介质及电子设备
CN112241530A (zh) * 2019-07-19 2021-01-19 中国人民解放军战略支援部队信息工程大学 恶意pdf文档的检测方法及电子设备
CN112329012A (zh) * 2019-07-19 2021-02-05 中国人民解放军战略支援部队信息工程大学 针对包含JavaScript的恶意PDF文档的检测方法及电子设备
CN112329012B (zh) * 2019-07-19 2023-05-30 中国人民解放军战略支援部队信息工程大学 针对包含JavaScript的恶意PDF文档的检测方法及电子设备
CN112487422A (zh) * 2020-10-28 2021-03-12 中国科学院信息工程研究所 一种恶意文档检测方法、装置、电子设备及存储介质
CN112487422B (zh) * 2020-10-28 2023-04-04 中国科学院信息工程研究所 一种恶意文档检测方法、装置、电子设备及存储介质
CN112231696A (zh) * 2020-10-30 2021-01-15 奇安信科技集团股份有限公司 恶意样本的识别方法、装置、计算设备以及介质
CN113190847A (zh) * 2021-04-14 2021-07-30 深信服科技股份有限公司 一种脚本文件的混淆检测方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN108985064B (zh) 2023-10-20

Similar Documents

Publication Publication Date Title
CN108985064A (zh) 一种识别恶意文档的方法及装置
Maiorca et al. R-PackDroid: API package-based characterization and detection of mobile ransomware
CN109101469B (zh) 从数字化文档提取可搜索的信息
US20200019492A1 (en) Generating executable test automation code automatically according to a test case
US8838992B1 (en) Identification of normal scripts in computer systems
US20180157670A1 (en) Static Feature Extraction From Structured Files
US20160261618A1 (en) System and method for selectively evolving phishing detection rules
US20170214704A1 (en) Method and device for feature extraction
CN109598124A (zh) 一种webshell检测方法以及装置
CN102841999B (zh) 一种文件宏病毒的检测方法和装置
CN104243486B (zh) 一种病毒检测方法及系统
CN105653984B (zh) 文件指纹校验方法及装置
CN105224600B (zh) 一种样本相似度的检测方法及装置
CN106572117A (zh) 一种WebShell文件的检测方法和装置
WO2011032094A1 (en) Extracting information from unstructured data and mapping the information to a structured schema using the naive bayesian probability model
US10049032B2 (en) Methods for generating a negative test input data and devices thereof
CN111639284A (zh) 网页标注方法、装置、电子设备及介质
CN105577528B (zh) 一种基于虚拟机的微信公众号数据采集方法及装置
Villanes et al. What are software engineers asking about android testing on stack overflow?
CN105653949B (zh) 一种恶意程序检测方法及装置
CN109858248A (zh) 恶意Word文档检测方法和装置
CN111651768B (zh) 计算机二进制程序的链接库函数名识别方法及装置
WO2020082763A1 (zh) 基于决策树的钓鱼网站检测方法、装置及计算机设备
US20150286706A1 (en) Forensic system, forensic method, and forensic program
Lu et al. Malicious word document detection based on multi-view features learning

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant