CN108710797B - 一种基于熵信息分布的恶意文档检测方法 - Google Patents

一种基于熵信息分布的恶意文档检测方法 Download PDF

Info

Publication number
CN108710797B
CN108710797B CN201810409421.8A CN201810409421A CN108710797B CN 108710797 B CN108710797 B CN 108710797B CN 201810409421 A CN201810409421 A CN 201810409421A CN 108710797 B CN108710797 B CN 108710797B
Authority
CN
China
Prior art keywords
entropy
features
sequence
document
local
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
CN201810409421.8A
Other languages
English (en)
Other versions
CN108710797A (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.)
Sichuan University
Original Assignee
Sichuan University
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 Sichuan University filed Critical Sichuan University
Priority to CN201810409421.8A priority Critical patent/CN108710797B/zh
Publication of CN108710797A publication Critical patent/CN108710797A/zh
Application granted granted Critical
Publication of CN108710797B publication Critical patent/CN108710797B/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
    • G06F21/563Static detection by source code analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis

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)
  • Complex Calculations (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种恶意文档检测方法,包括以下步骤:(1)对文档进行预处理,然后以256字节的滑动窗口处理字节流并计算熵值,得到熵序列;(2)进行全局以及结构化熵特征提取。全局特征中,提取6种统计特征信息。结构化熵特征中,提取了序列的细节和局部特征。细节特征中,利用离散小波分解,计算序列的能量谱作为特征;局部特征中,将熵序列拆分成小块后计算小波分解近似系数,利用K‑means算法进行聚类得到编码字典并对样本进行编码后得到局部特征。(3)将三种特征进行组合并进行归一化。(4)将样本特征与标签输入到分类算法中进行训练后得到分类器并用于恶意文档的检测。该方法可以用于恶意文档的高效检测,其准确率更高,检测速度也更快。

Description

一种基于熵信息分布的恶意文档检测方法
技术领域
本发明涉及一种基于熵信息分布的恶意文档检测方法方法,属于恶意代码检测技术领域。
背景技术
恶意文档作为攻击载荷的传输攻载体在APT攻击事件中被广泛使用。在常见的攻击场景中,攻击者通过将包含恶意载荷的文档通过邮件或者其他社会工程学的手段发送并目标用户,并诱导目标用户打开文档。攻击载荷通过文档包含的“0day”漏洞或者“Nday”漏洞的方式触发漏洞后并进一步执行恶意代码。对恶意文档进行检测可以在攻击事件的发生前及时将其阻止。目前针对恶意文档检测方法主要包括基于静态分析的检测以及动态行为分析的检测两种方法。传统的基于静态分析的检测方法主要以基于签名特征的静态匹配和基于文档结构特征提取并结合机器学习的检测方法。基于签名的方法能够有效检测已知的样本攻击,但是针对未知样本或者已有样本的变种检测将无法发挥效果。而且随着样本的增加,特征数据库将变得越来越大,整个开销也变得越来越大。基于机器学习的方法能够有效检测未知样本,但是目前的特征提取主要集中在对文档结构的特征提取,因此导致这种检测方法目前只能适用于PDF或者DOCX等结构化比较高的样本。在基于动态行为分析的恶意样本检测中,其通过在沙盒中动态运行样本,通过收集目标进程的相关行为信息并进行分析后来进行检测。目前该种方法也面临着两个重要问题,一是整个动态检测在时间和资源上开销较大,从而导致无法进行大规模检测。另外一个则是样本对环境的依赖较为严重,只有当样本在特定环境中运行后才会触发相应的恶意行为。而实际情况中要在沙箱中配置各种环境一般不可能的,因此会导致一定的漏报。
基于以上问题,我们提出了一种基于文档熵信息分布特征并结合机器学习来进行恶意文档检测的新方法。该方法不依赖于文档的结构特征,而是从文档熵的分布规律上来进行特征提取。由于利用漏洞进行攻击的恶意文档,都会在正常的文档数据中插入外部的攻击代码,而这些攻击代码大部分都具有相似的特征。这些插入的数据会通过其文档的熵分布反应出来。因此我们通过调查恶意文档的熵分布特征,并提取其全局和结构化熵特征,最后利用机器学习算法来进行恶意文档的检测。
目前已有相关的方法利用文件熵分布信息来对恶意代码进行检测(Wojnowicz M,Chisholm G,Wallace B,et al.SUSPEND:Determining software suspiciousness bynon-stationary time series modeling of entropy signals[J].Expert Systems withApplications,2017,71.;Bat-Erdene M,Park H,Li H,et al.Entropy analysis toclassify unknown packing algorithms for malware detection[J].InternationalJournal of Information Security,2016,16(3):1-22.)。但是目前还没有利用熵的分布特征来进行恶意文档的检测的方法或者相关发明专利。该发明是第一次利用文档的熵分布特征来进行恶意文档的检测。在检测中,我们通过提取文档的熵分布特征,因此其不受文档格式的限制,适用范围更广,可以覆盖Microsoft Office以及PDF等主流办公软件格式。此外,我们的方法是基于静态特征提取并结合机器学习方法来进行恶意文档的检测,因此其开销较小,不需要构建特征库,也能够应用于大规模的检测。通过实验也表明该发明的方法也能有效应用于恶意文档的检测。
发明内容
本发明的目的就在于为了解决恶意代码检测问题而提供一种基于文档熵分布特征并结合机器学习算法来进行恶意文档检测的方法和装置。
本发明通过以下技术方案来实现上述目的:
1、本发明所述恶意文档检测方法整体框架图如图1所示,主要包括模型训练和测试两个阶段。其中模型训练阶段包括如下步骤:
(1)对训练样本数据进行预处理,将文档中进行压缩或者编码的结构数据进行解压缩和解码;
(2)利用256字节大小的滑动窗口按照依次不重叠的方式滑过文档字节序列并计算相应的单个块的熵值vi=H(xi)。最后将所有的熵值按照位置顺序排列得到文档熵序列V=[v1,v2,......,vi],对所有文档都进行该操作,得到所有文档的熵序列;
(3)在得到文档熵序列特征上,计算每个文档熵的全局统计特征信息FG,包括熵序列长度、熵序列平均值、熵序列平均方差、熵序列最大值、熵序列中熵值大于7.0的序列所占百分比、熵序列中熵值为0的序列所占的百分比;
(4)将熵序列看作时间序列并利用Haar离散小波变换(Discrete WaveletTransform)对其进行20层级离散小波分解,得到对应层的小波分解系数(也称细节系数)dj,k
(5)在每个层级根据小波分解系数计算各个层级的能量Ej,最后各个层级的能量按照顺序组合形成能量谱特征FE=(E1,E2,......,E20)。
(6)重复4-5步骤,计算所有文档的能量谱特征。
(7)将所有样本的熵序列以步长6为大小,拆分成多个局部块。如果最后一个块长度不足6,则将其舍弃。这样得到所有的熵序列局部块LE=(e1,e2,......,en),其中每个熵序列局部块长度为6。
(8)将所有的熵序列局部块进行Haar离散小波变换,并计算其近视系数。该步骤总共进行3个层级的分解,将得到的所有近似系数进行组合得到熵序列局部特征向量FL=(f1,f2,......,fn)。
(9)在得到所有的局部特征向量后,利用k-means算法对其进行聚类,其中类别大小设为250,通过聚类后得到250个聚类中心,每个聚类中心我们定义为一个codeword,所有的codeword组合起来形成编码表,称为codebook。
(10)在得到codebook后,针对单个样本的所有局部特征向量,通过计算局部特征向量与codebook中某个codeword的欧式距离,并将距离最小的codeword分配给该局部块。
(11)得到一个样本的所有的局部块的codeword后,我们计算codeword的分布直方图,最后将得到的直方图表示为样本局部特征向量:FL=(l1,l2,......,l250)。
(12)重复10-11步骤,对所有的文档计算局部特征向量,得到所有文档的特征向量。
(13)将所有样本的三个特征向量FG,FE,FL进行组合得到训练样本的特征向量F,然后对特征向量按照min-max进行归一化,得到归一化的训练样本特征向量Fnorm
(14)将训练样本的特征向量Fnorm和对应的标签(恶意样本的标签为1,非恶意样本的标签为0)输入随机森林分类器,并将随机森林分类器的参数N_estimator和Max_depth分别设置成500和30后进行模型的训练,最后得到分类器CRF
在模型测试阶段,按照如下方法进行:
(1)对测试样本,按照步骤1-4计算其全局统计特征FG和小波分解能量谱特征FE
(2)按照步骤7和8计算样本的局部熵序列特征向量表示FL,然后利用训练阶段得到的codebook按照步骤10和11对其进行编码,最后计算样本的统计直方图特征表示FL
(3)将三个特征向量FG,FE,FL进行组合得到特征向量F,然后对特征向量按照最大值最小值进行归一化,得到归一化的训练样本特征向量Fnorm
(4)将Fnorm输入到分类器CRF进行预测,并根据输出得到相应的检测结果(输出为1表示为恶意样本,输出为0表示为非恶意样本)。
上述方法的基本原理如下:
一个恶意文档一般主要由两部分数据构成,一部分是基本文档格式数据,这些数据用来保证文档满足基本的格式需求。另外一部分则是插入的外部额外恶意数据,这些数据一般用来进行漏洞触发利用以及投放攻击载荷。一般包含漏洞利用触发代码、shellcode以及其他辅助利用代码(如堆喷射、NOP指令,ROP指令等)。此外大部分文档还会将恶意的可执行PE文件等经过加密后嵌入到文档中。这些数据一般都是按照顺序组织排列在一起。每个文档针对的漏洞不同,这些数据会被插入到文档的不同位置。而正常文档中,则应该包含基本的格式数据和文档内容数据。由于这些插入的外部恶意数据一般都具有功能和结构上的相似性,并且大部分经过加密变换处理。外部插入数据一般经过加密变换等处理导致其文件整体熵信息比较高,并且在局部的熵序列分布上具有相似的特点。基于这些特点,我们的方法主要通过将文档字节序列转换为文档熵序列,并在熵序列的基础上提取出其全局分布特征和结构化熵特征,最后将提取的特征送入机器学习模型来训练判别模型。在全局特征提取中,我们提取了能反映熵序列分布的全局特征信息,分别是熵序列长度、熵序列平均值、熵序列平均方差、熵序列最大值、熵序列中熵值大于7.0的序列所占百分比、熵序列中熵值为0的序列所占的百分比等6个全局特征,这6个全局特征反应了熵序列的整体分布情况。在细节特征和局部特征上,我们利用离散小波变换(Discrete Wavelet Transform,DWT)和词袋模型(Bag of words,BOW)来分别提取细节特征和局部特征。我们将这两种特征统称为结构熵特征。其中DWT通过对文档熵序列进行多层次的分解,并最后计算其小波能量谱后得到其细节特征。而在BOW模型中,我们通过将所有的训练样本分割成固定长度的小块并计算每个小块的离散小波分解的近似系数,将得到的分解系数作为局部特征。在此基础上,通过K-means算法进行聚类得到多个聚类中心作为编码字典。得到编码字典后对每个样本的局部快进行特征编码,最后单个样本的局部块编码后的数据计算直方图后得到其局部特征表示。由于BOW模型忽略了序列的位置信息,而只关心某些局部序列是否存在,因此其能够用于表征插入恶意数据后文档的特征信息分布。最后我们将全局特征和局部特征送入分类器后进行模型的训练,最后用训练好的分类器进行新的样本的检测。
具体地,所述步骤(1)中,我们主要针对PDF和Office07格式的样本数据进行预处理(docx,xlsx,pptx)。其中PDF文件的流对象中(object),大部分都进行了压缩或者编码处理,而在object对象中一般都说明了其使用的编码或者压缩类型,我们根据其编码或者压缩类型对的流进行解压缩或解编码;而针对Office07格式的样本中,其主要是进行了压缩处理,因此我们先对文档进行解压缩。
所述步骤(2)中,将预处理后的字节序列拆分成256个字节大小的基本块,如果最后一个块少于256个字节,则丢弃。对于每个基本块,按照如下公式计算其熵值:
Figure GDA0003104583890000041
如果一个基本块中所有的字节都相同,则其值为0,如果基本块中的所有值都不相同,则其熵值为8。
所述步骤(3)中,在熵序列基础上计算其全局统计信息;
所述步骤(4)中,利用Haar小波来对熵序列进行离散小波分解,其中Haar小波的母函数的表示如下:
Figure GDA0003104583890000042
进行小波分解时,需要根据Haar小波母函数进行分别进行缩放和转换得到小波函数簇,各个层级的小波函数簇由如下公式计算:
ψj,k(t)=2j/2ψ(2jt-k) (3)
在上面式子中要求j是2的幂次方。在得到小波函数簇后,计算各个层级的小波分级系数,计算公式如下:
Figure GDA0003104583890000043
这里我们对每个信号总共进行20层级的离散小波变换。
所述步骤(5)中,在得到离散小波分解的系数dj,k后,我们将按照如下公式来计算其各个层级的能量谱:
Figure GDA0003104583890000044
通过计算能力谱,我们总共得到20个层级的能量谱特征。
在步骤7中,我们按照步长为6对熵序列信号进行分割,得到不重叠的局部块。
在步骤8中,在计算Haar小波的近似系数时,我们分三个步骤完成;
首先计算Haar小波的尺度函数,其尺度函数表现形式如下:
Figure GDA0003104583890000045
然后根据尺度函数计算Haar小波的尺度函数簇,尺度函数簇是对尺度函数进行尺度分解后得到的函数簇,尺度函数簇计算形式如下:
φj,k(t)=2j/2φ(2jt-k) (7)
得到各个分解层级的尺度函数簇后,各个层级的近视实数计算形式如下:
Figure GDA0003104583890000051
这里要求j也必须是2的幂次方,进行三个层级的分解时,j的取值分别为1,2,4;在进行三个层级分解完成后,将三个层级的近视系数进行组合,并将其作为局部特征。
在步骤9中,我们使用K-means算法将所有的局部特征进行聚类,我们基于欧式距离来进行距离的度量。在K-means算法中,通过求解如下目标函数得到聚类中心:
Figure GDA0003104583890000052
这里我们设置类大小为250,因此该步骤我们将得到250个聚类中心,这些聚类中心构成一个codebook,用于进行样本的编码。
在步骤10中,我们基于得到的聚类中心对每个样本的特征向量进行编码,其中在计算单个局部特征与聚类中心的距离时,我们基于欧式距离来计算局部块与聚类中心的距离。如果一个局部块与某个聚类中心距离较近,那么我们将该codeword赋予该局部块。
在步骤11中,我们将一个样本中所有的codeword按照数量进行统计并计算相应统计直方图,这些直方图将作为样本的词袋编码特征。
在步骤13中,我们将三种特征进行组合,并按照最大最小值进行数据归一化,得到表征每个样本的熵分布特征。其最大最小值归一化由如下公式定义:
Figure GDA0003104583890000053
在步骤14中,我们将上述步骤得到的训练样本的特征向量Fnorm和对应的标签(恶意样本为标签为1,非恶意样样本的其标签为0)输入随机森林分类器,并将随机森林分类器的参数N_estimator和Max_depth分别设置成500和30后进行模型的训练,最后得到分类器CRF
在测试验证步骤中,我们将新样本按照步骤1-5计算其全局和离散小波分解特征,在根据步骤10中得到的字典codebook按照步骤11对其进行编码,得到其局部特征。最后按照步骤13将样本特征进行归一化处理,并将归一化后的特征送入分类器CRF进行预测分类。
本发明的有益效果在于:
本发明利用了恶意文档熵的统计分布信息来实现对恶意文档进行判别。在特征提取中,充分考虑了外部插入恶意数据对文档熵分布的影响,通过提取其全局统计信息、细节信息以及局部统计信息。在此基础上构建恶意代码分类模型,并用于恶意文档的预测。该方法从熵信号的角度提取了表征恶意外部数据的特征,能够有效进行恶意代码的检测。该方法不依赖于文档的结构特征,因此能够适用于检测多种格式的文档。此外,该方法只是对文档进行静态的检测,因此其开销较小,能够应用于大规模的恶意文档的检测。
附图说明
图1是本发明中的总体框架结构图;
图2是本发明实施中正常文档和恶意文档的熵序列分布图;
图3是本发明实施中正常文档和恶意文档的离散小波分解层级图;
图4是本发明实施中文示例文档的基于词袋编码的直方图分布;
图5是本发明实施中不同分类器的测试结果图;
图6是本发明实施中不同N_estimator参数对分类器性能的影响;
图7是本发明实施中不同Max_depth参数对分类器性能的影响;
图8为本发明的方法与15类主流杀毒软件的对比结果;
具体实施方式
下面结合具体实施例和附图对本发明作进一步说明:
为了使本发明所述恶意文档检测方法更加便于理解和接近于真实应用,下面从检测模型构建和用于实际样本的检测进行整体流程的说明,其中包括本发明的核心特征提取方法。
(1)收集相关的样本并对其进行标注,如果为恶意则标注为1,如果为非恶意则将其标注为0。构建样本库时正常和恶意样本按照1:1的比例进行收集。为了提高检测的准确率,样本库总量应该在1万个以上。在我们的方法中我们总共构建了10394个样本,其中恶意样本5351个,正常样本5043个。正常样本和恶意样本分别包含Microsoft Office和PDF格式的文档。
(2)针对部分格式的样本进行预处理。其中主要针对Office 07和PDF文件进行预处理。针对Office 07样本,我们首先对其进行解压缩操作,然后将解压后各个部分的文件计算字节流序列。另外一个部分则是PDF文档,PDF文档中存在很多流对象,其中很多都经过压缩或者编码处理,根据Object对象编码的方式对其进行解压缩或者解码操作。
(3)对每个样本以256个字节大小的窗口进行滑动并通过公式(1)计算熵值,最后得到其熵序列。图2展示了三个正常样本和恶意样本的熵序列图,其中左边的三张是正常样本的熵序列,而右边三张是恶意样本的熵序列。
(4)得到熵序列后,分别计算其6个统计特征,作为样本的熵序列全局特征。
(5)在熵序列基础上,根据公式2、3、4、5计算其样本的小波分解特征。在实际中我们针对每个样本计算了其20层级的特征。如果一个样本的长度较小,其分解层级不足20层,那么我们将不足的进行补零从而进行对齐操作。图3分别是正常文档和恶意文档进行1-5个层级分解得到的近似部分以及能量谱特征。左边是恶意样本的1-5层级分解示意图及相应的能量谱,右边是正常样本的1-5层级分解示意图及相应的能量谱。
(6)在熵序列基础上,将序列分割成长度为6的局部小块。如果样本中的最后一个小块的长度低于6,则将其丢弃。
(7)针对每个小块,根据公式(6)计算局部小块的3层级Haar小波分解细节系数,三个层级的近似系数构成局部块的特征。该步骤得到长度为5的特征向量。
(8)依次迭代计算所有小块的离散小波分解特征向量,在此基础上根据公式(7)对所有特征向量进行聚类,类的大小的设置为250。该步骤聚类后得到250个聚类中心,每个聚类中心我们称之为一个codeword。我们将该所有聚类中心构建成编码表(codebook)。
(9)利用构建的编码表对一个样本的中所有局部序列以欧式距离进行度量,给每一个局部序列分配一个距离最近的codeword。最后根据一个样本的所有codeword构建其统计直方图。该步骤中,每个样本都可以得到一个250维度的直方图统计特征。图4是三个样本的直方图统计分布,其中左边三行是三个样本的熵序列,而对应的右边三行则是其相应的直方图分布。
(10)在得到样本的三类特征后,对三类样本进行组合并进行归一化后得到样本的熵序列分布特征表示。
(11)将样本集按照7:3的比例分成训练集和测试集。将训练集样本的特征和对应的标签输入分类器进行模型的训练,这里以5类分类器来进行测试,以验证哪个分类器更加适合对该任务进行分类。该步骤进行进行10次试验,每次都对样本集合按照7:3比例进行随机拆分。最后取10次试验的平均值作为结果。图5是5类分类器的测试结果,从图中可以看到,随机森林分类器的效果较好。其整体准确率和召回率在95%以上。
(12)对随机森林分类器的参数进行调整,分表调整两个参数N_estimator和Max_depth。经过实验测试,当N_estimator和Max_depth分别为500和30时,分类器效果较好,其ROC曲线达到0.985。图6和图7分别是在不同N_estimator和Max_depth下的ROC值。
(13)为了进一步验证模型的有效性,将训练好的模型和15类杀毒软件进行的比较测试。图8是性能比较结果,实验结果显示我们发明的方法在真阳性率(True positiverate,TPR)上优于目前主流的杀毒软件,其TPR达到0.967。
上述实施例只是本发明的较佳实施例,并不是对本发明技术方案的限制,只要是不经过创造性劳动即可在上述实施例的基础上实现的技术方案,均应视为落入本发明专利的权利保护范围内。

Claims (3)

1.一种基于熵信息分布的恶意文档检测方法,其特征在于,包括以下步骤:
步骤一:对文档进行预处理,并计算文档的熵序列;
步骤二:在文档的熵序列基础上,提取熵序列的全局特征和结构化熵特征,其中结构化熵特征包括:基于离散小波变换的细节特征和基于词袋模型的局部编码特征;
步骤三:将三种提取的特征进行组合,并按照最大值最小值的方式进行归一化后得到样本的特征;
步骤四:将归一化处理后的特征送入到机器学习模型进行训练,并对模型相关参数进行优化后得到检测模型;
步骤五:利用训练好的模型对新的文档进行检测。
2.根据权利要求1所述的基于熵信息分布的恶意文档检测方法其特征在于:在对文档进行预处理步骤中,针对DOCX文档,对其按照ZIP格式进行解压缩操作;针对PDF文档的Object流对象,按照流对象的编码或者压缩格式进行相应的解码或者解压缩,其中流对象的编码格式通过流对象的标签信息获取;在计算文档熵序列时,以256字节的窗口进行滑动并依次计算单个窗口的熵值,所有块的熵值依次进行排列后得到文档的熵序列V=[v1,v2,......,vi],在该步骤中,单个块的熵值按照公式1进行计算:
Figure FDA0003104583880000011
3.根据权利要求2所述的基于熵信息分布的恶意文档检测方法其特征在于:
(1)在提取熵序列的全局统计特征时,提取的6种全局统计特征如下:熵序列长度、熵序列平均值、熵序列平均方差、熵序列最大值、熵序列中熵值大于7.0的序列所占百分比、熵序列中熵值为0的序列所占的百分比;
(2)在提取结构化熵特征时,分别基于离散小波变换(Discrete Wavelet Transform,DWT)和词袋模型(Bag of Words,BOW)来计算熵序列的细节特征和局部特征;其中利用离散小波变换进行细节特征提取时,利用Haar小波对熵序列进行分解,针对单个熵序列,进行20层级的分解,提取每个层级的细节分解系数;其中Haar小波的母函数表示形式如公式2所示:
Figure FDA0003104583880000012
在进行细节系数计算时,首先根据Haar母函数计算其小波函数簇,计算过程如公式3所示:
ψj,k(t)=2j/2ψ(2jt-k) (3)
得到小波函数簇后,根据下面式子计算各个层级的细节分解系数:
Figure FDA0003104583880000013
上述式子中要求j为2的幂次方;对信号进行20层级的分解并得到分解的细节系数后,计算其能量谱特征,总共得到20个能量谱特征,对于分解层级不足20层的,对其能量谱特征进行补0操作;能量谱计算形式如公式5所示:
Figure FDA0003104583880000021
(3)在基于词袋模型的局部特征提取中,将所有的样本的熵序列以6个序列为一个小块长度分解成多个局部小块,针对每个小块利用Haar小波进行3层级的离散小波分解,将三个层级离散小波分解的近似系数依次进行组合,得到维度为5的局部块特征;其中近似系数分解计算过程分为三个步骤:
首先计算Haar小波的尺度函数,其尺度函数表现形式如公式6所示:
Figure FDA0003104583880000022
然后根据尺度函数计算Haar小波的尺度函数簇,尺度函数簇是对尺度函数进行尺度分解后得到的函数簇,尺度函数簇计算形式如公式7所示(其中j=1,2,4):
φj,k(t)=2j/2φ(2jt-k) (7)
得到各个分解层级的尺度函数后,各个层级的近似系数计算形式如公式8(其中j=1,2,4):
Figure FDA0003104583880000023
对所有块按照上述三个步骤计算得到局部块特征后,对所有的局部块特征利用K-means算法进行聚类,其类大小设置为250,得到大小为250的codebook;针对单个样本的所有局部序列,利用codebook对其进行编码,在进行编码时以欧式距离进行相似度度量,将距离最近的codeword赋予给相应的局部块;当一个样本的所有局部块都编码完成后,根据样本中codewords的分布计算直方图分布,直方图分布即作为局部块的局部编码特征。
CN201810409421.8A 2018-06-15 2018-06-15 一种基于熵信息分布的恶意文档检测方法 Active CN108710797B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810409421.8A CN108710797B (zh) 2018-06-15 2018-06-15 一种基于熵信息分布的恶意文档检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810409421.8A CN108710797B (zh) 2018-06-15 2018-06-15 一种基于熵信息分布的恶意文档检测方法

Publications (2)

Publication Number Publication Date
CN108710797A CN108710797A (zh) 2018-10-26
CN108710797B true CN108710797B (zh) 2021-08-17

Family

ID=63868634

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810409421.8A Active CN108710797B (zh) 2018-06-15 2018-06-15 一种基于熵信息分布的恶意文档检测方法

Country Status (1)

Country Link
CN (1) CN108710797B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110210224B (zh) * 2019-05-21 2023-01-31 暨南大学 一种基于描述熵的大数据移动软件相似性智能检测方法
CN111797401B (zh) * 2020-07-08 2023-12-29 深信服科技股份有限公司 一种攻击检测参数获取方法、装置、设备及可读存储介质
CN112487422B (zh) * 2020-10-28 2023-04-04 中国科学院信息工程研究所 一种恶意文档检测方法、装置、电子设备及存储介质
CN112966267A (zh) * 2021-03-02 2021-06-15 北京六方云信息技术有限公司 基于机器学习的恶意文件检测方法及系统
CN114826793B (zh) * 2022-07-04 2022-09-02 中国人民解放军国防科技大学 一种rop链的检测方法、装置及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106021330A (zh) * 2016-05-06 2016-10-12 浙江工业大学 一种用于混合轮廓线视图下的三维模型检索方法
CN107220607A (zh) * 2017-05-22 2017-09-29 西安电子科技大学 基于3d平稳小波的运动轨迹行为识别方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120105759A (ko) * 2011-03-16 2012-09-26 한국전자통신연구원 악성 코드 시각화 장치와 악성 코드 탐지 장치 및 방법
CN102346829B (zh) * 2011-09-22 2013-09-18 重庆大学 基于集成分类的病毒检测方法
EP3111614B1 (en) * 2014-02-28 2018-04-18 British Telecommunications public limited company Malicious encrypted network traffic identification
CN106096405B (zh) * 2016-04-26 2019-07-05 浙江工业大学 一种基于Dalvik指令抽象的Android恶意代码检测方法
CN106778241B (zh) * 2016-11-28 2020-12-25 东软集团股份有限公司 恶意文件的识别方法及装置
CN107948168A (zh) * 2017-11-29 2018-04-20 四川无声信息技术有限公司 网页检测方法及装置
CN107908963B (zh) * 2018-01-08 2020-11-06 北京工业大学 一种自动化检测恶意代码核心特征的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106021330A (zh) * 2016-05-06 2016-10-12 浙江工业大学 一种用于混合轮廓线视图下的三维模型检索方法
CN107220607A (zh) * 2017-05-22 2017-09-29 西安电子科技大学 基于3d平稳小波的运动轨迹行为识别方法

Also Published As

Publication number Publication date
CN108710797A (zh) 2018-10-26

Similar Documents

Publication Publication Date Title
CN108710797B (zh) 一种基于熵信息分布的恶意文档检测方法
US11409869B2 (en) Automatic threat detection of executable files based on static data analysis
Sun et al. Deep learning and visualization for identifying malware families
CN107908963B (zh) 一种自动化检测恶意代码核心特征的方法
Chen et al. Automatic ransomware detection and analysis based on dynamic API calls flow graph
CN109784056B (zh) 一种基于深度学习的恶意软件检测方法
Veenman Statistical disk cluster classification for file carving
Ito et al. Web application firewall using character-level convolutional neural network
JP5183483B2 (ja) データ列の自動比較に用いられる方法およびその装置
Li et al. A novel support vector machine approach to high entropy data fragment classification
Xiaofeng et al. ASSCA: API sequence and statistics features combined architecture for malware detection
KR102279983B1 (ko) 딥러닝 알고리즘을 이용한 비지도 방식의 네트워크 침입 탐지 방법 및 이를 실행하기 위한 프로그램이 기록된 기록매체
Sriram et al. Multi-scale learning based malware variant detection using spatial pyramid pooling network
Yang et al. Estimating JPEG compression history of bitmaps based on factor histogram
CN115600200A (zh) 基于熵谱密度和自适应收缩卷积的安卓恶意软件检测方法
Jung et al. Packer identification method based on byte sequences
CN113283901B (zh) 一种面向区块链平台的基于字节码的诈骗合约检测方法
Wang et al. File fragment type identification with convolutional neural networks
Čeponis et al. Evaluation of deep learning methods efficiency for malicious and benign system calls classification on the AWSCTD
CN113762294A (zh) 一种特征向量维度压缩方法、装置、设备、介质
Pullaperuma et al. Taxonomy of File Fragments Using Gray-Level Co-Occurrence Matrices
Jiang et al. Detecting malicious pdf documents using semi-supervised machine learning
Cannarile et al. A Study on Malware Detection and Classification Using the Analysis of API Calls Sequences Through Shallow Learning and Recurrent Neural Networks.
Nguyen et al. The impact of data fragment sizes on file type recognition
Rotbart et al. Randomized lu decomposition: An algorithm for dictionaries construction

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