CN112241530B - 恶意pdf文档的检测方法及电子设备 - Google Patents

恶意pdf文档的检测方法及电子设备 Download PDF

Info

Publication number
CN112241530B
CN112241530B CN201910655086.4A CN201910655086A CN112241530B CN 112241530 B CN112241530 B CN 112241530B CN 201910655086 A CN201910655086 A CN 201910655086A CN 112241530 B CN112241530 B CN 112241530B
Authority
CN
China
Prior art keywords
pdf document
malicious
tree structure
matrix
extracting
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.)
Active
Application number
CN201910655086.4A
Other languages
English (en)
Other versions
CN112241530A (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 CN201910655086.4A priority Critical patent/CN112241530B/zh
Publication of CN112241530A publication Critical patent/CN112241530A/zh
Application granted granted Critical
Publication of CN112241530B publication Critical patent/CN112241530B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Virology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提出了一种恶意PDF文档的检测方法及电子设备,检测方法包括:提取PDF文档的树形结构,并基于树形结构生成结构矩阵;对树形结构的节点的对象内容进行特征提取,得到特征数据;将特征数据输入预先构建的检测模型处理以得到分类结果;将分类结果和结构矩阵合并成扩展矩阵并输入卷积神经网络;卷积神经网络输出PDF文档的检测结果。根据本发明实施例的恶意PDF文档的检测方法,基于PDF文档结构和内容进行了两阶段的检测,有效提高了恶意PDF检测的准确性和可靠性。

Description

恶意PDF文档的检测方法及电子设备
技术领域
本发明涉及计算机技术领域,尤其涉及一种恶意PDF文档的检测方法及电子设备。
背景技术
由于便携式文档格式(PDF)因其效率高和稳定性好而被广泛用于文档交换,PDF文件已成为网络攻击的重要载体。典型的情况是使用针对政府和大型企业的电子邮件进行网络钓鱼攻击。由于大多数邮件服务器会出于安全原因阻止附加到电子邮件的可执行文件,因此PDF文件在最近的网络攻击中扮演着越来越重要的角色。普通用户认为非可执行文件比可执行文件更安全,从而减少了对电子邮件接收文件的怀疑。但是,PDF文件与可执行文件一样危险,攻击者可以利用文档格式的漏洞获取对主机的非法访问权限。
PDF文件不安全的一个重要原因来自Adobe Reader(使用最广泛的PDF阅读器)所允许的丰富功能,尤其是它对JavaScript的支持。此功能增强了PDF文档的功能,使PDF能够执行复杂的任务,如表单验证和计算。但是,它还通过利用Adobe JavaScript引擎中的漏洞为攻击者提供了运行任意代码的能力。
传统的恶意PDF检测算法在特征提取上相对主观,所选取的特征与分类结果虽然具有较强的相关性,在测试集上分类的准确率也较高,但该结果成立的前提是测试样本在所选取的特征上与训练集上有相同的概率密度分布。在攻击者对分类器所使用的特征有所了解的情况下,攻击者尝试对样本进行修改并伪造特征值,因而假设被打破,分类的准确率会迅速下降。
在对PDF分类准确率较高的前提下,提高分类器的鲁棒性。即使攻击者能够了解到分类器的部分设计细节,也能大大增加攻击者制造逃逸样本的难度,降低分类器受到敌对攻击的影响。
相关技术中,大多数检测技术都基于签名和刚性启发式。因此,他们无法检测出对现有恶意文件进行微小修改的文件。机器学习方法在检测垃圾邮件、恶意软件和网络入侵方面很受欢迎,它们也可用于对PDF文件进行分类。现有的机器学习算法采用静态和动态特征来训练PDF分类模型。不同之处在于静态特征向量可以通过处理文档直接获得,而动态特征向量是通过监视在构建的虚拟环境中运行的样本的行为而获得的。一般来说,静态特征的缺点是很难检测出混淆和加密以及隐藏较深恶意代码,而动态特征的获取需要构建大量异构操作环境,这些操作环境需要大量的资源开销并且易于通过时间延迟、互动操作和其他技术来规避。这些模型非常出色,因为它们在测试数据集上实现了高精度。使用路径结构特征的模型在PDF恶意软件分类任务中实现了超过99%的准确性。但是,AutoEvader表明,在不损坏恶意功能的前提下,对恶意PDF文件进行微小结构修改,可以100%逃脱检测***。针对基于机器学习的分类器的模仿攻击和反向模仿攻击是非常有效的。
发明内容
本发明要解决的技术问题是如何提高恶意PDF文档检测的准确性,本发明提出了一种恶意PDF文档的检测方法及电子设备。
根据本发明实施例的恶意PDF文档的检测方法,包括:
提取PDF文档的树形结构,并基于所述树形结构生成结构矩阵;
对所述树形结构的节点的对象内容进行特征提取,得到特征数据;
将所述特征数据输入预先构建的检测模型处理以得到分类结果;
将所述分类结果和所述结构矩阵合并成扩展矩阵并输入卷积神经网络;
所述卷积神经网络输出所述PDF文档的检测结果。
根据本发明实施例的恶意PDF文档的检测方法,基于PDF文档结构和内容进行了两阶段的检测,有效提高了恶意PDF检测的准确性和可靠性。其中,通过提取PDF树形结构并生成结构矩阵,可以获取PDF文档的结构方面的特征信息。通过对节点内容进行特征提取,可以获取PDF文档的内容方面的特征信息。而且,内容方面的特征信息可以经过检测模型处理获得分类结果。最后,通过将分类结果和结构特征合并成扩展矩阵输入卷积神经网络,得到PDF文档的检测结果。
根据本发明的一些实施例,所述提取PDF文档的树形结构,并基于所述树形结构生成结构矩阵,包括:
提取所述PDF文档的树形结构,基于所述树形结构生成邻接矩阵;
根据所述节点的对象类型对所述节点进行分类,基于分类结果将所述邻接矩阵转化为所述结构矩阵。
在本发明的一些实施例中,所述对所述树形结构的节点的对象内容进行特征提取,得到特征数据,包括:
对所述节点的对象内容按照预设的规则进行替换以得到替换数据;
采用语言模型对所述替换数据进行特征提取;
基于所述特征的出现频率对所述特征进行选取以生成特征数据。
根据本发明的一些实施例,所述对所述节点的对象内容按照预设的规则进行替换以得到替换数据,包括:
对所述节点的内容的字符集进行分类;
建立与每类字符集对应的映射字符,并采用所述映射字符替换每类所述字符集内的字符。
在本发明的一些实施例中,所述映射字符的个数小于30个。
根据本发明的一些实施例,所述语言模型为n-gram模型。
在本发明的一些实施例中,所述特征数据输入预先构建的检测模型处理以得到分类结果,包括:
采用聚类方法确定聚类数目和聚类中心;
计算所述特征数据与对应类别的聚类中心的距离;
根据所述距离得到所述分类结果。
根据本发明的一些实施例,所述预先构建的检测模型的生成方法,包括:
基于所述节点的对象类型对所述节点进行分类;
基于多中心聚类方法对每种类型的所述节点进行训练得到所述检测模型。
根据本发明实施例的计算机可读存储介质,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现上述所述的恶意PDF文档的检测方法的步骤。
根据本发明实施例的计算机可读存储介质,通过执行恶意PDF文档的检测方法,基于PDF文档结构和内容进行了两阶段的检测,有效提高了恶意PDF检测的准确性和可靠性。
根据本发明实施例的电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述所述的恶意PDF文档的检测方法的步骤。
根据本发明实施例的电子设备,通过执行恶意PDF文档的检测方法,基于PDF文档结构和内容进行了两阶段的检测,有效提高了恶意PDF检测的准确性和可靠性。
附图说明
图1是根据本发明实施例的恶意PDF文档的检测方法的流程图;
图2是根据本发明实施例的生成结构矩阵的方法流程图;
图3是根据本发明实施例的生成特征数据的方法流程图;
图4是根据本发明实施例的节点字符集替换的方法流程图;
图5是根据本发明实施例的特征分类的方法流程图;
图6是根据本发明实施例的检测模型生成方法的流程图;
图7是根据本发明实施例的根据本发明实施例的恶意PDF文档检测模型的结构示意图;
图8是根据本发明实施例的卷积神经网络算法的结构示意图。
具体实施方式
为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。
如图1所示,根据本发明根据本发明实施例的恶意PDF文档的检测方法,包括:
S101:提取PDF文档的树形结构,并基于树形结构生成结构矩阵;
需要说明的是,通过提取PDF文档的树形结构,根据树形结构可以生成结构矩阵。由此,可以获取PDF文档的结构方面的特征信息。
S102:对树形结构的节点的对象内容进行特征提取,得到特征数据;
需要说明的是,通过对树形结构的节点的对象内容进行特征提取得到特征数据,由此,可以获取PDF文档的内容方面的特征信息。
S103:将特征数据输入预先构建的检测模型处理以得到分类结果;
需要说明的是,通过将特征数据输入预先构建的检测模型处理,可以对PDF内容方面的特征信息进行分类,得到PDF内容方面的特征分析结果。
S104:将分类结果和结构矩阵合并成扩展矩阵并输入卷积神经网络;
也就是说,在获取PDF文档的结构特征和内容特征后,将结构特征和内容特征结合作为卷积神经网络的输入。由此,可以提高恶意PDF文档的检测的准确性和可靠性。
S105:卷积神经网络输出PDF文档的检测结果。
需要说明的是,本申请中对上述步骤S101至S105的执行顺序不做限定。也就是说,本申请中,并非必须按照S101至S105的顺序有序执行。
根据本发明实施例的恶意PDF文档的检测方法,基于PDF文档结构和内容进行了两阶段的检测,有效提高了恶意PDF检测的准确性和可靠性。其中,通过提取PDF树形结构并生成结构矩阵,可以获取PDF文档的结构方面的特征信息。通过对节点内容进行特征提取,可以获取PDF文档的内容方面的特征信息。而且,内容方面的特征信息可以经过检测模型处理获得分类结果。最后,通过将分类结果和结构特征合并成扩展矩阵输入卷积神经网络,得到PDF文档的检测结果。
如图2所示,根据本发明的一些实施例,提取PDF文档的树形结构,并基于树形结构生成结构矩阵,包括:
S201:提取PDF文档的树形结构,基于树形结构生成邻接矩阵;
S202:根据节点的对象类型对节点进行分类,基于分类结果将邻接矩阵转化为结构矩阵。
需要说明的是,PDF文件具有树状逻辑结构,其由各种基本对象之间的关系构成。相关技术中,关注的是结构路径特征,即从根节点到叶节点的垂直关系,但水平关系并未引起注意。共享相同父节点或祖先节点的节点之间的并行关系将丢失。本发明对垂直和水平连接进行了综合考虑。PDF文件的结构可以用邻接矩阵描述,邻接矩阵是描述图的经典工具。
为了在水平和垂直方向上提取结构矩阵的局部特征,我们将卷积神经网络(CNN)应用于PDF文件的分类。CNN在图像分类方面取得了最先进的性能,可以使用卷积核来提取图像的局部特征。此外,应用了许多技术来增强分类器的鲁棒性,并且PDF格式的性质限制降低了结构矩阵中元素的自由度,这使得分类器更加健壮。结构矩阵和图像都是结构上的二维阵列,因此卷积神经网络由于它们的相似性也可以捕获文件结构在水平和垂直方向上的关系。
PDF文档的节点对象包括多种类型,如字体对象、页面对象等。基于树形结构生成邻接矩阵后,可以根据节点的对象类型进行分类和合并,将相同和相似的对象合并为同一类。这里所述的相似的对象可以理解为功能相似的对象,例如,可以将不同字体的对象均归为同一类。通过分类和合并处理后,可以对邻接矩阵进行降维,以得到结构矩阵。
结构矩阵的提取被如下述算法1所示:
算法1结构特征的提取
Figure BDA0002136625800000071
首先将PDF结构表示为邻接矩阵,然后将具有相似功能的类型合并成一个,然后过滤具有低频率的类型。最后将所选类型的笛卡尔积构成结构矩阵。由此,可以降低PDF文档检测的数据处理量,提高检测效率。
在本发明的一些实施例中,如图3所示,对树形结构的节点的对象内容进行特征提取,得到特征数据,包括:
S301:对节点的对象内容按照预设的规则进行替换以得到替换数据。
需要说明的是,在对对象的内容解密和解压缩后可以获取节点对象的内容,通过对对象的内容进行替换,可以有效对数据进行降维,从而有利于降低PDF检测方法的计算量,提高PDF检测方法的检测效率。
S302:采用语言模型对替换数据进行特征提取;
例如,在本发明的一些实施例中,可以采用n-gram模型对替换数据进行特征提取。其中,“n-gram模型”为本领域成熟语言模型,具体执行方式在此不再赘述。
S303:基于特征的出现频率对特征进行选取以生成特征数据。
需要说明的是,可以根据特征出现的频率对特征进行选取。例如,可以选择出现频率超过阈值的特征作为特征数据。由此,可以使特征数据得到降维。
例如,对PDF文档中的JavaScript代码的特征提取可以采用如下算法2:
算法2对Javascript的特征提取算法
Figure BDA0002136625800000081
JavaScript代码从样本中提取,首先根据上述算法进行处理。其次,将n-gram方法应用于替换序列并生成用于分类的特征。然后设置阈值以过滤训练数据集中发生频率较低的特征。具体方法如上述算法所示。对选取的特征使用随机深林和支持向量机模型进行训练,得到分类准确率较高的分类器模型。
根据本发明的一些实施例,如图4所示,对节点的对象内容按照预设的规则进行替换以得到替换数据,包括:
S401:对节点的内容的字符集进行分类;
S402:建立与每类字符集对应的映射字符,并采用映射字符替换每类字符集内的字符。
在本发明的一些实施例中,映射字符的个数小于30个。由此,通过替换,可以使字符类型数目小于30,并且特征对代码混淆的变化不太敏感,这不仅提高了鲁棒性,而且降低了特征维数减少的难度。
需要说明的是,相关技术中,直接对恶意软件的字节序列进行n-gram分析,但由于复杂的文件格式和编码,n-gram的应用没有意义。随着n的增加,特征尺寸迅速***。例如,当n=3时,有超过两百万个特征,这给特征选择和降维带来了困难。
另外,如果应用上述方法,一个字符的修改都将可能导致许多特征的改变,这增加了特征向量值的灵敏度,并降低了特征稳定性和鲁棒性,因此,通过简单的代码混淆容易逃避训练的分类器模型。
本发明中,为了减少字符空间并减少代码混淆的影响,对字符集进行分类并用类型替换。针对可见的ASCII码字符集进行分类,建立将可见字符集的特征空间由128降到30以下的映射。
例如,本申请中可以采用如下表中的替换规则对节点中JavaScript代码的内容的字符集进行替换:
类型 示例 替换成
空白字符 \n\r\t none
大写字母 A-Z A
小写字母 a-z B
数字 0-9 C
小括号 () D
中括号 [] E
大括号 {} F
比较 ><<=>=== G
分隔符 ,,.:; H
关键词 if else while for I
运算 +-+=-==… J
逻辑运算 &&||and or K
引号 ’” L
可以理解的是,通过采用上述替换规则对节点的内容进行替换,可以达到降维和降低单个字符变动引起特征值变化的敏感性的目的。
在本发明的一些实施例中,如图5所示,特征数据输入预先构建的检测模型处理以得到分类结果,包括:
S501:采用聚类方法确定聚类数目和聚类中心;
需要说明的是,聚类方法可以采用本领域成熟的多中心聚类方法,通过聚类方法可以确定聚类数目和聚类中心。具体实现过程为本领域常规技术手段,在此不再进行赘述。
S502:计算特征数据与对应类别的聚类中心的距离;
S503:根据距离得到分类结果。
也就是说,在获取聚类数目和聚类中心后,可以通过计算特征数据所属的类型的聚类中心的距离获得特征数据的分类结果。由此,可以在对PDF分类准确率较高的前提下,提高分类器的鲁棒性。即使攻击者能够了解到分类器的部分设计细节,也能大大增加攻击者制造逃逸样本的难度,降低分类器受到敌对攻击的影响。
根据本发明的一些实施例,如图6所示,预先构建的检测模型的生成方法,包括:
S601:基于节点的对象类型对节点进行分类;
S602:基于多中心聚类方法对每种类型的节点进行训练得到检测模型。
需要说明的是,对象在解码和解密之后被提取并且首先根据它们的类型(例如/Catalog,/Action等)单独地组织。与JavaScript代码不同,很难确定恶意代码是否隐藏在其中,因为与整个文件的对象数量相比,恶意对象的数量非常少,并且需要大量的人工识别来定位恶意对象。因此,特征提取仅应用于良性数据集。对每种类型的对象的特征提取过程如下述算法3所示:
算法3不同类型对象的特征提取算法。
Figure BDA0002136625800000101
Figure BDA0002136625800000111
其基本步骤与上述算法1基本相同,差异仅在仅在良性样本集合上运行。此外,根据指导原则,为每种类型添加诸如熵的特征作为用于验证的冗余特征。
使用所提取的特征为每种类型的对象训练基于多中心的聚类算法的异常检测模型。由于对象内容根据其功能而变化,因此必须训练多中心聚类而不是一类支持向量机(OSVM)。使用像K-means这样的算法对特征向量值进行聚类,并计算它们到所属类别中心的距离。然后确定距离的分位数作为检测异常值的指标。
需要说明的是,诸如图像识别,信用评估等传统分类的对象的分类模型具有一个默认假设,即训练数据和实际数据在其所选特征上共享近似概率密度分布。这个假设很容易满足,因为训练数据是从现实世界收集的,概念漂移很小。然而,由于攻击者和维护者之间的军备竞赛,当机器学习应用于恶意文档分类等网络安全领域时,情况已经发生了变化。攻击者将操纵恶意样本以接近所选特征下的良性样本,而不会影响恶意功能。这样造成了分类器的鲁棒性差,当更换数据集后,分类的准确率迅速下降。
本发明提出特征选择的三个指导性原则:
因果性:因果性用于衡量类标签和所选特征之间的关系。通常,在训练过程中优选具有高相关性的特征。在通常的任务并不是问题,因为具有高相关性的特征可以帮助分类器建立高精度分类模型而无需对抗性攻击。但是,某些特征与类标签的因果性较低。例如,在游泳池中淹死的人数与人均冰淇淋消费量有很高的相关性,但它们之间的因果性较低,因为它们都是由高温引起的。在网络安全领域,像PDFRate和Hidost这样的分类***选择的结构路径和元数据等特征具有高相关性,但与类标签的因果性较低。手动分析发现,这些功能并不一定与PDF的恶意程度有关。这些方法实现了99%以上的高精度,在EvadeML的攻击下,准确度迅速降低到接近0%。shellcode,堆喷射和JavaScript混淆等特征与样本的恶意性具有高度因果关系,因为它们是功能实现的必要要求。通过类标签查找具有高因果关系的特征可能是困难的,但删除具有低因果关系的特征相对简单。
抗碰撞性:攻击者试图修改恶意样本,使其功能接近良性样本,以逃避PDF恶意软件分类器。为了增加攻击者的成本,我们倾向于选择难以仿造的特征,这些特征称为抗碰撞性。在密码学中,抗碰撞性意味着当给定单向散列函数f(x)和消息m时,很难找到满足条件f(m)=f(n)的另一个消息n。该概念被引入到本文的特征选择中。给定邻域δ,特征提取函数f(x),良性样本b,很难找到满足条件d(f(m),f(n))<δ的恶意样本m,其中d(x)是测量矢量距离的度量,如L1,L2或L∞。高抗碰撞性需要单向特征提取功能,很容易从PDF样本中获取特征向量,但很难从特征向量中恢复相应内容。
冗余性:当面向高维特征数据时,传统的机器学习算法倾向于在训练之前通过PCA(主成分分析)和其他降维方法消除冗余特征并保留相对独立的特征。高维数据导致数据稀疏性,训练模型会增加过度拟合,这对泛化能力有负面影响。但是,攻击者总是试图获取有关分类器的信息并相应地修改恶意样本。假设攻击者无法获取所有特征信息,本发明添加了额外的特征来检测是否存在针对分类器的潜在攻击,这些分类器称为冗余特征。冗余特征的直觉来自数据通信领域中的循环冗余校验(CRC)。CRC是数据传输错误检测功能,其对数据执行多项式计算,并将结果附加到帧。接收设备还执行以检查数据是否已被修改以确保完整性。在特征选择领域,本发明提出了特征冗余的概念。其他(部分)特征值的多项式计算将被视为现有特征集的附加特征。当仅屏蔽部分特征值时,冗余特征将显示出很大的差异。功能冗余提供了对原始功能的验证,因此增加了无法了解所有功能知识的攻击者的计算复杂性。
另外,本申请中,可以对Javascript代码直接检测,包括:
对代码内容按照规则进行替换;
使用n-gram方法进行特征提取并按照指导性原则进行特征选择和特征生成;
基于监督的机器学习算法训练分类模型,对能够有效提取到的恶意Javascript代码能有几乎100%的准确率。使用基于内容的特征的分类器能有效区分所使用的漏洞类型。
由此,通过提出特征选择的三个指导性原则,并充分利用结构特征和内容特征,以及不同类型特征的横向和纵向联系的局部相关性,训练基于两阶段机器学习算法和针对Javascript代码的分类器,在保持较高准确率的基础上,增强分类器的鲁棒性。
根据本发明实施例的电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,计算机程序被处理器执行时实现如上述所述的恶意PDF文档的检测方法的步骤。
根据本发明实施例的电子设备,通过采用上述所述的恶意PDF文档的检测方法:
如图7所示,第一阶段使用n-gram方法进行特征提取并按照指导性原则进行特征选择和特征生成,将结构特征和聚类特征作为第一阶段的训练。
对所述的每种类型的对象训练基于多中心聚类方法的异常检测模型;
对所述的树形结构根据类型的相似性进行合并,并生成结构矩阵;
在第二阶段,上面训练的模型首先应用于输入数据集,然后结合结构矩阵的模型输出构成扩展结构矩阵,作为CNN算法的输入。CNN的结构具有捕捉局部特征的能力,并根据扩展矩阵保持不同类型的连接,具体使用的CNN结构如图8所示。将训练数据通过所述第一阶段模型的分类结果和所述的结构合并成扩展矩阵作为卷积神经网络模型的输入并进行训练。
通过上述方式,可以提高对通用PDF文档识别的准确率。为了更多地使用内容特征信息,在具有漏洞编号标签的数据集上训练分类器,以对恶意文件中使用的漏洞进行分类。仅使用少部分样本用于训练,并且在整个数据集上测试分类器。测试结果表明,分类器识别的准确率超过97%。
根据本发明实施例的计算机可读存储介质,计算机可读存储介质上存储有信息传递的实现程序,程序被处理器执行时实现上述所述的恶意PDF文档的检测方法的步骤。
根据本发明实施例的计算机可读存储介质,通过执行恶意PDF文档的检测方法,基于PDF文档结构和内容进行了两阶段的检测,有效提高了恶意PDF检测的准确性和可靠性。
通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。

Claims (8)

1.一种恶意PDF文档的检测方法,其特征在于,包括:
提取PDF文档的树形结构,并基于所述树形结构生成结构矩阵;
对所述树形结构的节点的对象内容进行特征提取,得到特征数据;
将所述特征数据输入预先构建的检测模型处理以得到分类结果;
将所述分类结果和所述结构矩阵合并成扩展矩阵并输入卷积神经网络;
所述卷积神经网络输出所述PDF文档的检测结果;
所述提取PDF文档的树形结构,并基于所述树形结构生成结构矩阵,包括:
提取所述PDF文档的树形结构,基于所述树形结构生成邻接矩阵;
根据所述节点的对象类型对所述节点进行分类,基于分类结果将所述邻接矩阵转化为所述结构矩阵;
所述预先构建的检测模型的生成方法,包括:
基于所述节点的对象类型对所述节点进行分类;
基于多中心聚类方法对每种类型的所述节点进行训练得到所述检测模型。
2.根据权利要求1所述的恶意PDF文档的检测方法,其特征在于,所述对所述树形结构的节点的对象内容进行特征提取,得到特征数据,包括:
对所述节点的对象内容按照预设的规则进行替换以得到替换数据;
采用语言模型对所述替换数据进行特征提取;
基于所述特征的出现频率对所述特征进行选取以生成特征数据。
3.根据权利要求2所述的恶意PDF文档的检测方法,其特征在于,所述对所述节点的对象内容按照预设的规则进行替换以得到替换数据,包括:
对所述节点的内容的字符集进行分类;
建立与每类字符集对应的映射字符,并采用所述映射字符替换每类所述字符集内的字符。
4.根据权利要求3所述的恶意PDF文档的检测方法,其特征在于,所述映射字符的个数小于30个。
5.根据权利要求2所述的恶意PDF文档的检测方法,其特征在于,所述语言模型为n-gram模型。
6.根据权利要求1所述的恶意PDF文档的检测方法,其特征在于,所述特征数据输入预先构建的检测模型处理以得到分类结果,包括:
采用聚类方法确定聚类数目和聚类中心;
计算所述特征数据与对应类别的聚类中心的距离;
根据所述距离得到所述分类结果。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现如权利要求1至6中任一项所述的恶意PDF文档的检测方法的步骤。
8.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至6中任一项所述的恶意PDF文档的检测方法的步骤。
CN201910655086.4A 2019-07-19 2019-07-19 恶意pdf文档的检测方法及电子设备 Active CN112241530B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910655086.4A CN112241530B (zh) 2019-07-19 2019-07-19 恶意pdf文档的检测方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910655086.4A CN112241530B (zh) 2019-07-19 2019-07-19 恶意pdf文档的检测方法及电子设备

Publications (2)

Publication Number Publication Date
CN112241530A CN112241530A (zh) 2021-01-19
CN112241530B true CN112241530B (zh) 2023-05-30

Family

ID=74167470

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910655086.4A Active CN112241530B (zh) 2019-07-19 2019-07-19 恶意pdf文档的检测方法及电子设备

Country Status (1)

Country Link
CN (1) CN112241530B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112883376A (zh) * 2021-02-22 2021-06-01 深信服科技股份有限公司 一种文件处理方法、装置、设备及计算机可读存储介质
CN113378156B (zh) * 2021-07-01 2023-07-11 上海观安信息技术股份有限公司 一种基于api的恶意文件检测方法和***
CN113688386A (zh) * 2021-07-26 2021-11-23 中国人民解放军陆军工程大学 一种基于图结构的恶意pdf文档智能检测方法及***
CN113704757A (zh) * 2021-07-26 2021-11-26 中国人民解放军陆军工程大学 一种基于特征集聚的恶意pdf文档智能检测方法及***
CN113886438B (zh) * 2021-12-08 2022-03-15 济宁景泽信息科技有限公司 一种基于人工智能的成果转移转化数据筛选方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108920953A (zh) * 2018-06-16 2018-11-30 温州职业技术学院 一种恶意软件检测方法及***
CN109190371A (zh) * 2018-07-09 2019-01-11 四川大学 一种基于行为图的Android恶意软件检测方法和技术

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101827101A (zh) * 2010-04-20 2010-09-08 中国人民解放军理工大学指挥自动化学院 基于可信隔离运行环境的信息资产保护方法
CN108881101B (zh) * 2017-05-08 2021-06-15 腾讯科技(深圳)有限公司 一种基于文档对象模型的跨站脚本漏洞防御方法、装置以及客户端
US10726128B2 (en) * 2017-07-24 2020-07-28 Crowdstrike, Inc. Malware detection using local computational models
US10817603B2 (en) * 2017-08-29 2020-10-27 Target Brands, Inc. Computer security system with malicious script document identification
CN108985060A (zh) * 2018-07-04 2018-12-11 中共中央办公厅电子科技学院 一种大规模安卓恶意软件自动化检测***及方法
CN108985064B (zh) * 2018-07-16 2023-10-20 中国人民解放军战略支援部队信息工程大学 一种识别恶意文档的方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108920953A (zh) * 2018-06-16 2018-11-30 温州职业技术学院 一种恶意软件检测方法及***
CN109190371A (zh) * 2018-07-09 2019-01-11 四川大学 一种基于行为图的Android恶意软件检测方法和技术

Also Published As

Publication number Publication date
CN112241530A (zh) 2021-01-19

Similar Documents

Publication Publication Date Title
CN112241530B (zh) 恶意pdf文档的检测方法及电子设备
Serpen et al. Host-based misuse intrusion detection using PCA feature extraction and kNN classification algorithms
Singh et al. Malware classification using image representation
CN112329012B (zh) 针对包含JavaScript的恶意PDF文档的检测方法及电子设备
Vinayakumar et al. Evaluating deep learning approaches to characterize and classify the DGAs at scale
CN109359439B (zh) 软件检测方法、装置、设备及存储介质
Xue et al. Malware classification using probability scoring and machine learning
JP5183483B2 (ja) データ列の自動比較に用いられる方法およびその装置
Zhao et al. A review of computer vision methods in network security
Liu et al. Malware classification using gray-scale images and ensemble learning
Ji et al. Securing malware cognitive systems against adversarial attacks
Kakisim et al. Sequential opcode embedding-based malware detection method
Yan et al. Automatic malware classification via PRICoLBP
Azad et al. DEEPSEL: A novel feature selection for early identification of malware in mobile applications
Kaur et al. TB-CoAuth: Text based continuous authentication for detecting compromised accounts in social networks
He et al. Detection of Malicious PDF Files Using a Two‐Stage Machine Learning Algorithm
Hwang et al. Semi-supervised based unknown attack detection in EDR environment
Rasheed et al. Adversarial attacks on featureless deep learning malicious urls detection
Naeem et al. Digital forensics for malware classification: An approach for binary code to pixel vector transition
Ravi et al. Attention‐based convolutional neural network deep learning approach for robust malware classification
Tsai et al. PowerDP: de-obfuscating and profiling malicious PowerShell commands with multi-label classifiers
Pevny et al. Nested multiple instance learning in modelling of HTTP network traffic
Nahhas et al. Android Malware Detection Using ResNet-50 Stacking.
Jyothish et al. Effectiveness of machine learning based android malware detectors against adversarial attacks
Shrivastava et al. Adalward: a deep-learning framework for multi-class malicious webpage detection

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