CN112329012A - 针对包含JavaScript的恶意PDF文档的检测方法及电子设备 - Google Patents
针对包含JavaScript的恶意PDF文档的检测方法及电子设备 Download PDFInfo
- Publication number
- CN112329012A CN112329012A CN201910655077.5A CN201910655077A CN112329012A CN 112329012 A CN112329012 A CN 112329012A CN 201910655077 A CN201910655077 A CN 201910655077A CN 112329012 A CN112329012 A CN 112329012A
- Authority
- CN
- China
- Prior art keywords
- javascript
- pdf document
- malicious
- feature
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明提出了一种针对包含JavaScript的恶意PDF文档的检测方法,针对包含JavaScript的恶意PDF文档的检测方法,包括:提取JavaScript代码;对JavaScript代码进行特征提取,得到特征数据;将特征数据输入预先构建的训练分类模型处理以得到分类结果;基于分类结果得到PDF文档的检测结果。根据本发明的针对包含JavaScript的恶意PDF文档的检测方法,通过提取PDF文档中的JavaScript代码,对JavaScript代码进行特征提取,并将特征数据输入预先构建的训练分类模型处理以得到分类结果,能够有效提取到的恶意Javascript代码,从而可以根据分类结果准确、可靠地判断PDF文档是良性的还是恶意的,提高了恶意PDF文档检测的准确性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种针对包含JavaScript的恶意PDF文档的检测方法。
背景技术
由于便携式文档格式(PDF)因其效率高和稳定性好而被广泛用于文档交换,PDF文件已成为网络攻击的重要载体。典型的情况是使用针对政府和大型企业的电子邮件进行网络钓鱼攻击。由于大多数邮件服务器会出于安全原因阻止附加到电子邮件的可执行文件,因此PDF文件在最近的网络攻击中扮演着越来越重要的角色。普通用户认为非可执行文件比可执行文件更安全,从而减少了对电子邮件接收文件的怀疑。但是,PDF文件与可执行文件一样危险,攻击者可以利用文档格式的漏洞获取对主机的非法访问权限。
PDF文件不安全的一个重要原因来自Adobe Reader(使用最广泛的PDF阅读器)所允许的丰富功能,尤其是它对JavaScript的支持。此功能增强了PDF文档的功能,使PDF能够执行复杂的任务,如表单验证和计算。但是,它还通过利用Adobe JavaScript引擎中的漏洞为攻击者提供了运行任意代码的能力。
传统的恶意PDF检测算法在特征提取上相对主观,所选取的特征与分类结果虽然具有较强的相关性,在测试集上分类的准确率也较高,但该结果成立的前提是测试样本在所选取的特征上与训练集上有相同的概率密度分布。在攻击者对分类器所使用的特征有所了解的情况下,攻击者尝试对样本进行修改并伪造特征值,因而假设被打破,分类的准确率会迅速下降。
在对PDF分类准确率较高的前提下,提高分类器的鲁棒性。即使攻击者能够了解到分类器的部分设计细节,也能大大增加攻击者制造逃逸样本的难度,降低分类器受到敌对攻击的影响。
相关技术中,大多数检测技术都基于签名和刚性启发式。因此,他们无法检测出对现有恶意文件进行微小修改的文件。机器学习方法在检测垃圾邮件、恶意软件和网络入侵方面很受欢迎,它们也可用于对PDF文件进行分类。现有的机器学习算法采用静态和动态特征来训练PDF分类模型。不同之处在于静态特征向量可以通过处理文档直接获得,而动态特征向量是通过监视在构建的虚拟环境中运行的样本的行为而获得的。一般来说,静态特征的缺点是很难检测出混淆和加密以及隐藏较深恶意代码,而动态特征的获取需要构建大量异构操作环境,这些操作环境需要大量的资源开销并且易于通过时间延迟、互动操作和其他技术来规避。这些模型非常出色,因为它们在测试数据集上实现了高精度。使用路径结构特征的模型在PDF恶意软件分类任务中实现了超过99%的准确性。但是,AutoEvader表明,在不损坏恶意功能的前提下,对恶意PDF文件进行微小结构修改,可以100%逃脱检测系统。针对基于机器学习的分类器的模仿攻击和反向模仿攻击是非常有效的。
发明内容
本发明要解决的技术问题是如何提高恶意PDF文档检测的准确性,本发明提出了一种针对包含JavaScript的恶意PDF文档的检测方法及电子设备。
根据本发明实施例的针对包含JavaScript的恶意PDF文档的检测方法,包括:
提取JavaScript代码;
对所述JavaScript代码进行特征提取,得到特征数据;
将所述特征数据输入预先构建的训练分类模型处理以得到分类结果;
基于所述分类结果得到所述PDF文档的检测结果。
根据本发明实施例的针对包含JavaScript的恶意PDF文档的检测方法,通过提取PDF文档中的JavaScript代码,对JavaScript代码进行特征提取,并将特征数据输入预先构建的训练分类模型处理以得到分类结果,能够有效提取到的恶意Javascript代码,从而可以根据分类结果准确、可靠地判断PDF文档是良性的还是恶意的,提高了恶意PDF文档检测的准确性。
根据本发明的一些实施例,所述对所述JavaScript代码进行特征提取,得到特征数据,包括:
对所述JavaScript代码内容按照预设的规则进行替换以得到替换数据;
采用语言模型对所述替换数据进行特征提取;
基于所述特征的出现频率对所述特征进行选取以生成特征数据。
在本发明的一些实施例中,所述对所述JavaScript代码内容按照预设的规则进行替换以得到替换数据,包括:
对所述JavaScript代码的内容的字符集进行分类;
建立与每类字符集对应的映射字符,并采用所述映射字符替换每类所述字符集内的字符。
根据本发明的一些实施例,所述映射字符的个数小于30个。
在本发明的一些实施例中,所述语言模型为n-gram模型。
根据本发明的一些实施例,所述预先构建的训练分类模型的构建方法,包括:
在良性训练集和恶意训练集上进行有监督机器学习算法训练分类器,以得到所述训练分类模型。
在本发明的一些实施例中,所述有监督机器学习算法为:支持向量机算法或随机森林算法。
根据本发明的一些实施例,所述提取JavaScript代码,包括:
从PDF文档节点类型为JavaScript的节点中提取JavaScript代码。
根据本发明实施例的计算机可读存储介质,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现如上述所述的针对包含JavaScript的恶意PDF文档的检测方法的步骤。
根据本发明实施例的计算机可读存储介质,通过执行上述所述的针对包含JavaScript的恶意PDF文档的检测方法,基于监督的机器学习算法训练分类模型,对能够有效提取到的恶意Javascript代码能有几乎100%的准确率。
根据本发明实施例的电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述所述的针对包含JavaScript的恶意PDF文档的检测方法的步骤。
根据本发明实施例的电子设备,通过执行上述所述的针对包含JavaScript的恶意PDF文档的检测方法,提取PDF文档中的JavaScript代码,对JavaScript代码进行特征提取,并将特征数据输入预先构建的训练分类模型处理以得到分类结果,可以根据分类结果准确、可靠地判断PDF文档是良性的还是恶意的。
附图说明
图1是根据本发明实施例的针对包含JavaScript的恶意PDF文档的检测方法的流程图;
图2是根据本发明实施例的生成特征数据的方法流程图;
图3是根据本发明实施例的JavaScript代码字符集替换的方法流程图;
图4是根据本发明另一实施例的恶意PDF文档的检测方法的流程图;
图5是根据本发明实施例的生成结构矩阵的方法流程图;
图6是根据本发明实施例的生成特征数据的方法流程图;
图7是根据本发明实施例的节点字符集替换的方法流程图;
图8是根据本发明实施例的特征分类的方法流程图;
图9是根据本发明实施例的检测模型生成方法的流程图;
图10是根据本发明实施例的根据本发明实施例的恶意PDF文档检测模型的结构示意图;
图11是根据本发明实施例的卷积神经网络算法的结构示意图。
具体实施方式
为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。
如图1所示,根据本发明根据本发明实施例的针对包含JavaScript的恶意PDF文档的检测方法,包括:
S101:提取JavaScript代码;
需要说明的是,PDF文档中可以包含JavaScript代码,从PDF文档中提取的JavaScript代码,可以是指JavaScript完整代码。由此。便于对JavaScript代码进行特征提取和分类分析。本发明要识别的恶意PDF文档,其恶意功能的实现是由所包含的恶意JavaScript代码导致的。
S102:对所述JavaScript代码进行特征提取,得到特征数据;
S103:将所述特征数据输入预先构建的训练分类模型处理以得到分类结果;
需要说明的是,通过将特征数据输入预先构建的训练分类模型处理,可以对JavaScript代码的特征信息进行分类,得到分类结果。
S104:基于所述分类结果得到所述PDF文档的检测结果。
也就是说,在得到分类结果后,可以根据分类结果得到PDF文档的检测结果。例如,通过分类结果可以判断PDF文档是良性的还是恶意的。
根据本发明实施例的针对包含JavaScript的恶意PDF文档的检测方法,通过提取PDF文档中的JavaScript代码,对JavaScript代码进行特征提取,并将特征数据输入预先构建的训练分类模型处理以得到分类结果,能够有效提取到的恶意Javascript代码,从而可以根据分类结果准确、可靠地判断PDF文档是良性的还是恶意的,提高了恶意PDF文档检测的准确性。
在本发明的一些实施例中,如图2所示,对JavaScript代码进行特征提取,得到特征数据,包括:
S201:对所述JavaScript代码内容按照预设的规则进行替换以得到替换数据。
需要说明的是,在对PDF对象的内容解密和解压缩后可以获取JavaScript代码,通过对JavaScript代码的内容进行替换,可以有效对数据进行降维,从而有利于降低PDF检测方法的计算量,提高PDF检测方法的检测效率。
S202:采用语言模型对所述替换数据进行特征提取;
例如,在本发明的一些实施例中,可以采用n-gram模型对替换数据进行特征提取。其中,“n-gram模型”为本领域成熟语言模型,具体执行方式在此不再赘述。
S203:基于特征的出现频率对所述特征进行选取以生成特征数据。
需要说明的是,可以根据特征出现的频率对特征进行选取。例如,可以选择出现频率超过阈值的特征作为特征数据。由此,可以使特征数据得到降维。
例如,对PDF文档中的JavaScript代码的特征提取可以采用如下所示的算法1:
算法1对Javascript的特征提取算法
JavaScript代码从样本中提取,首先根据上述算法进行处理。其次,将n-gram方法应用于替换序列并生成用于分类的特征。然后设置阈值以过滤训练数据集中发生频率较低的特征。具体方法如上述算法所示。
根据本发明的一些实施例,如图3所示,对JavaScript代码内容按照预设的规则进行替换以得到替换数据,包括:
S301:对JavaScript代码的内容的字符集进行分类;
S302:建立与每类字符集对应的映射字符,并采用所述映射字符替换每类所述字符集内的字符。
在本发明的一些实施例中,映射字符的个数小于30个。由此,通过替换,可以使字符类型数目小于30,并且特征对代码混淆的变化不太敏感,这不仅提高了鲁棒性,而且降低了特征维数减少的难度。
需要说明的是,相关技术中,直接对恶意软件的字节序列进行n-gram分析,但由于复杂的文件格式和编码,n-gram的应用没有意义。随着n的增加,特征尺寸迅速爆炸。例如,当n=3时,有超过两百万个特征,这给特征选择和降维带来了困难。
另外,如果应用上述方法,一个字符的修改都将可能导致许多特征的改变,这增加了特征向量值的灵敏度,并降低了特征稳定性和鲁棒性,因此,通过简单的代码混淆容易逃避训练的分类器模型。
本发明中,为了减少字符空间并减少代码混淆的影响,对字符集进行分类并用类型替换。针对可见的ASCII码字符集进行分类,建立将可见字符集的特征空间由128降到30以下的映射。
例如,本申请中可以采用如下表中的替换规则对节点中JavaScript代码的内容的字符集进行替换:
可以理解的是,通过采用上述替换规则对节点的内容进行替换,可以达到降维和降低单个字符变动引起特征值变化的敏感性的目的。
根据本发明的一些实施例,预先构建的训练分类模型的构建方法,包括:
在良性训练集和恶意训练集上进行有监督机器学习算法训练分类器,以得到所述训练分类模型。
例如,在本发明的一些实施例中,有监督机器学习算法可以为:支持向量机算法或随机森林算法。支持向量机算法或随机森林算法均是本领域成熟算法,在此不再进行赘述。
需要说明的是,上述机器学习算法仅是对本发明的举例说明,本发明还可以采用其他机器学习算法。
根据本发明的一些实施例,提取JavaScript代码,包括:从PDF文档节点类型为JavaScript的节点中提取JavaScript代码。例如,可以从类型为JavaScript的节点中直接提取完整的JavaScript代码。由此,可以提高JavaScript代码提取的便利性和提取效率。可以理解的是,JavaScript代码的提取方法不局限于上述方法,只要可以从PDF文档中提取JavaScript代码即可。
根据本发明实施例的计算机可读存储介质,计算机可读存储介质上存储有信息传递的实现程序,程序被处理器执行时实现如上述所述的针对包含JavaScript的恶意PDF文档的检测方法的步骤。
根据本发明实施例的计算机可读存储介质,通过执行上述所述的针对包含JavaScript的恶意PDF文档的检测方法,基于监督的机器学习算法训练分类模型,对能够有效提取到的恶意Javascript代码能有几乎100%的准确率。
根据本发明实施例的电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,计算机程序被处理器执行时实现如上述所述的针对包含JavaScript的恶意PDF文档的检测方法的步骤。
根据本发明实施例的电子设备,通过执行上述所述的针对包含JavaScript的恶意PDF文档的检测方法,提取PDF文档中的JavaScript代码,对JavaScript代码进行特征提取,并将特征数据输入预先构建的训练分类模型处理以得到分类结果,可以根据分类结果准确、可靠地判断PDF文档是良性的还是恶意的。
另外,本发明还提出了一种基于内容和结构两阶段机器学习的恶意PDF文档检测方法。
如图4所示,根据本发明根据本发明实施例的恶意PDF文档的检测方法,包括:
S401:提取PDF文档的树形结构,并基于树形结构生成结构矩阵;
需要说明的是,通过提取PDF文档的树形结构,根据树形结构可以生成结构矩阵。由此,可以获取PDF文档的结构方面的特征信息。
S402:对树形结构的节点的对象内容进行特征提取,得到特征数据;
需要说明的是,通过对树形结构的节点的对象内容进行特征提取得到特征数据,由此,可以获取PDF文档的内容方面的特征信息。
S403:将特征数据输入预先构建的检测模型处理以得到分类结果;
需要说明的是,通过将特征数据输入预先构建的检测模型处理,可以对PDF内容方面的特征信息进行分类,得到PDF内容方面的特征分析结果。
S404:将分类结果和结构矩阵合并成扩展矩阵并输入卷积神经网络;
也就是说,在获取PDF文档的结构特征和内容特征后,将结构特征和内容特征结合作为卷积神经网络的输入。由此,可以提高恶意PDF文档的检测的准确性和可靠性。
S405:卷积神经网络输出PDF文档的检测结果。
需要说明的是,本申请中对上述步骤S401至S405的执行顺序不做限定。也就是说,本申请中,并非必须按照S401至S405的顺序有序执行。
由此,基于PDF文档结构和内容进行了两阶段的检测,有效提高了恶意PDF检测的准确性和可靠性。其中,通过提取PDF树形结构并生成结构矩阵,可以获取PDF文档的结构方面的特征信息。通过对节点内容进行特征提取,可以获取PDF文档的内容方面的特征信息。而且,内容方面的特征信息可以经过检测模型处理获得分类结果。最后,通过将分类结果和结构特征合并成扩展矩阵输入卷积神经网络,得到PDF文档的检测结果。
如图5所示,根据本发明的一些实施例,提取PDF文档的树形结构,并基于树形结构生成结构矩阵,包括:
S501:提取PDF文档的树形结构,基于树形结构生成邻接矩阵;
S502:根据节点的对象类型对节点进行分类,基于分类结果将邻接矩阵转化为结构矩阵。
需要说明的是,PDF文件具有树状逻辑结构,其由各种基本对象之间的关系构成。相关技术中,关注的是结构路径特征,即从根节点到叶节点的垂直关系,但水平关系并未引起注意。共享相同父节点或祖先节点的节点之间的并行关系将丢失。本发明对垂直和水平连接进行了综合考虑。PDF文件的结构可以用邻接矩阵描述,邻接矩阵是描述图的经典工具。
为了在水平和垂直方向上提取结构矩阵的局部特征,我们将卷积神经网络(CNN)应用于PDF文件的分类。CNN在图像分类方面取得了最先进的性能,可以使用卷积核来提取图像的局部特征。此外,应用了许多技术来增强分类器的鲁棒性,并且PDF格式的性质限制降低了结构矩阵中元素的自由度,这使得分类器更加健壮。结构矩阵和图像都是结构上的二维阵列,因此卷积神经网络由于它们的相似性也可以捕获文件结构在水平和垂直方向上的关系。
PDF文档的节点对象包括多种类型,如字体对象、页面对象等。基于树形结构生成邻接矩阵后,可以根据节点的对象类型进行分类和合并,将相同和相似的对象合并为同一类。这里所述的相似的对象可以理解为功能相似的对象,例如,可以将不同字体的对象均归为同一类。通过分类和合并处理后,可以对邻接矩阵进行降维,以得到结构矩阵。
结构矩阵的提取被如下述算法2所示:
算法2结构特征的提取
首先将PDF结构表示为邻接矩阵,然后将具有相似功能的类型合并成一个,然后过滤具有低频率的类型。最后将所选类型的笛卡尔积构成结构矩阵。由此,可以降低PDF文档检测的数据处理量,提高检测效率。
在本发明的一些实施例中,如图6所示,对树形结构的节点的对象内容进行特征提取,得到特征数据,包括:
S601:对节点的对象内容按照预设的规则进行替换以得到替换数据。
需要说明的是,在对对象的内容解密和解压缩后可以获取节点对象的内容,通过对对象的内容进行替换,可以有效对数据进行降维,从而有利于降低PDF检测方法的计算量,提高PDF检测方法的检测效率。
S602:采用语言模型对替换数据进行特征提取;
例如,可以采用n-gram模型对替换数据进行特征提取。
S603:基于特征的出现频率对特征进行选取以生成特征数据。
需要说明的是,可以根据特征出现的频率对特征进行选取。例如,可以选择出现频率超过阈值的特征作为特征数据。由此,可以使特征数据得到降维。
根据本发明的一些实施例,如图7所示,对节点的对象内容按照预设的规则进行替换以得到替换数据,包括:
S701:对节点的内容的字符集进行分类;
S702:建立与每类字符集对应的映射字符,并采用映射字符替换每类字符集内的字符。
在本发明的一些实施例中,映射字符的个数小于30个。由此,通过替换,可以使字符类型数目小于30,并且特征对代码混淆的变化不太敏感,这不仅提高了鲁棒性,而且降低了特征维数减少的难度。
在本发明的一些实施例中,如图8所示,特征数据输入预先构建的检测模型处理以得到分类结果,包括:
S801:采用聚类方法确定聚类数目和聚类中心;
需要说明的是,聚类方法可以采用本领域成熟的多中心聚类方法,通过聚类方法可以确定聚类数目和聚类中心。具体实现过程为本领域常规技术手段,在此不再进行赘述。
S802:计算特征数据与对应类别的聚类中心的距离;
S803:根据距离得到分类结果。
也就是说,在获取聚类数目和聚类中心后,可以通过计算特征数据所属的类型的聚类中心的距离获得特征数据的分类结果。由此,可以在对PDF分类准确率较高的前提下,提高分类器的鲁棒性。即使攻击者能够了解到分类器的部分设计细节,也能大大增加攻击者制造逃逸样本的难度,降低分类器受到敌对攻击的影响。
根据本发明的一些实施例,如图9所示,预先构建的检测模型的生成方法,包括:
S901:基于节点的对象类型对节点进行分类;
S902:基于多中心聚类方法对每种类型的节点进行训练得到检测模型。
需要说明的是,对象在解码和解密之后被提取并且首先根据它们的类型(例如/Catalog,/Action等)单独地组织。与JavaScript代码不同,很难确定恶意代码是否隐藏在其中,因为与整个文件的对象数量相比,恶意对象的数量非常少,并且需要大量的人工识别来定位恶意对象。因此,特征提取仅应用于良性数据集。对每种类型的对象的特征提取过程如下述算法3所示:
算法3不同类型对象的特征提取算法。
其基本步骤与上述算法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是数据传输错误检测功能,其对数据执行多项式计算,并将结果附加到帧。接收设备还执行以检查数据是否已被修改以确保完整性。在特征选择领域,本发明提出了特征冗余的概念。其他(部分)特征值的多项式计算将被视为现有特征集的附加特征。当仅屏蔽部分特征值时,冗余特征将显示出很大的差异。功能冗余提供了对原始功能的验证,因此增加了无法了解所有功能知识的攻击者的计算复杂性。
由此,通过提出特征选择的三个指导性原则,并充分利用结构特征和内容特征,以及不同类型特征的横向和纵向联系的局部相关性,训练基于两阶段机器学习算法,在保持较高准确率的基础上,增强分类器的鲁棒性。
下面参照图10和图11详细描述根据本发明基于内容和结构两阶段机器学习的恶意PDF文档的检测方法:
如图10所示,第一阶段使用n-gram方法进行特征提取并按照指导性原则进行特征选择和特征生成,将结构特征和聚类特征作为第一阶段的训练。
对所述的每种类型的对象训练基于多中心聚类方法的异常检测模型;
对所述的树形结构根据类型的相似性进行合并,并生成结构矩阵;
在第二阶段,上面训练的模型首先应用于输入数据集,然后结合结构矩阵的模型输出构成扩展结构矩阵,作为CNN算法的输入。CNN的结构具有捕捉局部特征的能力,并根据扩展矩阵保持不同类型的连接,具体使用的CNN结构如图11所示。将训练数据通过所述第一阶段模型的分类结果和所述的结构合并成扩展矩阵作为卷积神经网络模型的输入并进行训练。
通过上述方式,可以提高对通用PDF文档识别的准确率。为了更多地使用内容特征信息,在具有漏洞编号标签的数据集上训练分类器,以对恶意文件中使用的漏洞进行分类。仅使用少部分样本用于训练,并且在整个数据集上测试分类器。测试结果表明,分类器识别的准确率超过97%。
通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。
Claims (10)
1.一种针对包含JavaScript的恶意PDF文档的检测方法,其特征在于,包括:
提取JavaScript代码;
对所述JavaScript代码进行特征提取,得到特征数据;
将所述特征数据输入预先构建的训练分类模型处理以得到分类结果;
基于所述分类结果得到所述PDF文档的检测结果。
2.根据权利要求1所述的针对包含JavaScript的恶意PDF文档的检测方法,其特征在于,所述对所述JavaScript代码进行特征提取,得到特征数据,包括:
对所述JavaScript代码内容按照预设的规则进行替换以得到替换数据;
采用语言模型对所述替换数据进行特征提取;
基于所述特征的出现频率对所述特征进行选取以生成特征数据。
3.根据权利要求2所述的针对包含JavaScript的恶意PDF文档的检测方法,其特征在于,所述对所述JavaScript代码内容按照预设的规则进行替换以得到替换数据,包括:
对所述JavaScript代码的内容的字符集进行分类;
建立与每类字符集对应的映射字符,并采用所述映射字符替换每类所述字符集内的字符。
4.根据权利要求3所述的针对包含JavaScript的恶意PDF文档的检测方法,其特征在于,所述映射字符的个数小于30个。
5.根据权利要求2所述的针对包含JavaScript的恶意PDF文档的检测方法,其特征在于,所述语言模型为n-gram模型。
6.根据权利要求2所述的针对包含JavaScript的恶意PDF文档的检测方法,其特征在于,所述预先构建的训练分类模型的构建方法,包括:
在良性训练集和恶意训练集上进行有监督机器学习算法训练分类器,以得到所述训练分类模型。
7.根据权利要求6所述的针对包含JavaScript的恶意PDF文档的检测方法,其特征在于,所述有监督机器学习算法为:支持向量机算法或随机森林算法。
8.根据权利要求1所述的针对包含JavaScript的恶意PDF文档的检测方法,其特征在于,所述提取JavaScript代码,包括:
从PDF文档节点类型为JavaScript的节点中提取JavaScript代码。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现如权利要求1至8中任一项所述的针对包含JavaScript的恶意PDF文档的检测方法的步骤。
10.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至8中任一项所述的针对包含JavaScript的恶意PDF文档的检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910655077.5A CN112329012B (zh) | 2019-07-19 | 2019-07-19 | 针对包含JavaScript的恶意PDF文档的检测方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910655077.5A CN112329012B (zh) | 2019-07-19 | 2019-07-19 | 针对包含JavaScript的恶意PDF文档的检测方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112329012A true CN112329012A (zh) | 2021-02-05 |
CN112329012B CN112329012B (zh) | 2023-05-30 |
Family
ID=74319452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910655077.5A Active CN112329012B (zh) | 2019-07-19 | 2019-07-19 | 针对包含JavaScript的恶意PDF文档的检测方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112329012B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113709152A (zh) * | 2021-08-26 | 2021-11-26 | 东南大学 | 一种具备高抗检测能力的对抗域名生成模型 |
CN113935060A (zh) * | 2021-12-17 | 2022-01-14 | 山东青揽电子有限公司 | 一种抗碰撞混淆标记算法 |
CN114491621A (zh) * | 2021-12-29 | 2022-05-13 | 中国人民解放军32802部队 | 文本对象安全性检测方法和设备 |
CN115228084A (zh) * | 2022-09-23 | 2022-10-25 | 深圳乐娱游网络科技有限公司 | 游戏画面同步方法及相关设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050262210A1 (en) * | 2004-03-09 | 2005-11-24 | Mailshell, Inc. | Email analysis using fuzzy matching of text |
CN103221960A (zh) * | 2012-12-10 | 2013-07-24 | 华为技术有限公司 | 恶意代码的检测方法及装置 |
CN105095756A (zh) * | 2015-07-06 | 2015-11-25 | 北京金山安全软件有限公司 | 可移植文档格式文档的检测方法和装置 |
CN107688748A (zh) * | 2017-09-05 | 2018-02-13 | 中国人民解放军信息工程大学 | 基于漏洞指纹的脆弱性代码克隆检测方法及其装置 |
CN107944273A (zh) * | 2017-12-14 | 2018-04-20 | 贵州航天计量测试技术研究所 | 一种基于tf‑idf算法和svdd算法的恶意pdf文档检测方法 |
CN108875374A (zh) * | 2018-04-13 | 2018-11-23 | 中国科学院信息工程研究所 | 基于文档节点类型的恶意pdf检测方法及装置 |
CN108985064A (zh) * | 2018-07-16 | 2018-12-11 | 中国人民解放军战略支援部队信息工程大学 | 一种识别恶意文档的方法及装置 |
CN109408113A (zh) * | 2018-09-03 | 2019-03-01 | 平安普惠企业管理有限公司 | 一种代码文本处理方法、系统及终端设备 |
CN109408810A (zh) * | 2018-09-28 | 2019-03-01 | 东巽科技(北京)有限公司 | 一种恶意pdf文档检测方法及装置 |
-
2019
- 2019-07-19 CN CN201910655077.5A patent/CN112329012B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050262210A1 (en) * | 2004-03-09 | 2005-11-24 | Mailshell, Inc. | Email analysis using fuzzy matching of text |
CN103221960A (zh) * | 2012-12-10 | 2013-07-24 | 华为技术有限公司 | 恶意代码的检测方法及装置 |
CN105095756A (zh) * | 2015-07-06 | 2015-11-25 | 北京金山安全软件有限公司 | 可移植文档格式文档的检测方法和装置 |
CN107688748A (zh) * | 2017-09-05 | 2018-02-13 | 中国人民解放军信息工程大学 | 基于漏洞指纹的脆弱性代码克隆检测方法及其装置 |
CN107944273A (zh) * | 2017-12-14 | 2018-04-20 | 贵州航天计量测试技术研究所 | 一种基于tf‑idf算法和svdd算法的恶意pdf文档检测方法 |
CN108875374A (zh) * | 2018-04-13 | 2018-11-23 | 中国科学院信息工程研究所 | 基于文档节点类型的恶意pdf检测方法及装置 |
CN108985064A (zh) * | 2018-07-16 | 2018-12-11 | 中国人民解放军战略支援部队信息工程大学 | 一种识别恶意文档的方法及装置 |
CN109408113A (zh) * | 2018-09-03 | 2019-03-01 | 平安普惠企业管理有限公司 | 一种代码文本处理方法、系统及终端设备 |
CN109408810A (zh) * | 2018-09-28 | 2019-03-01 | 东巽科技(北京)有限公司 | 一种恶意pdf文档检测方法及装置 |
Non-Patent Citations (1)
Title |
---|
冯迪: "《恶意PDF文档检测技术研究与实现》", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113709152A (zh) * | 2021-08-26 | 2021-11-26 | 东南大学 | 一种具备高抗检测能力的对抗域名生成模型 |
CN113709152B (zh) * | 2021-08-26 | 2022-11-25 | 东南大学 | 一种具备高抗检测能力的对抗域名生成模型 |
CN113935060A (zh) * | 2021-12-17 | 2022-01-14 | 山东青揽电子有限公司 | 一种抗碰撞混淆标记算法 |
CN114491621A (zh) * | 2021-12-29 | 2022-05-13 | 中国人民解放军32802部队 | 文本对象安全性检测方法和设备 |
CN115228084A (zh) * | 2022-09-23 | 2022-10-25 | 深圳乐娱游网络科技有限公司 | 游戏画面同步方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112329012B (zh) | 2023-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Venkatraman et al. | A hybrid deep learning image-based analysis for effective malware detection | |
Singh et al. | Malware classification using image representation | |
Liu et al. | Automatic malware classification and new malware detection using machine learning | |
CN112241530B (zh) | 恶意pdf文档的检测方法及电子设备 | |
Serpen et al. | Host-based misuse intrusion detection using PCA feature extraction and kNN classification algorithms | |
CN112329012B (zh) | 针对包含JavaScript的恶意PDF文档的检测方法及电子设备 | |
CN109359439B (zh) | 软件检测方法、装置、设备及存储介质 | |
Vinayakumar et al. | Evaluating deep learning approaches to characterize and classify the DGAs at scale | |
JP5183483B2 (ja) | データ列の自動比較に用いられる方法およびその装置 | |
US20180183815A1 (en) | System and method for detecting malware | |
Zhao et al. | A review of computer vision methods in network security | |
CN109784056B (zh) | 一种基于深度学习的恶意软件检测方法 | |
Xue et al. | Malware classification using probability scoring and machine learning | |
Tang et al. | Dynamic API call sequence visualisation for malware classification | |
Fu et al. | The robust deep learning–based schemes for intrusion detection in internet of things environments | |
Li et al. | Boosting training for PDF malware classifier via active learning | |
Pal et al. | Stateful detection of model extraction attacks | |
Yan et al. | A survey of adversarial attack and defense methods for malware classification in cyber security | |
Kakisim et al. | Sequential opcode embedding-based malware detection method | |
Hwang et al. | Semi-supervised based unknown attack detection in EDR environment | |
Deore et al. | Mdfrcnn: Malware detection using faster region proposals convolution neural network | |
Riera et al. | Prevention and fighting against web attacks through anomaly detection technology. A systematic review | |
He et al. | Detection of Malicious PDF Files Using a Two‐Stage Machine Learning Algorithm | |
Liu et al. | Fewm-hgcl: Few-shot malware variants detection via heterogeneous graph contrastive learning | |
Gao et al. | Malware detection using LightGBM with a custom logistic loss function |
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 |