基于RGB图像和轻量化模型的恶意代码分类方法及系统技术方案

技术编号:37999323 阅读:7 留言:0更新日期:2023-06-30 10:13
本发明专利技术属于恶意代码分类技术领域,提出了一种基于RGB图像和轻量化模型的恶意代码分类方法及系统,包括:反编译原始恶意代码文件生成asm文件和bytes文件;提取asm文件中的操作码序列和bytes文件中的字节序列,将基于操作码序列生成的灰度图和马尔可夫图像以及基于字节序列生成的马尔可夫图像进行融合,得到融合后的RGB图像;将其输入至训练后的轻量化模型中进行分类。本发明专利技术分别提取操作码序列和字节序列,获得基于操作码频率的灰度图、基于操作码序列的马尔科夫图像、基于字节序列的马尔可夫图像;将操作码序列可视化为马尔可夫图像,最大限度地保证了提取特征的完整性,提高了模型的泛化能力。了模型的泛化能力。了模型的泛化能力。

【技术实现步骤摘要】
基于RGB图像和轻量化模型的恶意代码分类方法及系统


[0001]本专利技术属于恶意代码分类
,尤其涉及一种基于RGB图像和轻量化模型的恶意代码分类方法及系统。

技术介绍

[0002]本部分的陈述仅仅是提供了与本专利技术相关的
技术介绍
信息,不必然构成在先技术。
[0003]传统的恶意代码静态检测技术虽然简单迅速,不需要占用很大的资源,但是对于未知的家族无法进行检测,而且容易受到多态、变形等方式的干扰从而导致漏报和误报。在变种数增长速度越来愈快的情况下,传统的恶意代码静态检测方法已经失效了。近些年,可视化技术已经广泛应用于恶意代码检测领域,与传统的静态检测方法相比,可视化方法可以完整保留恶意样本的特征信息,也可以更加直观的观察到每个恶意样本的异同点,解决了混淆技术所带来的影响。而且现有的研究通常是对恶意二进制文件采用了灰度化处理,从灰度图像提取特征结合神经网络进行训练并得到实验结果,但灰度图像是单通道数据图像,它包含的恶意代码信息特征量少而且单一,这就导致灰度图在神经网络中不如三通道数据图像更直观且效果好。
[0004]深度学习虽然拥有足够深的网络,可以容纳更加丰富的语义信息,并且节省了大量的人力物力去分析特征,随着数据量的不断增加,效果也会不断提升。但同时也拥有计算量大,成本高等的缺点,而且不能充分利用恶意样本包含的丰富信息,深度学习网络效率不高,无法满足代码分类的实时性和准确性要求。

技术实现思路

[0005]针对目前已知的检测方法不能充分利用恶意样本包含的丰富信息和深度学习网络效率不高的问题,本文专利技术一种基于RGB图像和轻量化模型的恶意代码分类方法及系统,能够充分提取恶意样本中的特征信息,并且在保证准确率的情况下,参数量和计算量也大大的减少。
[0006]为实现上述目的,本专利技术的一个或多个实施例提供了如下技术方案:本专利技术第一方面提供了一种基于RGB图像和轻量化模型的恶意代码分类方法,包括:反编译原始恶意代码文件,生成asm文件和bytes文件;提取所述asm文件中的操作码序列,分别将提取的所述操作码序列转化为灰度图和马尔可夫图像;提取所述bytes文件中的字节序列,将字节序列可视化为马尔可夫图像;将基于操作码序列生成的灰度图和马尔可夫图像以及基于字节序列生成的马尔可夫图像进行特征融合,得到融合后的RGB图像;将融合后的RGB图像输入至训练后的轻量化模型中进行分类。
[0007]本专利技术第二方面提供了一种基于RGB图像和轻量化模型的恶意代码分类系统,包括:反编译模块,被配置为:反编译原始恶意代码文件,生成asm文件和bytes文件;asm文件提取模块,被配置为:提取所述asm文件中的操作码序列,分别将提取的所述操作码序列转化为灰度图和马尔可夫图像;bytes文件提取模块,被配置为:提取所述bytes文件中的字节序列,将字节序列可视化为马尔可夫图像;融合模块,被配置为:将基于操作码序列生成的灰度图和马尔可夫图像以及基于字节序列生成的马尔可夫图像进行特征融合,得到融合后的RGB图像;分类模块,被配置为:将融合后的RGB图像输入至训练后的轻量化模型中进行分类。
[0008]以上一个或多个技术方案存在以下有益效果:(1)本专利技术分别提取asm文件和bytes文件的操作码序列和字节序列,获得基于操作码频率的灰度图、基于操作码序列的马尔科夫图像、基于字节序列的马尔可夫图像;将操作码序列可视化为马尔可夫图像,最大限度地保证了提取特征的完整性,提高了模型的泛化能力;并且生成的三种图像都是固定的大小256
×
256,因此省去了将图像进行标准化的过程,直接可以将三种不同的单通道图像分别填充到R、G、B三个通道,融合成256
×
256
×
3的RGB图像,能够充分提取了恶意样本中特征信息,达到了不同特征之间优势互补效果。
[0009](2)本专利技术设计了一个结合MobileNet V2和CBAM注意力机制的恶意代码检测框架,在原先的MobileNet V2模型的基础上,在第七个倒残差结构的点卷积后添加了CBAM模块,能够有效的发现RGB图像中的关键信息,增加关键信息的权重,解决了现在神经网络越来越臃肿,计算量显著增加的问题。
[0010]本专利技术附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。
附图说明
[0011]构成本专利技术的一部分的说明书附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。
[0012]图1为第一个实施例的RGB图像获取流程图。
[0013]图2为第一个实施例的轻量化模型的结构图。
[0014]图3为第一个实施例的将提取的操作码序列转化为二维转移概率矩阵示意图。
[0015]图4为第一个实施例的将提取的字节序列转化为二维转移概率矩阵示意图。
[0016]图5为第一个实施例的利用不同图像训练的轻量化模型的性能对比图。
[0017]图6(a)和图6(b)分别为第一个实施例的训练集准确率和损失值变化曲线图。
[0018]图7(a)和图7(b)分别为第一个实施例的测试集准确率和损失值变化曲线图。
具体实施方式
[0019]本专利技术总体构思为:本专利技术首先利用IDA Pro工具将PE文件转换为asm文件和bytes文件,之后提取asm
文件中的原始操作码序列,分别别使用两种不同的方法将提取得到的操作码序列转换为两种不同的灰度图,同时提取bytes文件中的字节序列,同样生成灰度图,最后将三种不同的灰度图进行融合,生成RGB彩色图像。然后将生成的RGB图像输入到改进的MobileNet V2轻量化模型中进行分类。
[0020]实施例一如图1所示,本实施例公开了一种基于RGB图像和轻量化模型的恶意代码分类方法,包括:步骤1、反编译原始恶意代码文件,生成asm文件和bytes文件;步骤2、提取asm文件中的操作码序列,分别将提取的操作码序列转化为灰度图和马尔可夫图像;步骤3、提取bytes文件中的字节序列,将字节序列可视化为马尔可夫图像;步骤4、将基于操作码序列生成的灰度图和马尔可夫图像以及基于字节序列生成的马尔可夫图像分别填充到R、G、B三个通道,得到融合后的RGB图像;步骤5、将融合后的RGB图像输入至训练后的轻量化模型中进行分类。
[0021]在步骤1中,利用IDA工具反编译原始恶意代码文件,生成asm文件和bytes文件,之后提取这两种文件中的特征信息。
[0022]在步骤2中,考虑到asm文件中的单个操作码并不会产生影响,但是由多个操作码构成的操作码序列可能会是有害的,所以一方面本专利技术可以利用N

gram算法提取连续三个操作码组成的操作码子序列作为特征。实验证明利用N

gram算法处理后的三个操作码构成的子序列是最优的,因为单个操作码并没有什么意义。
[0023]另一方面因为N
...

【技术保护点】

【技术特征摘要】
1.一种基于RGB图像和轻量化模型的恶意代码分类方法,其特征在于,包括:反编译原始恶意代码文件,生成asm文件和bytes文件;提取所述asm文件中的操作码序列,分别将提取的所述操作码序列转化为灰度图和马尔可夫图像;提取所述bytes文件中的字节序列,将字节序列可视化为马尔可夫图像;将基于操作码序列生成的灰度图和马尔可夫图像以及基于字节序列生成的马尔可夫图像进行融合,得到融合后的RGB图像;将融合后的RGB图像输入至训练后的轻量化模型中进行分类。2.如权利要求1所述的一种基于RGB图像和轻量化模型的恶意代码分类方法,其特征在于,提取所述asm文件中的操作码序列,将提取的所述操作码序列转化为灰度图包括:利用N

gram算法提取所述asm文件中的提取每个恶意样本的所有操作码;选择每三个操作码作为子序列,计算子序列的频率;选择每个恶意样本中频率最高的256个子序列,小于256的补充0,填充256
×
256的矩阵,最后生成灰度图像。3.如权利要求1所述的一种基于RGB图像和轻量化模型的恶意代码分类方法,其特征在于,提取所述asm文件中的操作码序列,将提取的所述操作码序列转化为马尔可夫图像包括:提取全部恶意代码文件.text字段的所有操作码序列;统计出现次数最多的前255个操作码序列,并在其末尾填充“aaa”;创建初始化为零,大小为256
×
256的矩阵;判断单个文件操作码类型与256个操作码是否相同,如果相同置为空,否则,输出不相同的操作码;判断输出的操作码是否与单个文件操作码类型相同,不同置为“aaa”;设置一个大小为2的滑动窗口,并且将连续两个操作码中,第一个操作码看作行,第二个操作码看作列,对应位置加1,滑动至单个文件的最后一个操作码结束,之后生成二维转移概率矩阵;将二维转移概率矩阵可视化为马尔科夫图像。4.如权利要求1所述的一种基于RGB图像和轻量化模型的恶意代码分类方法,其特征在于,所述提取所述bytes文件中的字节序列,将字节序列可视化为马尔可夫图像,包括:创建初始化为零,大小为256
×
256的矩阵;将bytes文件中的十六进制数转化为0

255的十进制数;设置一个大小为2的滑动窗口,并且将连续两个字节中,第一个字节看作行,第二个字节看作列,在对应位置加1,滑动至最后一个字节结束,生成二维转移...

【专利技术属性】
技术研发人员:赵大伟孙晨宇杨淑棉徐丽娟李鑫张雨鑫徐庆玲
申请(专利权)人:齐鲁工业大学山东省科学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1