CN108446558B - 一种基于空间填充曲线的恶意代码可视化分析方法 - Google Patents
一种基于空间填充曲线的恶意代码可视化分析方法 Download PDFInfo
- Publication number
- CN108446558B CN108446558B CN201810128224.9A CN201810128224A CN108446558B CN 108446558 B CN108446558 B CN 108446558B CN 201810128224 A CN201810128224 A CN 201810128224A CN 108446558 B CN108446558 B CN 108446558B
- Authority
- CN
- China
- Prior art keywords
- graph
- malicious
- malicious code
- sequence
- gray
- 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
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
- G06F21/563—Static detection by source code analysis
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种基于空间填充曲线的恶意代码可视化分析方法,包括以下步骤:将恶意代码原文件分别生成希尔伯特图和格雷图;将恶意代码的局部熵生成“之”形图;借助纹理分析方法和卷积神经网络,分别对希尔伯特图和格雷图提取Gist特征,以最近邻原则实施分类,而对“之”形图采用VGG19网络提取图像特征,以支持向量机实施分类。本发明不仅可用于恶意代码的检测及分类,还能在恶意代码分析时使分析人员直观的了解某恶意样本是否存在加密或压缩。
Description
技术领域
本发明涉及恶意代码可视化分析技术领域,特别是涉及一种基于空间填充曲线的恶意代码可视化分析方法。
背景技术
提取指纹特征是一种标识恶意代码的常见方法,但由于恶意样本数量急剧增殖,新增指纹特征如不及时更新就会延误恶意代码检测。传统的方法还包括静态和动态的代码分析:静态分析是通过代码反汇编,检查程序的控制流来查找恶意模式;动态分析是在虚拟环境中运行恶意代码,通过其行为刻画其属性。然而,静态方法只能在恶意代码不使用混淆技术时才能提供较全面的信息;动态方法只能在虚拟环境满足触发条件时才能观察到恶意行为。因此,为了克服现有分析技术的缺点,提高安全分析人员工作效率,将可视化技术引入恶意代码分析领域,借助图像处理技术在人工智能领域的优势,来解决恶意代码识别与分类的问题,是当前网络安全研究的热点。
2011年,L.Nataraj等人提出了利用由恶意代码生成的灰度图纹理进行分类的方法。如图1所示,该方法将二进制文件每8位转换为像素的灰度值,以此将恶意文件转换成灰度图;随后,该方法提取灰度图的Gist纹理特征,运用K-NearestNeighbor(KNN)分类算法验证,取得了较高的分类正确率。
虽然NatarajL,KarthikeyanS,JacobG,etal.Malwareimages:visualizationandautomatic classification[C].InternationalSymposiumonVisualizationforCyberSecurity.ACM,2011:1-7.的方法在视觉上可以反映出同族恶意代码具有相似的图案纹理,也在分类方面获得了较优的结果,但该方法在恶意样本分析时存在以下问题:1、该方法生成的灰度图与恶意样本原文件大小成正比,如果原文件数据量较大,则大型的灰度图文件会被系统误判为解压炸弹拒绝服务攻击(DecompressionBombDosAttack),从而导致分析程序终止;2、恶意代码中的可打印字符能提示该样本的功能,但从灰度图的表征中无法显见;且恶意代码常用混淆技术隐藏其恶意活动,而灰度图无法直观的反映样本是否存在加密或加壳的情况。
发明内容
本发明所要解决的技术问题是提供一种基于空间填充曲线的恶意代码可视化分析方法,能使分析人员直观的了解某恶意样本是否存在加密或压缩。
本发明解决其技术问题所采用的技术方案是:提供一种基于空间填充曲线的恶意代码可视化分析方法,包括以下步骤:
(1)将恶意代码原文件分别生成希尔伯特图和格雷图;
(2)将恶意代码的局部熵生成“之”形图;
(3)借助纹理分析方法和卷积神经网络,分别对希尔伯特图和格雷图提取Gist特征,以最近邻原则实施分类,而对“之”形图采用VGG19网络提取图像特征,以支持向量机实施分类。
所述步骤(1)具体为:先将恶意样本规范为固定长度的字节序列;在此基础上,将新的字节序列以不同色系区别标记可打印字符和非可打印字符,再将标记了RGB颜色值的像素序列分别以8阶Hilbert曲线和8阶Gray曲线遍历256*256二维平面的顺序填充图像,分别生成希尔伯特图和格雷图。
所述新的字节序列以绿色系和品红色系区别标记可打印字符和非可打印字符。
所述步骤(2)具体为:将恶意样本的局部熵规范化为固定长度的熵值序列,通过扩展熵值范围,以不同色系区别标记不同阈值范围的熵值,再将标记有RGB颜色值的像素序列按Zigzag曲线扫描256*256二维平面的顺序映射为“之”形图。
以红、绿两种色系区别标记不同阈值范围的熵值。
有益效果
由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明在视觉分析方面,能使分析人员直观的了解某恶意样本是否存在加密或压缩,也能从图像中掌握可打印字符在恶意样本中的信息分布;在类内分析方面,能使分析人员就同族样本的相似图案区域研究该族的演化发展趋势;在分析效率方面,本发明无须反汇编或沙箱运行,且能以程序自动化的方式操作,提高了分析效率,降低了对分析人员业务水平的要求;在检测分类方面,本发明充分利用了不同的空间填充曲线在恶意代码识别和分类上的优势,在确定待测样本归属时能提供较全面的判据。
附图说明
图1是现有技术中灰度图纹理分类方法示意图;
图2A-图2C是Rootkit.Win32.Podnuha类样本.alo的可视化图,其中图2A为格雷图、图2B为希尔伯特图、图2C为之形图;
图3A-图3C是Backdoor.Win32.Rukap类样本.geu的可视化图,其中图3A为格雷图、图3B为希尔伯特图、图3C为之形图;
图4A-图4C是Backdoor.Win32.Rukap类样本.kl的可视化图,其中图4A为格雷图、图4B为希尔伯特图、图4C为之形图;
图5A-图5C是Backdoor.Win32.Rukap类样本.lc的可视化图,其中图5A为格雷图、图5B为希尔伯特图、图5C为之形图;
图6是本发明的流程图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
本发明的实施方式涉及一种基于空间填充曲线的恶意代码可视化分析方法,该方法以同族恶意代码的可视化表征相似而异族恶意代码的可视化表征差异较大为前提,利用空间填充曲线的局部自相似性。如图6所示,先将恶意样本规范为固定长度的字节序列;在此基础上,将新的字节序列以绿色系和品红色系区别标记可打印字符和非可打印字符,再将标记了RGB颜色值的像素序列分别以8阶Hilbert曲线和8阶Gray曲线遍历256*256二维平面的顺序填充图像,分别生成希尔伯特图和格雷图;与此同时,将恶意样本的局部熵也规范化为固定长度的熵值序列,通过扩展熵值范围,以红、绿两种色系区别标记不同阈值范围的熵值,再将标记有RGB颜色值的像素序列按Zigzag曲线扫描256*256二维平面的顺序映射为“之”形图。该方法在分类验证时,借助纹理分析方法和卷积神经网络,分别对希尔伯特图、格雷图提取Gist特征,以最近邻原则(NearestNeighbor)实施分类,而对“之”形图采用VGG19网络提取图像特征,以支持向量机(SVM)实施分类。
用于验证本发明分类正确率和识别正确率的样本包括VXHeavens官方网站下载的24类共计7162个以卡巴斯基命名规则命名的恶意样本,以及9175个微软操作系统上正常的可执行文件。
实施例1
一种基于空间填充曲线的恶意代码可视化分析方法,具体为:
步骤1:以Rootkit.Win32.Podnuha类样本.alo为例,其文件大小为205824字节,该序列以十进制表示为77-90-80-0-0-2-0-0-0-4-0-15-0-255-255-0-0……,按步长Step=205824/65536=3.140625采样,则新序列为77-0-0-4-0-0……;接着给字节标记RGB值:字节77为可打印字符,只使用绿色通道,故RGB值标记为(0,77,0),字节0为非可打印字符,同时使用红色和蓝色通道,故其RGB值标记为(0,0,0),同理字节4为非可打印字符,其RGB值标记为(4,0,4)……;最后,将标记RGB值的像素序列按8阶Hilbert曲线遍历256*256二维平面的顺序填充该区域,生成希尔伯特图,如图2A所示,具体操作为:像素点(0,77,0)的xy坐标为(0,0)、像素点(0,0,0)的xy坐标为(0,1)、像素点(0,0,0)的xy坐标为(1,1)、像素点(4,0,4)的xy坐标为(1,0)、像素点(0,0,0)的xy坐标为(2,0)、像素点(0,0,0)的xy坐标为(3,0)、之后的像素点xy坐标依次为(3,1)、(2,1)、(2,2)、(3,2)、(3,3)、(2,3)、(1,3)、(1,2)、(0,2)……;同时,将该RGB像素序列按8阶Gray曲线遍历256*256二维平面的顺序填充该区域,生成格雷图,如图2B所示,具体操作为:像素点(0,77,0)的xy坐标为(0,0)、像素点(0,0,0)的xy坐标为(0,1)、像素点(0,0,0)的xy坐标为(1,1)、像素点(4,0,4)的xy坐标为(1,0)、像素点(0,0,0)的xy坐标为(1,2)、像素点(0,0,0)的xy坐标为(1,3)、之后的像素点xy坐标依次为(0,3)、(0,2)、(2,2)、(2,3)、(3,3)、(3,2)、(3,0)、(3,1)、(2,1)、(2,0)……;
步骤2:该恶意样本的局部熵值序列为1.53173785、1.267847、1.83525215、0.0511036、3.09426827……,该熵值序列长度为804,同样以步长Step=804/65536=0.012268采样,规范后的序列为1.53173785(j=0,j的取值范围在[0,65535]之间,表示65536固定长度序列的次序)、1.53173785(j=1)、……1.53173785(j=81)、1.267847(j=82)、1.267847(j=83)、……1.267847(j=163)、1.83525215(j=164)……;接着,新熵值序列按指数形式扩展为2(j=0)、2(j=1)、……2(j=81)、2(j=82)、2(j=83)、……2(j=163)、3(j=164)……;由于这些熵值没有超过6,故只使用绿色通道,则RGB颜色值标记为(0,2,0)(j=0)、(0,2,0)(j=1)、……(0,2,0)(j=81)、(0,2,0)(j=82)、(0,2,0)(j=83)、……(0,2,0)(j=163)、(0,3,0)(j=164)……;最后,将该RGB像素序列按Zigzag曲线扫描256*256二维平面的顺序填充,生成“之”形图,如图2C所示,具体操作为:像素点(0,2,0)的xy坐标为(0,0)、像素点(0,2,0)的xy坐标为(1,0)……像素点(0,2,0)的xy坐标为(81,0)、像素点(0,2,0)的xy坐标为(82,0)、像素点(0,2,0)的xy坐标为(83,0)……像素点(0,2,0)的xy坐标为(163,0)、像素点(0,3,0)的xy坐标为(164,0)、之后的像素点xy坐标依次为(255,0)、(255,1)、(254,1)……(0,1)、(0,2)……(255,2)……。
将全部7162个恶意样本转化成希尔伯特图后,提取Gist特征,应用最近邻分类算法,进行10次交叉验证的结果分别为0.9834、0.9820、0.9736、0.9847、0.9791、0.9805、0.9832、0.9817、0.9788、0.9844,即平均分类正确率为0.9812;同时,将这7162个恶意样本与9175个正常的可执行文件所生成的格雷图同样提取Gist特征和应用最近邻分类算法,进行10次交叉验证的结果分别为0.9886、0.9857、0.9900、0.9895、0.9891、0.9819、0.9815、0.9895、0.9895、0.9933,即平均识别正确率为0.9879;再将这7162个恶意样本关于其局部熵的“之”形图,应用VGG19网络提取特征后,采用SVM进行10次交叉验证的结果分别为0.9903、0.9862、0.9847、0.9875、0.9889、0.9735、0.9846、0.9789、0.9873、0.9872,即平均分类正确率为0.9849。
将NatarajL,KarthikeyanS,JacobG,etal.Malwareimages:visualizationandautomatic classification[C].InternationalSymposiumonVisualizationforCyberSecurity.ACM,2011:1-7.的方法对上述7162个恶意样本进行10次交叉验证的结果分别为0.9793、0.9696、0.9667、0.9736、0.9722、0.9749、0.9734、0.9733、0.9774、0.9816,即平均分类正确率为0.9742;而该方法对上述7162个恶意样本和9175个正常的可执行文件进行10次交叉验证的结果分别为0.9344、0.9391、0.9363、0.9387、0.9477、0.9486、0.9301、0.9339、0.9401、0.9325,即平均识别正确率为0.9381。通过以上数据说明本发明所提方法在恶意代码分类效果方面更优,在视觉分析方面提供的信息更全面。
实施例2
采用实施例1所述的基于空间填充曲线的恶意代码可视化分析方法,生成Backdoor.Win32.Rukap类样本.geu、.kl、.lc的图像,如图3A-图3C、图4A-图4C、以及图5A-图5C所示,本发明在进行同族恶意样本分析时,能从多个视角发现图像间的细微差异,为掌握该族变种演进提供了依据。
Claims (4)
1.一种基于空间填充曲线的恶意代码可视化分析方法,其特征在于,包括以下步骤:
(1)将恶意代码原文件分别生成希尔伯特图和格雷图;
(2)将恶意代码的局部熵生成“之”形图,具体为:将恶意样本的局部熵规范化为固定长度的熵值序列,通过扩展熵值范围,以不同色系区别标记不同阈值范围的熵值,再将标记有RGB颜色值的像素序列按Zigzag曲线扫描256*256二维平面的顺序映射为“之”形图;
(3)借助纹理分析方法和卷积神经网络,分别对希尔伯特图和格雷图提取Gist特征,以最近邻原则实施分类,而对“之”形图采用VGG19网络提取图像特征,以支持向量机实施分类。
2.根据权利要求1所述的基于空间填充曲线的恶意代码可视化分析方法,其特征在于,所述步骤(1)具体为:先将恶意样本规范为固定长度的字节序列;在此基础上,将新的字节序列以不同色系区别标记可打印字符和非可打印字符,再将标记了RGB颜色值的像素序列分别以8阶Hilbert曲线和8阶Gray曲线遍历256*256二维平面的顺序填充图像,分别生成希尔伯特图和格雷图。
3.根据权利要求2所述的基于空间填充曲线的恶意代码可视化分析方法,其特征在于,所述新的字节序列以绿色系和品红色系区别标记可打印字符和非可打印字符。
4.根据权利要求1所述的基于空间填充曲线的恶意代码可视化分析方法,其特征在于,以红、绿两种色系区别标记不同阈值范围的熵值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810128224.9A CN108446558B (zh) | 2018-02-08 | 2018-02-08 | 一种基于空间填充曲线的恶意代码可视化分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810128224.9A CN108446558B (zh) | 2018-02-08 | 2018-02-08 | 一种基于空间填充曲线的恶意代码可视化分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108446558A CN108446558A (zh) | 2018-08-24 |
CN108446558B true CN108446558B (zh) | 2022-05-06 |
Family
ID=63191979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810128224.9A Active CN108446558B (zh) | 2018-02-08 | 2018-02-08 | 一种基于空间填充曲线的恶意代码可视化分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108446558B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199680A (zh) * | 2020-10-16 | 2021-01-08 | 江苏小梦科技有限公司 | 一种移动互联网恶意软件检测的方法及系统 |
CN112329016B (zh) * | 2020-12-31 | 2021-03-23 | 四川大学 | 一种基于深度神经网络的可视化恶意软件检测装置及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104008333A (zh) * | 2013-02-21 | 2014-08-27 | 腾讯科技(深圳)有限公司 | 一种安装包的检测方法和设备 |
CN104376260A (zh) * | 2014-11-20 | 2015-02-25 | 东华大学 | 一种基于香农信息熵的恶意代码可视化分析方法 |
CN107609399A (zh) * | 2017-09-09 | 2018-01-19 | 北京工业大学 | 基于nin神经网络的恶意代码变种检测方法 |
-
2018
- 2018-02-08 CN CN201810128224.9A patent/CN108446558B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104008333A (zh) * | 2013-02-21 | 2014-08-27 | 腾讯科技(深圳)有限公司 | 一种安装包的检测方法和设备 |
CN104376260A (zh) * | 2014-11-20 | 2015-02-25 | 东华大学 | 一种基于香农信息熵的恶意代码可视化分析方法 |
CN107609399A (zh) * | 2017-09-09 | 2018-01-19 | 北京工业大学 | 基于nin神经网络的恶意代码变种检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108446558A (zh) | 2018-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110765458B (zh) | 一种基于深度学习的恶意软件图像格式检测方法及其装置 | |
CN110826059B (zh) | 面向恶意软件图像格式检测模型的黑盒攻击的防御方法及其装置 | |
Naeem et al. | Malware detection in industrial internet of things based on hybrid image visualization and deep learning model | |
CN107908963B (zh) | 一种自动化检测恶意代码核心特征的方法 | |
CN108985361B (zh) | 一种基于深度学习的恶意流量检测实现方法和装置 | |
Baptista et al. | A novel malware detection system based on machine learning and binary visualization | |
CN109829306B (zh) | 一种优化特征提取的恶意软件分类方法 | |
Chaganti et al. | Image-based malware representation approach with EfficientNet convolutional neural networks for effective malware classification | |
WO2022121218A1 (zh) | 智能图像识别方法、装置、计算机设备及存储介质 | |
CN104376260B (zh) | 一种基于香农信息熵的恶意代码可视化分析方法 | |
CN108280348B (zh) | 基于rgb图像映射的安卓恶意软件识别方法 | |
Sriram et al. | Multi-scale learning based malware variant detection using spatial pyramid pooling network | |
CN112036323B (zh) | 签名笔迹鉴别方法、客户端及服务器 | |
CN108090356A (zh) | 一种基于图像纹理和bp神经网络的恶意文件检测方法 | |
CN108446558B (zh) | 一种基于空间填充曲线的恶意代码可视化分析方法 | |
O’Shaughnessy | Image-based malware classification: A space filling curve approach | |
CN111488574B (zh) | 恶意软件分类方法、系统、计算机设备和存储介质 | |
CN108399335B (zh) | 一种基于局部熵的恶意代码可视化分析方法 | |
CN113221115A (zh) | 基于协同学习的可视化恶意软件检测方法 | |
Ravi et al. | Attention‐based convolutional neural network deep learning approach for robust malware classification | |
CN113904861A (zh) | 一种加密流量安全检测方法及装置 | |
CN115564970A (zh) | 一种网络攻击追踪溯源方法、系统及可存储介质 | |
Hashemi et al. | IFMD: image fusion for malware detection | |
CN108229168B (zh) | 一种嵌套类文件的启发式检测方法、系统及存储介质 | |
CN113420295A (zh) | 恶意软件的检测方法及装置 |
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 |