一种基于空间填充曲线的恶意代码可视化分析方法与流程

文档序号:15258017发布日期:2018-08-24 20:58阅读:366来源:国知局

本发明涉及恶意代码可视化分析技术领域,特别是涉及一种基于空间填充曲线的恶意代码可视化分析方法。



背景技术:

提取指纹特征是一种标识恶意代码的常见方法,但由于恶意样本数量急剧增殖,新增指纹特征如不及时更新就会延误恶意代码检测。传统的方法还包括静态和动态的代码分析:静态分析是通过代码反汇编,检查程序的控制流来查找恶意模式;动态分析是在虚拟环境中运行恶意代码,通过其行为刻画其属性。然而,静态方法只能在恶意代码不使用混淆技术时才能提供较全面的信息;动态方法只能在虚拟环境满足触发条件时才能观察到恶意行为。因此,为了克服现有分析技术的缺点,提高安全分析人员工作效率,将可视化技术引入恶意代码分析领域,借助图像处理技术在人工智能领域的优势,来解决恶意代码识别与分类的问题,是当前网络安全研究的热点。

2011年,l.nataraj等人提出了利用由恶意代码生成的灰度图纹理进行分类的方法。如图1所示,该方法将二进制文件每8位转换为像素的灰度值,以此将恶意文件转换成灰度图;随后,该方法提取灰度图的gist纹理特征,运用k-nearestneighbor(knn)分类算法验证,取得了较高的分类正确率。

虽然natarajl,karthikeyans,jacobg,etal.malwareimages:visualizationandautomaticclassification[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是现有技术中灰度图纹理分类方法示意图;

图2是rootkit.win32.podnuha类样本.alo的可视化图,其中图2a为格雷图、图2b为希尔伯特图、图2c之形图;

图3是backdoor.win32.rukap类样本.geu的可视化图,其中图3a为格雷图、图3b为希尔伯特图、图3c之形图;

图4是backdoor.win32.rukap类样本.kl的可视化图,其中图4a为格雷图、图4b为希尔伯特图、图4c之形图;

图5是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:visualizationandautomaticclassification[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的图像,如图3-5所示,本发明在进行同族恶意样本分析时,能从多个视角发现图像间的细微差异,为掌握该族变种演进提供了依据。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1