大数跨境
0
0

恶意代码可视化分类研究

恶意代码可视化分类研究 中科国昱ZKGY
2024-05-22
0
导读:恶意代码可视化分类研究!
本篇文章转载自《电子技术应用》2024年第50卷(总第551期)

恶意代码可视化分类研究
丁 全 1,丁伯瑞 2,查正朋 2,刘德阳 3
1. 国网安徽省电力有限公司 电力科学研究院,安徽 合肥 230000
2. 中国科学技术大学 先进技术研究院,安徽 合肥 2300313. 安庆师范大学 计算机与信息学院,安徽 安庆 246011
摘要:新型恶意代码设计变得日益复杂,传统的识别并检测方法已经满足不了当前的需求。因此,在对 BODMAS数据集分析的基础上,将其进行可视化处理并进行分类。同时考虑到现有恶意代码可视化分类模型主要依赖全局特征,在卷积神经网络基础上设计了一个 CA(通道级局部特征关注)模块和一个 MA(多尺度局部特征关注)模块,构建了两个新模型,巧妙地结合全局与局部特征。在 BODMAS 数据集上,新模型在恶意代码种类识别并分类平均准确率相比于 BODMAS 数据集论文描述的方法得到了提高,证明了数据集可视化可行性和新模型的有效性,为未来研究提供了重要的数据和实验基础。
关键词BODMAS 数据集;CA 模块;MA 模块;恶意代码可视化
中图分类号:TN918TP183       文献标志码:A        DOI: 10.16157/j.issn.0258-7998.244838
中文引用格式:丁全,丁伯瑞,查正朋,等 . 恶意代码可视化分类研究[J]. 电子技术应用,202450(5)41-46.
英文引用格式:Ding QuanDing BoruiZha Zhengpenget al. Research on visualization-based classification of malicious code[J]. Application of Electronic Technique202450(5)41-46.
Research on visualization-based classification of malicious code
Ding Quan1Ding Borui2Zha Zhengpeng2Liu Deyang3
(1.Electric Power Science Research InstituteState Grid Anhui Electric Power Co.Ltd. Hefei230000,China
2.Institute of Advanced Technology,University of Science and Technology of China,Hefei 230031,China
3.School of Computer and Information Anqing Normal University Anqing 246011China)
AbstractThe design of new malicious code is becoming increasingly complex, and traditional recognition and detection methods can no longer meet current requirements. Therefore, based on the analysis of the BODMAS dataset, this paper performs visualization processing and classification. At the same time, considering that the existing malware visualization classification models mainly rely on global features, this paper designs a CA (Channel-level local feature Attention) module and a MA (Multi-scale local feature Attention) module based on the convolutional neural network, and constructs two new models that cleverly combine global and local features. On the BODMAS dataset, the new models have achieved an increase in the average accuracy of recognizing and classifying malware types compared to the methods described in the BODMAS dataset paper. This proves the feasibility of dataset visualization and the effectiveness of the new models, providing important data and experimental basis for future research.
Key wordsBODMAS datasetCA moduleMA modulevisualization of malicious code.

0 引言

随着互联网技术的快速发展,计算机病毒已成为全球范围内的严重威胁,给政府、企业和个人用户的信息安全带来了巨大风险。根据国家互联网应急中心统计显示,2023 11 月仅一周接到的涉及党政机关和企事业单位的漏洞总数 23 920 个,比上周(20 305 个)环比增加 18%[1]。而且,不断涌现的新型恶意代码,特别是能规避杀毒软件的变种,对防范恶意代码的工作提出了极大挑战。
研究对恶意代码家族进行分类归纳,快速、准确地辨识已知恶意代码家族及其衍生变种,将极大地加强应对恶意代码的防范能力。因此,对未知病毒的快速检测和分类识别成为网络安全领域亟需解决的问题。研究恶意代码家族分类可帮助快速识别已知恶意代码及其变种,增强防范能力。然而,传统静态分析检测方式容易受加壳、变形影响,动态检测虽可发现行为,但复杂且耗时。机器学习算法基于提取文件样本特征,提高检测精度,但仍需专家干预,无法完全自动化[2]
研究人员和反恶意软件厂商[34]正将深度学习技术应用于恶意代码分类,以应对恶意代码的规避技术。这种方法的主要优点在于无需反汇编代码或代码执行,而是将恶意代码映射到图像中,因此能够适应已知的反分析技术。
但是这个方法也遇到了一些挑战:
1随着时间的推移,恶意软件的设计和功能可能发生了重大变化,旧样本可能无法有效捕捉这些变化。因此现有可视化恶意代码数据集已无法充分代表当前的技术和代码趋势。因此,尝试将新的恶意代码数据集可视化并分类技术对于该方向的研究具有重要意义。
2恶意代码转换的图像包含丰富的字节信息,现有恶意代码可视化分类模型主要依赖全局特征,导致对复杂恶意软件的检测结果不够稳定。为提高模型的鲁棒性,需要考虑更多结合全局特征与局部特征的方法,以更精准地识别恶意代码。
本文针对上述存在的问题,做出如下贡献:
1针对现有可视化恶意代码数据集已无法为算法提 供 新 型 恶 意 代 码 特 征 的 学 习 和 训 练 ,本 文 在BODMAS[5]数据集基础上对其分析和研究,在此基础上对其进行可视化。验证了恶意代码可视化的可行性和有效性。
2针对现有模型只关注其全局特征,本文提出了一个 CA 模块(通道级局部特征关注模块)和一个 MA 块(多尺度局部特征关注模块),使模型同时关注局部和全局的特征信息,提升了分类的准确率。

1 相关工作

1.1 传统非可视化恶意代码分类方法

传统恶意代码分类方法主要分为静态检测和动态检测。静态检测技术是通过对代码进行反汇编,手工分析其代码特性进行分类。该方法速度快、效率高。
常用的静态特征包括:API 调用序列、N-Gram 提取的字节序列特征、文件结构信息、操作码频率分布、调用函数、字符串签名和控制流图等。此外,静态检测技术还可以利用多种工具,比如 IDA Pro 等反汇编工具用于逆 向 分 析 恶 意 可 执 行 文 件 ,提 供 更 丰 富 的 信 息 ;而LordPE 内存转储工具则能够在系统内存中获取受保护的代码,对于分析提供更大的帮助。Yan 等人[6]提取了可执行文件中的 API 调用序列,并将其纳入堆叠式自动编码器(SAE)深度学习模型中进行恶意软件检测和分类。该模型使用无监督预训练和监督反向传播算法 。另一方面,Tian 等[7]人以函数长度作为静态特征,通过衡量代码中函数的字节数来评估恶意软件。他们的方法用于木马分类,结果表明函数长度和频率在识别恶意软件家族方面具有重要作用。此外,与其他特征相结合可以更好地进行恶意软件分类。
然而,随着恶意代码混淆和反检测技术的发展,基于静态分析的检测方法已经面临着一定的局限性,特别容易受到加密技术影响。
对于动态分析,Anderson 等人[8]提出了一种基于指令执行轨迹的恶意软件检测方法。但其时间和空间成本高,无法全面监控恶意代码,仅能观察部分执行路径,需要较长跟踪时间获取有效结果。

1.2 恶意代码可视化分类方法

恶意软件可视化与深度学习相结合,已成为恶意代码分类和检测的主流方法。当前,深度学习技术如卷积神经网络和循环神经网络等已成为广泛研究的焦点 。这些技术能够自动学习数据集中的特征,并实现高效的恶意软件分类和检测。因此,基于深度学习的恶意代码检测迅速发展。主要方法包括将恶意代码转换为灰度图 或 彩 色 图 ,并 输 入 深 度 学 习 模 型 进 行 特 征 学 习 和分类。
Davis 等人[9]使用反汇编的机器码生成灰度图,每行代表一条机器码 ,展现了良好的可解释性。轩勃娜等[10]改进了 CNN 方法,利用 RGB 图像特征表示恶意软件,增强了语义关系,应对了混淆问题,并改进了 CNN模型以避免信息损失。Ren 等人[11]则通过填充不同颜色区 分 字 符 、使 用 空 间 填 充 曲 线 进 行 可 视 化 ,并 利 用VGG19 卷积神经网络进行学习和分类,提出了基于恶意软件二进制序列的可视化分析方法。乔延臣等人[12]利用汇编代码,通过 Word2Vec 算法获得词向量,并将其转换为灰度图像,用 CNN 进行恶意软件分类。Yakura 等人[13]则提出带有注意力机制的 CNN,提取有代表性的恶意 家 族 字 节 序 列 ,有 助 于 恶 意 软 件 分 析 。而 Zhao 等人[14]则设计了基于灰度图像和纹理分割的恶意代码分类框架,并采用专门设计的 CNN 进行学习和分类。这些方法在恶意软件分类方面表现出良好效果。

2 模型概述

2.1 模型概述

为了实现恶意病毒代码可视化的分类模型,本文基ResNet[15]架 构 设 计 了 如 图 1 所 示 的 Baseline 模 型 结构,主要包含预处理层、ResNet 主干层、Neck 层和输出层。在主干层中,本文加入 CA 模块和 MA 磨块,有效地利用全局和局部特征。

2.2 数据集分析及可视化

通过对 BODMAS 数据集分析发现,大多数同种类恶意代码变体都是利用自动化技术或者重用关键模块生成的 ,导致二进制代码之间存在着显著的相似性。因此,生成的灰度图呈现出高度相似的特征。同时,本文所研究的数据集样本是 PE 恶意代码。PE 文件具备清晰的结构,蕴含着丰富的信息,其生成的灰度图具有结构性,能够有效地提取本地特征。另外,对该数据集样本进行反汇编后发现,平均每个样本的反汇编代码长度达到两万行左右,并夹杂着攻击者可能利用以迷惑分析者的代码。而且该数据集作者通过 life 平台对样本特征进行抽取,然而这一过程十分耗时耗力。基于上述原因,本文尝试对该数据集样本进行可视化利用深度学习模型进行分类。
本文通过下述步骤将其转换为灰度图:读取二进制文件,将其以 8 bit 作为一个基本单元转换为一个无符号整型变量,其范围为[0, 255]。这个整型变量代表图像中一个像素的灰度值。映射规则为:255 表示纯白,0 表示纯黑。之后将其映射为灰度图并保存为 png 格式。
根据图 2 和图 3 观察的结果,本文发现不同病毒代码其灰度图具有比较明显的差异。相同家族的灰度图具有相似性,因此基于上述发现本文在此基础上将该数据集进行可视化。
       

2.3 基于 ResNet 的特征提取的主干网络

ResNet 为了解决传统卷积神经网络中模型过深而导致的梯度消失或者爆炸,提出了残差网络。残差网络结构如图 4 所示。
其中,xlxl + 1 Wl 分别表示第 l 个残差单元的输入、输出和权重,x'表示经过权重层后学习到的张量,注意每个残差单元一般包含多层结构。F ( xl,Wl ) 是残差函数,表 示 学 习 到 的 残 差 ,f( x'l) ReLU 激 活 函 数 。基 于 式(1)和式(2),可以得到从第 l 层到 l 层的学习特征为:
式(3)可以保证该机制无损的传播梯度。因此模型可以不断加深网络层次。

2.4 MA 模块

恶意代码可视化图分类属于图像分类中的细粒度分类问题。因此,使模型关注局部特征显得十分重要。本文发现将卷积操作分解为多个小的卷积操作,每个小卷积操作仅关注部分特征。因此本文设计了一个 GC 模块。如图 5 所示,该模块先对输入的特征图 X 进行多度卷积降维得到 xi = [ x1,x2,…,xd ],之后将 xi 通过一个全连接层扩充其维度后并拼接:
其中,wi xi 分别表示对应尺度的权重和张量。这样不仅 减 少 了 计 算 量 ,也 进 一 步 提 取 了 图 像 的 局 部 特 征信息。

2.5 CA 模块

本文的发现表明,并非所有特征通道都是等价的,一些特征通道更注重于关键的局部信息。因 此 本 文 设 计 了 一 个 注 意 力 通 道 模 块 。如 图 6 示:首先对特征图通道进行全局池化和平均池化得到两C 的 通 道 权 重 向 量 fmax favg,之 后 对 其 进 行 soft‐max。得到每一个通道不同的权重。之后将 fmax favg 之 前 的 特 征 图 进 行 相 乘 ,将 得 到 的 两 个 特 征 图 进 行叠加。

3 实验及分析

3.1 数据集介绍

实验数据集分为训练数据和预测数据集,本文采用BODMAS 数据集,该数据集总样本为 134 435 个,其中良性样本为 77 142 个,恶性样本为 57 293 个。因为要研究恶意病毒分类,所以本文着重研究恶性样本。这些样本分为 14 个类别,最常见的类别是木马(29 972 个样本)、蠕虫(16 697 个样本)、后门(7 331 个样本)、下载程序(1 031 个样本)和勒索软件(821 个样本),具体信息如表 1所示。
同时这些类别又可以细分为 581 个家族,很多家族的样本只有一到两个,不具有代表性。因此本文选取样本数量大于 100 的家族(共 57 个家族)制作成为新的一个数据集。部分家族信息如表 2 所示。
本文按照通用数据集的规则,将样本按照 82 划分为训练集和测试集,分别训练病毒种类和家族。

3.2 实验环境

本实验运行在 Linux 操作系统下,编程语言选择 Py‐thon3.8 版本,代码以 PyTorch2.0.1 模块作为深度学习框架,GPU NVIDIA RTX 3090GPU 驱动是 CUDA11.7

3.3 实验结果及分析

3.3.1 模型评价指标

本文的最终目标是在创建的数据集上更深入地提取图像特征,因此本实验主要评价指标为精确度 Accuracy F1 指标,计算方法如式(5~式(8)所示,其中 TPTN 代表真正例和真负例的数量,FP FN 代表伪正例和伪负例的数量。

3.3.2 实验配置及参数设置

在实验中,本文具体介绍 ResNet50 模型,使用的超参数如表 3 所示。

3.3.3 实验结果

BODMAS 论文方法通过安全软件去提取恶意代码特 征 ,之 后 利 用 GBDT 来 进 行 分 类 ,该 过 程 耗 时 耗 力 。与之相比较,本文通过对恶意代码可视化后在其基础上设计了两个新的模型对该数据集进行分类。如表 4 所示,ResNet50 BODMAS 数据集上的分类性能较好,种类准确率达到 87.42%,家族准确率达到 81.98%,与论文提供的 Baseline 结果接近。这验证了利用恶意代码的视觉特征进行分类的有效性。
在此基础上,本研究分别引入 MA CA 模块,以捕捉不同尺度的特征并加强对有效特征的注意力。结果显示,MA 模块将种类和家族准确率分别提升到 89.22%86.49%CA 模块则将其提高到 91.07% 86.70%。另外,F1 值也得到明显改善,种类和家族的均衡 F1 值分别达到 91.30% 87.71%。这意味着基于 CA 模块的新模型对不同类型和家族恶意代码的识别与分类能力更加均衡,错误识别率也有所下降。总体来说,实验充分验证了本文方法的有效性。通过可视化与深度学习技术的结合,以及 MA CA模块的加入,模型对恶意代码家族的识别和分类能力显著改善,为快速自动化分析未知恶意代码奠定了基础。

4 结论

本文后续将探索生成更加有效的可视化图像表示的方法,同时将设计的两个模块有机结合起来,构建一个端到端的解决方案。希望能激发更多后续研究,推动恶意代码可视化分类技术的进一步发展与创新。

参考文献

[1] 国家互联网应急中心 . 网络安全信息与动态周报[EB/OL].(2023-11-09) [2024-01-08]. https://www. cert. org. cn/publish/main/upload/File/CNVD202345.pdf.

[2] YE Y, LI T, ADJEROH D, et al. A survey on malware detection using data mining techniques[J].ACM Computing Surveys (CSUR),2017,50(3):1-40.

[3] 任卓君,陈光,卢文科 . 恶意软件的操作码可视化方法研[J]. 计算机工程与应用,2021,57(18):130-134.

[4] 王博,蔡弘昊,苏旸 . 基于 VGGNet 的恶意代码变种分类[J].计算机应用,2020,40(1):162-167.

[5] YANG L, CIPTADI A, LAZIUK I, et al. BODMAS: An open dataset for learning based temporal analysis of PE malware[C]//2021 IEEE Security and Privacy Workshops (SPW). IEEE, 2021: 78-84.

[6] YE Y, CHEN L, HOU S, et al. DeepAM: a heterogeneous deep learning framework for intelligent malware detection[J].Knowl. Inf. Syst.,2018,54(2):265-285.

[7] TIAN R, BATTEN L M, VERSTEEG S C. Function length as a tool for malware classification[C]//2008 3rd International Conference on Malicious and Unwanted Software(MALWARE). IEEE, 2008: 69-76.

[8] ANDERSON B, QUIST D, NEIL J, et al. Graph based malware detection using dynamic analysis[J]. Journal in Computer Virology,2011,7:247-258.

[9] DAVIS A,WOLFF M.Deep learning on disassembly data[EB/OL]. [2024-01-08]. https://www. blackhat. com/docs/us-15/materials/us-15-Davis-Deep-Learning-On Disassembly.pdf.

[10] 轩勃娜,李进 . 基于改进 CNN 的恶意软件分类方法[J].电子学报,2023,51(5):1187-1197.

[11] REN Z, BAI T. Malware visualization based on deep learning[C]//2021 14th International Congress on Image and Signal Processing, BioMedical Engineering and In‐formatics (CISP-BMEI). IEEE, 2021: 1-5.

[12] 乔延臣,姜青山,古亮,. 基于汇编指令词向量与卷积神经 网 络 的 恶 意 代 码 分 类 方 法 研 究 [J]. 信 息 网 络 安 全 ,2019 (4): 20-28.

[13] YAKURA H, SHINOZAKI S, NISHIMURA R, et al.Neural malware analysis with attention mechanism[J].

Computers Security,2019,87:101592.

[14] YUNTAO Z, CHUNYU X, BO B, et al. MalDeep: a deep learning classification framework against malware vari‐ants based on texture visualization[J/OL]. Security and Communication Networks, 2019, 2019[2024-01-08]. https://doi.org/10.1155/2019/4895984.

[15] HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2016:770-778.

(收稿日期:2024-01-08

作者简介:
丁全(1987-),男,硕士,高级工程师,主要研究方向:网络信息安全。
丁伯瑞(1999-),男,硕士研究生,主要研究方向:计算机视觉、网络安全。
查正朋(1977-),通信作者,男,硕士,研究员,主要研究方向:网络安全、知 识 图 谱 、密 码 应 用 ,E-mailzhazp@ustc. edu. cn



【声明】内容源于网络
0
0
中科国昱ZKGY
提供网络安全服务,专注于网络空间安全和密码应用市场。
内容 20
粉丝 0
中科国昱ZKGY 提供网络安全服务,专注于网络空间安全和密码应用市场。
总阅读5
粉丝0
内容20