《电子技术应用》
您所在的位置:首页 > 人工智能 > 设计应用 > 基于字节序列频域采样的恶意软件分类
基于字节序列频域采样的恶意软件分类
网络安全与数据治理
蒋永康,孙逊,杨玉龙
贵州航天计量测试技术研究所
摘要: 近年来,利用机器学习直接从文件字节序列中提取特征并进行恶意软件分类的方法受到了广泛关注。但恶意软件字节序列较长,直接输入模型进行训练,时间和空间开销巨大,难以适用大数据场景下的海量文件样本。针对该问题,提出基于字节序列频域采样的恶意软件分类方法,通过离散傅里叶变换设计频域采样策略保留字节序列中的主要低频成分,合成新的短信号,实现训练效率的提高。公开数据集上的实验结果表明,与最先进的基于原始字节序列的恶意软件分类方法相比,所提出的方法与其分类效果相当,且将模型的训练时间和GPU显存占用分别降低了90%和50%以上。
中图分类号:TP393.08文献标识码:ADOI:10.19358/j.issn.2097-1788.2025.01.003引用格式:蒋永康,孙逊,杨玉龙. 基于字节序列频域采样的恶意软件分类[J].网络安全与数据治理,2025,44(1):15-20.
Frequency domain sampling of byte sequences for malware classification
Jiang Yongkang,Sun Xun,Yang YuLong
Institute of Guizhou Aerospace Measuring and Testing Technology
Abstract: Recently, methods of using machine learning to directly extract features from byte sequences and classify malware have received widespread attention. However, byte sequences of malware are long, directly inputting them into models for training will involve large time and space overheads, making it difficult to adapt to massive samples in big data scenarios. To address this problem, this paper proposes a malware classification method based on frequency domain sampling of byte sequences. A frequency domain sampling strategy is designed through discrete Fourier transform to retain main low-frequency components in byte sequence, synthesize new short signals, and achieve the purpose of improving training efficiency. Experimental results show that compared with the state-of-the-art malware classification method based on raw byte sequences, the proposed method has comparable accuracy and can reduce the model training time and GPU memory usage by more than 90% and 50% respectively.
Key words : malware classification; byte sequences; frequency domain sampling; machine learning

引言

恶意软件分类致力于研究如何识别恶意软件以及区分不同的恶意软件家族,作为网络安全研究领域中的一个重要分支,对于理解和防御不同类型的恶意软件以及溯源网络攻击具有重要意义。恶意软件分类方法大致可以分为:基于静态特征[1]和动态特征[2]的传统方法,以及引入机器学习[3]的新式方法。基于静态特征的方法[4-6]依赖于复杂的特征工程,难以应对恶意软件的快速演化;基于动态特征的方法[7-9]涉及耗时的行为特征监控[10],难以规模扩展。近年来,利用机器学习直接从文件字节序列中提取特征并进行恶意软件分类的方法受到了广泛关注[11-12]。该方法的框架如图1所示,其研究核心是设计一个分类模型,将输入样本x的字节序列映射到一个范围为[0,1]的概率分布c=[c0,c1,…,cM]上,其中∑cm=1。测试时,计算类别m=argmax(c),m=0表示良性软件,m≥1表示相应的恶意软件家族。如果M=1,分类模型实现面向良性软件与恶意软件的二分类;如果M≥2,则分类模型实现面向恶意软件家族的多分类,此时良性软件被看作一类特殊的家族。

03.1.png

图1基于字节序列分析的恶意软件分类框架

通过机器学习模型自动地从序列中提取和编码特征的技术路线能更好地适应当今恶意软件的动态变化,也能更好地实现各类型和跨平台的恶意软件分类。然而,当面对大数据场景下的海量文件样本时,该路线面临因恶意软件的字节序列较长,直接输入模型进行训练,导致时间和空间开销巨大的挑战。从形式上看,字节序列分类任务类似于时间序列分类任务,借鉴其研究成果已被证明极具挑战[12]。恶意软件通常包含数十万到数百万长度的字节序列,以100万长度的字节序列为例,其相当于T=1 000 000步长的时间序列,而已知的最长时间序列分类任务步长≤16 000[13],这限制了现有时间序列分类模型的直接应用。目前为止,能处理这种极端长度字节序列分类任务的实现是MalConv[11],其通过简洁的模型设计,可以处理T=2 000 000步长的字节序列。遗憾的是,MalConv的训练开销极大,例如在Ember[14]数据集60万样本上训练该模型,128 GB显存的DGX1需要消耗一个月的时间。尽管MalConv2[12]通过优化池化降低了训练的显存开销,但训练的时间开销依然很大。本文针对上述如何提高字节序列分类模型的训练效率展开研究。通过引入离散傅里叶变换[15]分析文件字节序列的频率分量发现,字节序列中的能量主要集中在低频部分。本文通过截取低频分量来缩短输入字节序列的长度,进而提出基于字节序列频域采样的恶意软件分类方法。核心的设计思路为:设计频域采样策略,保留字节序列中的主要低频分量,合成新的短信号,从而实现训练效率的提高。Windows和Android公开恶意软件数据集上的实验结果表明,与最先进的基于原始字节序列的MalConv2[12]相比,本文提出的方法与其分类效果相当,且将模型的训练时间和GPU显存占用分别降低了90%和50%以上。综上,本文的主要贡献如下:(1)提出了一种基于字节序列频域采样的恶意软件分类方法,通过设计频域采样策略,减小输入字节序列的长度,实现模型训练效率的提高。(2)在公开数据集上进行了验证,结果表明,提出的恶意软件分类方法与最先进的基于原始字节序列的方法分类效果相当,且能将模型的训练时间和GPU显存占用大幅降低。(3)分析了字节序列频域采样策略中采样长度的影响,并对未来的研究方向进行了讨论。


本文详细内容请下载:

https://www.chinaaet.com/resource/share/2000006296


作者信息:

蒋永康,孙逊,杨玉龙

(贵州航天计量测试技术研究所,贵州贵阳550009)


Magazine.Subscription.jpg

此内容为AET网站原创,未经授权禁止转载。