一种基于香农信息熵的恶意代码可视化分析方法

文档序号:6635094阅读:994来源:国知局
一种基于香农信息熵的恶意代码可视化分析方法
【专利摘要】本发明提供了一种基于香农信息熵的恶意代码可视化分析方法,包括:第一步:将恶意文件的二进制字节转换为“像素图”中像素点的黄色系明暗值,用绿色通道Ox50来标记像素值为Ox20-Ox7E的点;第二步:基于“像素图”的像素值来计算“像素图”中每个256字节块中像素值的局部熵,所述的局部熵按照如下的香农信息熵公式计算:其中,pi代表字节(像素)值i出现的概率,i的取值范围为Ox00-OxFF,Entropy为局部熵;计算局部熵值Entropy的f(Entropy)值,其计算公式为:f(Entropy)=2Entropy-1;以f(Entropy)的计算结果生成“熵图”;第三步:对f(Entropy)的计算结果进行归一化处理,生成“熵归一化图”。本发明能有效区分各族样本,在进行同族恶意代码分析时,能比较容易发现潜在的区别,为掌握该族变种演化规律提供了依据。
【专利说明】-种基于香农信息熵的恶意代码可视化分析方法

【技术领域】
[0001] 本发明涉及一种基于香农信息熵的恶意代码可视化分析方法。

【背景技术】
[0002] Malware (Malicious Software)是一种用于破坏计算机操作系统、窃取敏感信息 或非法访问隐私系统的软件,通常以代码、脚本、动态文本或其他软件形式出现。由于传统 的恶意程序分析过程往往复杂耗时,即使是经验丰富的安全分析人员也很难发现潜在的 攻击模式。为减轻认知负担、提高交互性,将信息可视化技术引入恶意代码分析领域,即 Malware安全可视化,正是近年来网络安全研究中的前沿热点。
[0003] 2008 年,美国西点军校(United States Military Academy West Point) 的Gregory Conti等人在其设计的可视化分析系统(如图I)中首次提出了灰度图 (Gray-scale Images)的思想,以独立于文本的分析视角来快速识别文件和剖析未知文件 格式。如图1所示,该系统用户界面的d区和g区分别对应被分析文件的ASCII格式字符 串和十六进制格式命令行;c区(Byteview)的像素(pixel)值与g区字节(Byte)的二进 制数对应,以灰度图的形式呈现文件的内在特征;b区(Byte Presence)根据c区每行中扩 展ASCII码值(0-255)的存在与否来标识自身区域中对应行所在的列,通过这样的映射操 作帮助用户掌握文件规律、发现其中异常;f区(Dot Plot)利用文件本身的字节序列矩阵 比较文件间的相似度,在用户分类时提供判断依据;其它a、e、h区集成了多种与用户互动 的辅助功能。
[0004] 然而,在分析文件相似性进行分类研究方面,Gregory Conti, Erik Dean, Matthew Sinda and Benjamin Sangster. Visual Reverse Engineering of Binary and Data Files[C]. VizSec 2008Symposium on Visualization for Cyber Security(VizSEC2008) 的方法使得计算量与文件大小成正比,分析的自动化程度受计算机硬件性能的制约;同时 在呈现文件内在特征方面,将字节所对应的C区像素值与反映ASCII码值存在情况的b区 割裂开来展示,不利于对被分析文件特征的全面理解。


【发明内容】

[0005] 本发明的目的是提供一种能较全面的研究分析恶意代码的方法。
[0006] 为了达到上述目的,本发明提供了一种基于香农信息熵的恶意代码可视化分析方 法,其特征在于,包括 :
[0007] 第一步:将恶意文件的二进制字节转换为"像素图"中像素点的黄色系明暗 值,用绿色通道0x50 (显示效果可能会因硬件设备不同存在细微差别)来标记像素值为 0x20-0x7E的点(即ASCII码中的可打印字符);
[0008] 第二步:基于"像素图"的像素值来计算"像素图"中每个256字节块中像素值的 局部熵,所述的局部熵按照如下的香农信息熵公式计算: 255
[0009] Entropy = -^pl x Iog2 pt
[0010] 其中,Pi代表字节(像素)值i出现的概率,i的取值范围为OxOO-OxFF,Entropy 为局部熵;
[0011] 计算局部熵Entropy的f (Entropy)值,其计算公式为:
[0012] f (Entropy) = 2Entropy-l ;
[0013] 以f (Entropy)的计算结果生成"熵图";
[0014] 第三步:对f (Entropy)的计算结果进行归一化处理,生成"熵归一化图"。
[0015] 优选地,所述的基于香农信息熵的恶意代码可视化分析方法还包括:
[0016] 第四步:对第一步中的"像素图"进行归一化处理,生成"像素归一化图"。
[0017] 本发明借鉴灰度图的思想,结合香农信息熵的定义,利用K-Nearest Neighbor(KNN)分类算法,给出了一种新的研究恶意代码谱系分类的可视化方法。具体技 术方案为:先将待检测的二进制文件转换为黄、绿两色通道的"像素图";在此基础上,通过 计算"像素图"的局部熵值来生成蓝绿色的"熵图";"熵图"再经过归一化处理,形成明暗不 同的绿色点阵分布,即"熵归一化图"。该方法利用局部熵计算及滑窗归一化处理机制,不仅 能大幅度减少大型文件在相似性分析时的运算量,而且能提高恶意代码族分类的可视化效 果。
[0018] 本发明采用Python语言编程实现,在Windows和Linux环境下均可运行。
[0019] 与现有的安全可视化技术相比,本发明的有益效果是:
[0020] 1、从视觉效果上,能有效地区分各类恶意代码族;
[0021] 2、在进行同族恶意代码分析时,能比较地容易发现潜在的区别,为掌握该族变种 演化规律提供了依据;
[0022] 3、将"熵图"、"熵归一化图"、"像素归一化图"三种可视化方法结合起来,能较全面 的研究分析恶意代码的整体及局部特征。
[0023] 4、本发明能通过建立人与数据间的图像通信,在单位时间内提供更全面的信息感 知,不仅提高了网络安全分析人员的工作效率,还能降低分析难度和对分析员技术水平和 经验的要求。
[0024] 5、本发明实现简单并可用于自动化操作,由于采用了降维映射和快速相似度比较 算法,使得图片生成时间开销小、相似度比较效率高

【专利附图】

【附图说明】
[0025] 图IGregory Conti设计的可视化系统示意图;
[0026] 图2为二进制文件转换为"像素图"的显示结果示例图;
[0027] 图3为"像素图"经局部熵计算转换为"熵图"的示例图;
[0028] 图4a为"熵图"经归一化处理转换为"熵归一化图"的示例图;
[0029] 图4b为局部熵值与像素值的映射关系图;
[0030] 图5为"像素图"经归一化处理转换为"像素归一化图"的示例图;
[0031] 图 6 为 Email-Worm. joleee. av 样本的"摘图";
[0032] 图 7 为 Email-Worm. joleee. aw 样本的"摘图";
[0033]图 8 为 Email-Worm. joleee. ba 样本的"摘图"。

【具体实施方式】
[0034] 为使本发明更明显易懂,兹以一优选实施例,并配合附图作详细说明如下。(用于 本发明测试的来自59个族的473个有害样本均从VX Heavens官方网站下载,所有样本均 采用卡巴斯基命名法)
[0035] 实施例
[0036] -种基于香农信息熵的恶意代码可视化分析方法,具体为:
[0037] 步骤1 :将恶意文件(Trojan. Regrun. rk)的二进制字节转换为"像素图"中像素点 的黄色系明暗值,用绿色通道0x50 (显示效果可能会因硬件设备不同存在细微差别)来标 记像素值为0x20-0x7E的点(即ASCII码中的可打印字符);如图2所示,其中黑色的部分 是背景颜色,即二进制字节为〇值。
[0038] 步骤2 :基于"像素图"的像素值来计算"像素图"中每个256字节块中像素值的局 部熵,所述的局部熵按照如下的香农信息熵公式计算:
[0039]

【权利要求】
1. 一种基于香农信息熵的恶意代码可视化分析方法,其特征在于,包括: 第一步:将恶意文件的二进制字节转换为"像素图"中像素点的黄色系明暗值,用绿色 通道0x50来标记像素值为0x20-0x7E的点; 第二步:基于"像素图"的像素值来计算"像素图"中每个256字节块中像素值的局部 熵,所述的局部熵按照如下的香农信息熵公式计算:
其中,Pi代表字节值i出现的概率,i的取值范围为OxOO-OxFF,Entropy为局部熵; 计算局部熵值Entropy的f (Entropy)值,其计算公式为: f (Entropy) = 2Entropy-l ; 以f (Entropy)的计算结果生成"熵图"; 第三步:对f (Entropy)的计算结果进行归一化处理,生成"熵归一化图"。
2. 如权利要求1所述的基于香农信息熵的恶意代码可视化分析方法,其特征在于,所 述的基于香农信息熵的恶意代码可视化分析方法还包括: 第四步:对第一步中的"像素图"进行归一化处理,生成"像素归一化图"。
【文档编号】G06F21/56GK104376260SQ201410668073
【公开日】2015年2月25日 申请日期:2014年11月20日 优先权日:2014年11月20日
【发明者】任卓君, 孔德凤, 刘同洋, 乔国娟, 冯琪, 陈 光 申请人:东华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1