CN108062478B - 全局特征可视化与局部特征相结合的恶意代码分类方法 - Google Patents
全局特征可视化与局部特征相结合的恶意代码分类方法 Download PDFInfo
- Publication number
- CN108062478B CN108062478B CN201810008763.9A CN201810008763A CN108062478B CN 108062478 B CN108062478 B CN 108062478B CN 201810008763 A CN201810008763 A CN 201810008763A CN 108062478 B CN108062478 B CN 108062478B
- Authority
- CN
- China
- Prior art keywords
- malicious code
- features
- byte
- block
- local features
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24317—Piecewise classification, i.e. whereby each classification requires several discriminant rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Evolutionary Computation (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种全局特征可视化与局部特征相结合的恶意代码分类方法,针对恶意代码二进制文件的分块计算三个特征值,每个特征值对应填充一个彩色通道,从而将恶意代码二进制文件可视化成RGB彩色图像;然后提取RGB彩色图像的全局特征,并从恶意代码二进制文件核心区域中提取局部特征,结合全局和局部特征进行恶意代码家族分类。使用本发明增加了恶意代码图像表示的信息量,提高了图像稳定性和分类模型的容错率,而且从恶意代码核心区域提取局部特征,弥补了全局特征在恶意代码变种变化较大时分类能力不足的缺陷,进一步地,全局特征和局部特征的结合在面对变化多端的恶意代码变种时具有更强的鲁棒性,很大程度上提高了恶意代码分类的准确率。
Description
技术领域
本发明涉及恶意代码分类技术领域,具体涉及全局特征可视化与局部特征相结合的恶意代码分类方法。
背景技术
恶意代码自动生成工具的广泛使用造成互联网上恶意代码变种的数量急剧增长,这给互联网安全造成了巨大的威胁。同时,大量的恶意代码也给恶意代码分析人员带来了一个巨大的挑战。传统恶意代码分析方法大都基于静态分析和动态分析。静态分析通过反汇编分析汇编指令和函数调用关系,这种方法不需要执行恶意样本,但是需要对样本进行反汇编处理,且极易受到代码混淆和加壳的影响。动态分析通过在虚拟环境中运行恶意样本,获取它的网络行为、进程信息、注册表信息等执行记录进行分析,这种方法鲁棒性较高,但是需要花费大量的时间和资源执行恶意样本。针对静态分析和动态分析的不足,传统的基于灰度图的可视化方法开始用于恶意代码分析领域,这种方法简单,无需进行反汇编和执行恶意代码,但是只能用于样本集简单、集中、相似度高等较理想情况。因此,在面对大量且复杂的恶意样本时,一个快速、稳定且准确率高的恶意代码家族分类方法显得尤为重要,是直接影响恶意代码分析效率的一个关键因素。
现有的基于可视化的恶意代码家族分类方法基本都是将恶意代码转换成灰度图并且只提取图像的纹理特征进行分类。发明专利一种基于字节码图像聚类的Android恶意代码家族分类方法(申请号:201610405003.2),将安卓平台的APK程序代码映射成灰度图像,并使用小波滤波获取图像的高维纹理特征,然后对高维数据进行降维,最后通过对灰度图像的聚类完成安卓恶意代码家族的分类。发明专利一种基于图像匹配的恶意代码检测方法(申请号:201710265324.1)将恶意代码转化为灰度图像并使用Gabor滤波器提取图像纹理特征,利用纹理特征构建基准样本集,通过计算待测恶意代码与基准样本之间的差异值确定其所属家族。发明专利一种基于深度学习的恶意代码样本分类方法及系统(申请号:201511013606.X)将恶意代码转化为同等宽度和高度的灰度图,并使用卷积神经网络训练分类模型。这些方法只简单地将二进制代码映射为灰度图,图像信息含量少,稳定性低,对复杂且变化多端的恶意代码变种的分类效果较差。发明专利一种基于香农信息熵的恶意代码可视化分析方法(申请号:201410668073.8)对恶意代码可视化方法进行了优化,其对恶意代码每256字节计算一次局部熵,生成熵图并进一步生成熵归一化图。但是,熵图过于体现局部的差异,不利于恶意样本整体的比较,而熵归一化图直接受到样本大小的影响,在评估样本之间的相似度时容易造成较大的误差。
可见,现有的利用可视化进行恶意代码家族分类技术基本都是将恶意代码的二进制码映射成灰度图,然后从灰度图中提取纹理特征进行恶意代码家族分类。这种方法在可视化过程中单一地使用字节值,导致生成的图像信息量少,不适用复杂恶意样本家族分类。同时,直接将字节映射成灰度图,缺乏中间层的抽象,导致图像不稳定,易受字节的影响,即使是少量字节的变化也容易引起整体纹理改变。而且,这种方法提取特征不全面,只提取图像的全局特征,忽略了局部特征的作用。在恶意代码变化程度较大时(例如修改资源节产生新变种),由于修改的部分占整体文件的比重较大,容易导致同一家族的样本整体表现不相似而产生分类误差。
发明内容
有鉴于此,本发明提供了一种全局特征可视化与局部特征相结合的恶意代码分类方法,该方法增加了恶意代码图像表示的信息量,提高了图像稳定性和分类模型的容错率,从恶意代码核心区域提取局部特征,能够弥补全局特征在恶意代码变种变化较大时分类能力不足的缺陷,而且全局特征和局部特征的结合在面对变化多端的恶意代码变种时具有更强的鲁棒性,很大程度上提高了恶意代码分类的准确率。
为了解决上述技术问题,本发明是这样实现的。
一种全局特征可视化与局部特征相结合的恶意代码分类方法,包括如下步骤:
步骤1、将恶意代码二进制文件分块,每个分块计算三个特征值,每个特征值对应填充一个彩色通道,从而将恶意代码二进制文件可视化成RGB彩色图像;所述三个特征值中包括表征分块整体特征的特征值和表征分块内部特征的特征值;
步骤2、提取RGB彩色图像的全局特征;并且从恶意代码核心区域中提取局部特征;所述局部特征是恶意代码变种发展过程中稳定、不易改变的部分;
步骤3、结合步骤2提取的全局特征和局部特征,进行恶意代码家族分类。
优选地,所述将恶意代码二进制文件分块为:根据PE文件结构,对恶意代码二进制文件进行分块。
优选地,所述根据PE文件结构,对恶意代码二进制文件进行分块为:
PE文件起始到PE节表中第一个节的起始为第一块;
PE节表中每个节从起始到结尾作为一块,各个节之间按照原始顺序排列,如果出现节与节之间含有空隙的情况,这段空隙也被当作一个新的块;
PE节表中最后一个节的结尾到PE文件结尾为最后一个块。
优选地,所述三个特征值分别为分块的熵、分块中字节十进制值和分块的相对大小;
所述分块中字节十进制值为:对分块中每个字节计算十进制值;
所述分块的熵为:分块中所有字节十进制值的熵;
所述分块的相对大小为:分块相对于整个PE文件的相对大小。
优选地,所述每个特征值对应填充一个彩色通道为:
分块中字节十进制值填充RGB彩色图像中对应像素的绿色通道;一个字节对应一个像素;
分块的熵扩大31.875倍后取整填充对应像素的红色通道;同一分块中所有字节对应的像素填充相同的熵值;
分块的相对大小扩大255倍后取整填充对应像素的蓝色通道;同一分块中所有字节对应的像素填充相同的相对大小值。
优选地,所述提取RGB彩色图像的全局特征为:提取纹理特征和颜色特征。
优选地,采用灰度共生矩阵提取RGB彩色图像的纹理特征;采用颜色矩提取RGB彩色图像的颜色特征。
优选地,所述局部特征的提取方式为:提取代码节和数据节中可转化为ASCII字符串的连续的字节序列,字节序列的字节值b的范围是32≤b≤126;采用Simhash算法对提取的所有字节序列进行降维和特征表示,得到局部特征。
优选地,所述步骤2进一步对提取的恶意代码的局部特征进行可视化显示:局部特征根据ASCII类型分成数字、小写字母、大写字母、特殊字符和其它共5个类别;并分别使用蓝色、绿色、红色、黄色和黑色进行图像展示;
5个类别的字节范围分别为:
数字的字节范围为[48,57];
大写字母的字节范围为[65,90];
小写字母的字节范围为[97,122]
特殊字符的字节范围为[32,47],[58,64],[91,96],[123,126];
其他的字节范围为[0,31],[127,255]。
有益效果:
(1)本发明基于可视化实现对恶意代码家族的分类,可视化过程中使用三个特征值,使得生成的图像的信息量增加;同时,本发明以分块为单位提取特征值,而非以字节为单位,而且特征值中包含表征块整体特征的特征值,因此当字节变化时,不会频繁引起RGB图像整体纹理的改变,提高了图像稳定性,有利于模型容错率的提升。
同时,本发明针对全局特征的不足,增加了局部特征,从恶意代码核心区域提取局部特征,能够弥补全局特征在恶意代码变种变化较大时分类能力不足的缺陷,而且全局特征和局部特征的结合在面对变化多端的恶意代码变种时具有更强的鲁棒性,很大程度上提高了恶意代码分类的准确率。
(2)本发明根据PE文件结构,对恶意代码二进制文件进行分块,能够最大程度保留各种数据的界限和位置信息,使得在可视化后分块对应的图像区域内部的颜色、纹理和所在位置趋于一致,从视觉上更容易发现恶意样本之间的相同和不同,从而提高分类准确率。
(3)本发明在可视化处理时,针对每个分块选取的三个特征值为熵、字节十进制值和相对大小。其中,熵和块相对大小的加入使得纹理灰度差异更小,从而在恶意代码全局比较中减小细节带来的影响,同时扩充了图像通道,增加了颜色特征,更容易获得高的分类精度。
(4)在分块基础上,利用字节值、块的熵和相对大小分别填充绿色通道、红色通道和蓝色通道,填充时,熵扩大31.875倍后取整填充,相对大小扩大255倍后取整填充,使之在颜色显示上更加明显,这提高了块的熵和相对大小对图像的影响,从而使不同家族样本之间的颜色特征差异更大,更容易区分不同家族的样本。
(5)本发明提取RGB彩色图像的纹理特征和颜色特征作为全局特征,并使用灰度共生矩阵和颜色矩进行特征提取,这两种方式都具有计算量少和生成特征维度低的特点,减少了特征提取时间,提高了模型的易用性。
(6)本发明从恶意代码的代码节和数据节中提取可转化为ASCII字符串的连续的字节序列作为局部特征,并使用Simhash算法进行降维和特征表示,提高了模型对复杂数据集的适应性和鲁棒性。该方法要求代码块和数据块中连续的字节序列能够转化为ASCII字符串,因为这些字节序列通常是恶意代码中的字符串常量(例如IP、域名、文件路径)、系统调用函数和动态链接库名称,它们作为恶意代码核心能够在变种生成过程中保留下来。所以,局部特征能够弥补全局特征在恶意代码变种变化较大时分类效果差的缺陷。
(7)本发明进一步提出恶意代码局部特征的可视化方法,根据ASCII类型对局部特征内部字节进行分类和使用不同颜色进行表示,能够有效展示局部特征的内部组成,并清楚地显示恶意代码局部特征的分布。
附图说明
图1为本发明全局特征可视化与局部特征相结合的恶意代码分类方法的过程示意图。
图2为恶意代码可视化过程示意图。
图3为灰度共生矩阵提取图像纹理特征过程示意图。
图4为局部特征提取并降维过程示意图。
图5为局部可视化图像及代表的动态链接库名称示意图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明提供了一种全局特征可视化与局部特征相结合的恶意代码分类方法,其基本思想是:将恶意代码二进制文件分块,每个分块计算三个特征值,每个特征值对应填充一个彩色通道,从而将恶意代码二进制文件可视化成RGB彩色图像;所述三个特征值中包括体现分块整体特征和内部特征的特征值;然后,提取RGB彩色图像的全局特征,同时从恶意代码核心区域中提取局部特征;结合提取的全局特征和局部特征进行恶意代码家族分类。
可见,本发明基于可视化实现对恶意代码家族的分类,可视化过程中使用三个特征值,使得生成的图像的信息量增加;同时,本发明以分块为单位提取特征值,而非以字节为单位,而且特征值中包含表征块整体特征的特征值,因此当字节变化时,不会频繁引起RGB图像整体纹理的改变,提高了图像稳定性,有利于模型容错率的提升。
同时,本发明针对全局特征的不足,进一步从恶意代码核心区域提取局部特征,能够弥补全局特征在恶意代码变种变化较大时分类能力不足的缺陷,而且全局特征和局部特征的结合在面对变化多端的恶意代码变种时具有更强的鲁棒性,很大程度上提高了恶意代码分类的准确率。
下面对本发明的实现过程进行详细描述。
图1示出了本发明全局特征可视化与局部特征相结合的恶意代码分类方法的过程,如图1所示,该方法包括如下步骤:
步骤一:将恶意代码二进制文件分块并可视化成RGB彩色图像。
本实施例中,根据PE文件结构,将恶意代码二进制文件分块并可视化成RGB彩色图像。在实际中,还可以根据局部熵或者反汇编后的函数结构进行分块,但是基于PE文件结构的分块方式好处在于,能够最大程度上保留各种数据的界限和位置信息,使可视化后块对应的图像区域内部的颜色、纹理和所在位置趋于一致,更容易进行恶意样本之间的比较,有效提高分类准确率。
本实施例基于PE文件结构的分块方式,主要是对PE的节表进行解析,以节表描述的节的起始和结尾为基准进行分块。PE文件分块过程根据其结构描述如下:
(1)PE文件起始到PE节表中第一个节的起始为第一块,一般包含DOS头、PE头和节表等信息;
(2)PE节表中每个节从起始到结尾(按照磁盘存储位置计算)作为一块,各个节之间按照原始顺序排列,同时如果出现节与节之间含有空隙(即当前节的起始没有接在上一个节的结尾)的特殊情况,这段空隙也被当做一个新的块;
(3)节表中最后一个节的结尾到PE文件结尾为最后一个块,一般是PE文件调试信息或者其它附加数据。
在对PE文件进行分块之后,需要对每个分块计算特征值,然后可视化成RGB彩色图像。本发明针对每个分块需要计算三个特征值,每个特征值对应填充一个彩色通道,从而将恶意代码二进制文件可视化成RGB彩色图像。为了使得特征值既能反映分块内部特征又能反映分块整体特征,三个特征值的选择原则为:包括体现分块整体特征和内部特征的特征值。
本实施例中,选定的三个特征值为:分块的熵、分块中字节十进制值和分块的相对大小。这种选定,增加了块的熵和相对大小两层中间抽象,使得少量字节变化不易影响整体,具有更高的稳定性。同时,RGB彩色图像增加了恶意代码分块信息、每个块的熵和相对大小信息,相对于灰度图具有更高的信息含量,在分类中能够提取的特征更多,有利于模型的稳定和分类效果的提升。
具体来说,对分块中每个字节(8个二进制数)计算十进制值,对分块中所有字节值计算熵,对分块计算它与整个PE文件的相对大小(按字节大小算)。之后,分块中字节十进制值填充RGB彩色图像中对应像素的绿色通道,一个字节对应一个像素;熵扩大31.875倍后取整填充对应像素的红色通道,同一分块中所有字节对应的像素填充相同的熵值;相对大小扩大255倍后取整填充对应像素的蓝色通道,同一分块中所有字节对应的像素填充相同的相对大小值。最后,三个通道将合并成一个RGB彩色图像。恶意代码可视化过程示意图如图2所示。
熵通过红色通道影响RGB彩色图像中每个块的颜色,从而可以从视觉上根据块的数量、大小、颜色和内部纹理等多个方面更加全面评估两个恶意样本的相似程度。红色通道填充值RedComponent的计算公式如下:
pi是块中字节值为i出现的概率,由于一个字节包含8个二进制数,所以i的范围为0≤i≤255。由以上熵的计算公式可知熵在块中所有字节值全部不同时取得最大值8,全部相同时取得最小值0,所以熵理论上的取值范围为0≤entropy≤8。在进行可视化时,红色通道值取值范围小容易导致颜色变化不明显,所以需要将熵乘以31.875使范围扩大至和字节值同样的范围。
同样,分块的相对大小的范围在0到1之间,在可视化过程中扩大255倍,使之在颜色显示上更加明显。蓝色通道填充值BuleComponent的计算公式如下:
其中,BlockSize是分块字节数,FileSize为PE文件的字节数。
步骤二:根据图像特点,提取RGB彩色图像的全局特征。
本实施例中提取纹理特征和颜色特征作为全局特征。
●提取纹理特征的步骤为:
首先需要将RGB彩色图像转化为灰度图。RGB彩色图像转灰度图公式如下:
Gray=R×0.299+G×0.587+B×0.114
公式中,R,G,B分别表示红、绿、蓝三个通道,同时代表熵、字节值、块相对大小三种信息。其中,字节值的权重最大,能够突出图像纹理,熵和块大小的加入使得纹理灰度差异更小,从而在恶意代码全局比较中减少细节带来的影响,更容易取得高的分类精度。
然后,本实施例采用灰度共生矩阵(GLCM)提取RGB彩色图像的纹理特征,灰度共生矩阵采用灰度压缩,具有计算量少、特征纬度低等特点,具体提取过程如下:
(1)从RGB彩色图像转换后的灰度图中提取所有像素并对像素进行灰度压缩,减少计算量,从而形成图像像素矩阵。方法是所有灰度都缩小16倍后取整,使灰度范围从0到255降低至0到15,减小共生矩阵的大小;
(2)利用图像像素矩阵生成共生矩阵,统计像素矩阵中的像素对(i,j)的个数用来填充共生矩阵位置为(i,j)的元素。像素对由方向(θ)和偏移距离(d)决定。本实施例分别从四个方向(0°,45°,90°,135°)采用偏移距离为1(即相邻像素)的方式生成像素对,最后生成四个共生矩阵。图3中标示出了方向为0°时,所产生的共生矩阵。
(3)利用共生矩阵计算相关特征量。本实施例对四个共生矩阵同时计算了能量(ASM)、熵(Entropy)、对比度(Contrast)、逆差距(IDM)和相关性(Correlation)五个统计指标作为特征,最后生成了共20维的纹理特征。
灰度共生矩阵提取RGB彩色图像纹理特征的具体过程示意图如图3所示。
●提取颜色特征的步骤为:
本实施例中,RGB彩色图像的颜色特征使用颜色矩进行提取。
本实施例使用一阶矩、二阶矩和三阶矩计算颜色特征。其中,一阶矩反映了图像颜色的亮度,二阶矩反映了图像颜色的分布范围,三阶矩反映了颜色分布的均匀程度。计算方法是提取三个通道中像素值分别计算三个低阶矩,具体计算公式如下:
(1)一阶矩:
(2)二阶矩:
(3)三阶矩:
其中,N是像素个数;i的取值范围为1,2,3,分别表示RGB彩色图像的三个通道;pi,j是第i个通道的第j个像素;μi代表第i个通道所有像素的平均值;σi代表第i个通道所有像素的标准差;si代表第i个通道上所有像素的偏态的三次方根。由于RGB彩色图像包含红、绿、蓝三个颜色通道,所以颜色特征是一个9维的向量,表示如下:
Fcolor=[μR,σR,sR,μG,σG,sG,μB,σB,sB]
因此,本步骤得到了20+9维的全局特征。
本步骤二使用灰度共生矩阵和颜色矩进行特征提取,这两种方式都具有计算量少和生成特征维度低的特点,减少了特征提取时间,提高了模型的易用性。
步骤三:提取并可视化恶意代码局部特征。
本实施例针对全局特征的不足,提出从恶意代码核心区域提取属于恶意代码变种发展过程中稳定、不易改变的部分,作为局部特征,从而提高了模型对复杂数据集的适应性和鲁棒性。
本实施例中,从PE文件中选取稳定的代码节和数据节提取局部特征。代码节和数据节的范围如下:
代码节:包括“.text”,“CODE”和“.code”节。
数据节:包括“.data”,“DATA”,“.rdata”,“.idata”和“.edata”节。
局部特征提取的是代码节和数据节中可转化为ASCII字符串的连续的字节序列,字节值b的范围是32≤b≤126。局部特征提取的详细步骤如下:
(1)解析节表,从PE文件中提取代码节和数据节,并将每个字节(8位二进制数)转换成十进制值;
(2)从代码节和数据节中提取连续的范围在32到126之间的字节组成序列作为局部特征;
(3)使用Simhash算法对提取的所有字节序列进行降维,以序列的长度作为权重。Simhash算法最后生成64维的特征向量。那么从代码节和数据节提取的局部特征共128维。
Simhash算法降维过程如下:
(a)输入字节序列S,并以字节序列的长度作为权重W;
(b)使用传统的MD5哈希算法对字节序列进行哈希处理,生成64位的哈希码H(0和1组成);
(c)给哈希码H中的每个元素Hi进行加权生成64维特征向量V。如果元素Hi为0,则元素加权后的Vi为-Wi,如果元素Hi为1,则元素加权后的Vi为Wi。
(d)将所有加权后的特征向量V根据元素对应的位置加起来,形成一个新的64位的特征向量R;
(e)遍历特征向量R中所有元素,如果元素Ri大于0,则置为1,否则置为0,最后生成一个由0和1组成的64维的特征向量。
局部特征提取并降维过程示意图如图4所示。
为了更好地观察恶意代码局部特征,本发明提供一种局部特征可视化方法。方法将局部特征根据ASCII类型分成数字、小写字母、大写字母、特殊字符和其它共5个类别,并分别使用蓝色、绿色、红色、黄色和黑色进行图像展示。具体的ASCII类型、字节值范围和对应的颜色信息如表1所示。
表1局部特征ASCII码分类及对应颜色
以动态链接库为例局部特征可视化图像及其代表的动态链接库(DLL)名称示意图如图5所示。
步骤四:恶意代码家族分类。
本发明提出全局特征与局部特征相结合方法进行恶意代码家族分类。在进行分类前需要将全局特征中的纹理特征与颜色特征和局部特征合并到一起,形成20+9+128维的特征向量。
本发明可使用随机森林、支持向量机(SVM)和K最近邻(KNN)等分类算法进行分类。最优方案选择随机森林,因为随机森林算法首先能够良好地处理不平衡数据集,平衡其带来的分类误差;其次随机森林算法无需进行特征选择,而且模型训练快,泛化能力强。特别是在多种不同类型特征进行组合时,随机森林算法通常能表现出良好的分类能力,特别适合恶意代码家族分类。
本发明针对PE类恶意代码家族分类,利用块的熵和相对大小扩展了可视化方法,使用效率更高更简洁的特征提取方式,增加了局部特征和局部特征可视化方法,组合全局特征和局部特征实现了快速、高效和高准确率的恶意代码家族分类。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种全局特征可视化与局部特征相结合的恶意代码分类方法,其特征在于,包括如下步骤:
步骤1、根据PE文件结构,将恶意代码二进制文件分块:PE文件起始到PE节表中第一个节的起始为第一块;PE节表中每个节从起始到结尾作为一块,各个节之间按照原始顺序排列,如果出现节与节之间含有空隙的情况,这段空隙也被当作一个新的块;PE节表中最后一个节的结尾到PE文件结尾为最后一个块;
每个分块计算三个特征值,每个特征值对应填充一个彩色通道,从而将恶意代码二进制文件可视化成RGB彩色图像;所述三个特征值中包括表征分块整体特征的特征值和表征分块内部特征的特征值;
步骤2、提取RGB彩色图像的全局特征;并且从恶意代码核心区域中提取局部特征;所述局部特征是恶意代码变种发展过程中稳定、不易改变的部分;
步骤3、结合步骤2提取的全局特征和局部特征,进行恶意代码家族分类。
2.如权利要求1所述的方法,其特征在于,所述三个特征值分别为分块的熵、分块中字节十进制值和分块的相对大小;
所述分块中字节十进制值为:对分块中每个字节计算十进制值;
所述分块的熵为:分块中所有字节十进制值的熵;
所述分块的相对大小为:分块相对于整个PE文件的相对大小。
3.如权利要求2所述的方法,其特征在于,所述每个特征值对应填充一个彩色通道为:
分块中字节十进制值填充RGB彩色图像中对应像素的绿色通道;一个字节对应一个像素;
分块的熵扩大31.875倍后取整填充对应像素的红色通道;同一分块中所有字节对应的像素填充相同的熵值;
分块的相对大小扩大255倍后取整填充对应像素的蓝色通道;同一分块中所有字节对应的像素填充相同的相对大小值。
4.如权利要求1所述的方法,其特征在于,所述提取RGB彩色图像的全局特征为:提取纹理特征和颜色特征。
5.如权利要求4所述的方法,其特征在于,采用灰度共生矩阵提取RGB彩色图像的纹理特征;采用颜色矩提取RGB彩色图像的颜色特征。
6.如权利要求1所述的方法,其特征在于,所述局部特征的提取方式为:提取代码节和数据节中可转化为ASCII字符串的连续的字节序列,字节序列的字节值b的范围是32≤b≤126;采用Simhash算法对提取的所有字节序列进行降维和特征表示,得到局部特征。
7.如权利要求1所述的方法,其特征在于,所述步骤2进一步对提取的恶意代码的局部特征进行可视化显示:局部特征根据ASCII类型分成数字、小写字母、大写字母、特殊字符和其它共5个类别;并分别使用蓝色、绿色、红色、黄色和黑色进行图像展示;
5个类别的字节范围分别为:
数字的字节范围为[48,57];
大写字母的字节范围为[65,90];
小写字母的字节范围为[97,122]
特殊字符的字节范围为[32,47],[58,64],[91,96],[123,126];
其他的字节范围为[0,31],[127,255]。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810008763.9A CN108062478B (zh) | 2018-01-04 | 2018-01-04 | 全局特征可视化与局部特征相结合的恶意代码分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810008763.9A CN108062478B (zh) | 2018-01-04 | 2018-01-04 | 全局特征可视化与局部特征相结合的恶意代码分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108062478A CN108062478A (zh) | 2018-05-22 |
CN108062478B true CN108062478B (zh) | 2021-04-02 |
Family
ID=62141236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810008763.9A Active CN108062478B (zh) | 2018-01-04 | 2018-01-04 | 全局特征可视化与局部特征相结合的恶意代码分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108062478B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110689133B (zh) * | 2018-06-20 | 2023-09-05 | 深信服科技股份有限公司 | 一种训练机器学习引擎的方法、系统及相关装置 |
CN108846284A (zh) * | 2018-06-29 | 2018-11-20 | 浙江工业大学 | 一种基于字节码图像和深度学习的Android恶意应用检测方法 |
CN109492692A (zh) * | 2018-11-07 | 2019-03-19 | 北京知道创宇信息技术有限公司 | 一种网页后门检测方法、装置、电子设备及存储介质 |
CN109829306B (zh) * | 2019-02-20 | 2023-07-21 | 哈尔滨工程大学 | 一种优化特征提取的恶意软件分类方法 |
CN110569403B (zh) * | 2019-09-11 | 2021-11-02 | 腾讯科技(深圳)有限公司 | 一种字符串提取的方法以及相关装置 |
CN110704842A (zh) * | 2019-09-27 | 2020-01-17 | 山东理工大学 | 一种恶意代码家族分类检测方法 |
CN111552965A (zh) * | 2020-04-07 | 2020-08-18 | 哈尔滨工程大学 | 一种基于pe头可视化的恶意软件分类方法 |
CN111488574B (zh) * | 2020-04-08 | 2023-04-07 | 湖南大学 | 恶意软件分类方法、系统、计算机设备和存储介质 |
CN111797399B (zh) * | 2020-06-28 | 2023-11-17 | 韩山师范学院 | 恶意代码可视化及变种检测方法、系统、设备及存储介质 |
CN112182577A (zh) * | 2020-10-14 | 2021-01-05 | 哈尔滨工程大学 | 一种基于深度学习的安卓恶意代码检测方法 |
CN112329016B (zh) * | 2020-12-31 | 2021-03-23 | 四川大学 | 一种基于深度神经网络的可视化恶意软件检测装置及方法 |
CN113282925B (zh) * | 2021-03-30 | 2023-09-05 | 深圳融安网络科技有限公司 | 恶意文件检测方法、装置、终端设备以及存储介质 |
CN113158994A (zh) * | 2021-05-21 | 2021-07-23 | 河南科技大学 | 一种用于小麦正常粒识别的方法 |
CN113468527A (zh) * | 2021-06-22 | 2021-10-01 | 上海电力大学 | 一种基于特征表达增强的恶意代码家族分类方法 |
CN114397929B (zh) * | 2022-01-18 | 2023-03-31 | 中山东菱威力电器有限公司 | 一种可以改善冲洗水初始温度的智能马桶盖控制系统 |
CN114510721B (zh) * | 2022-02-18 | 2024-07-05 | 哈尔滨工程大学 | 一种基于特征融合的静态恶意代码分类方法 |
CN115564970A (zh) * | 2022-09-20 | 2023-01-03 | 东华理工大学 | 一种网络攻击追踪溯源方法、系统及可存储介质 |
CN116996278B (zh) * | 2023-07-21 | 2024-01-19 | 广东技术师范大学 | 一种基于wasm模块挖矿行为的网页检测方法及装置 |
CN117560177A (zh) * | 2023-11-02 | 2024-02-13 | 广东技术师范大学 | 一种恶意代码可视化分类方法、系统、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468975A (zh) * | 2015-11-30 | 2016-04-06 | 北京奇虎科技有限公司 | 恶意代码误报的追踪方法、装置及系统 |
CN107103235A (zh) * | 2017-02-27 | 2017-08-29 | 广东工业大学 | 一种基于卷积神经网络的Android恶意软件检测方法 |
-
2018
- 2018-01-04 CN CN201810008763.9A patent/CN108062478B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468975A (zh) * | 2015-11-30 | 2016-04-06 | 北京奇虎科技有限公司 | 恶意代码误报的追踪方法、装置及系统 |
CN107103235A (zh) * | 2017-02-27 | 2017-08-29 | 广东工业大学 | 一种基于卷积神经网络的Android恶意软件检测方法 |
Non-Patent Citations (1)
Title |
---|
何帅,刘嘉勇.基于恶意代码图像指纹的恶意代码家族标注方法.《通信技术》.2017, * |
Also Published As
Publication number | Publication date |
---|---|
CN108062478A (zh) | 2018-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108062478B (zh) | 全局特征可视化与局部特征相结合的恶意代码分类方法 | |
CN112329016B (zh) | 一种基于深度神经网络的可视化恶意软件检测装置及方法 | |
CN107908963B (zh) | 一种自动化检测恶意代码核心特征的方法 | |
Fang et al. | Android malware familial classification based on dex file section features | |
JP3740065B2 (ja) | 領域分割された映像の領域特徴値整合に基づいた客体抽出装置およびその方法 | |
KR101215987B1 (ko) | 전경/배경 분리 장치 및 방법 | |
ES2681432T3 (es) | Dispositivo de determinación de color, sistema de determinación de color, procedimiento de determinación de color, medio de grabación de información y programa | |
CN107392019A (zh) | 一种恶意代码家族的训练和检测方法及装置 | |
EP4237977B1 (en) | Method for detection of malware | |
CN103714148B (zh) | 基于稀疏编码分类的sar图像检索方法 | |
Tang et al. | A multiple-point spatially weighted k-NN method for object-based classification | |
CN113221115B (zh) | 基于协同学习的可视化恶意软件检测方法 | |
CN114511452B (zh) | 融合多尺度空洞卷积和三元组注意力的遥感图像检索方法 | |
Chen et al. | Integrating object boundary in super-resolution land-cover mapping | |
CN110378272A (zh) | 基于矩阵分块Isomap算法的高光谱遥感影像特征提取方法 | |
CN115564970A (zh) | 一种网络攻击追踪溯源方法、系统及可存储介质 | |
CN116258917B (zh) | 一种基于tf-idf转移熵的恶意软件分类方法及装置 | |
CN105205487A (zh) | 一种图片处理方法及装置 | |
CN113378163A (zh) | 基于DEX文件分区特性的Android恶意软件家族分类方法 | |
CN114648595B (zh) | 一种基于颜色和纹理特征聚类的数码迷彩生成方法和装置 | |
CN114399684B (zh) | 一种基于双损失函数的高光谱图像开放性分类方法 | |
Chen et al. | Structural feature modeling of high-resolution remote sensing images using directional spatial correlation | |
KR102405168B1 (ko) | 데이터 셋 생성 방법 및 장치, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램 | |
de Sousa Filho et al. | Entropy estimation in bidimensional sequences | |
JP2002170122A (ja) | テクスチャ解析方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |