本项目基于多模态信息增强小样本恶意软件分类方法。传统的恶意软件分类方法通常依赖大量标记数据和单一模态特征,但这些方法在泛化到未见或零日恶意软件方面存在困难。我们的方法通过结合二进制代码转换的图像和API调用序列,构建了一个全面和整体的恶意软件样本表示。此外,我们引入了一种轻量级图神经网络的特征融合方法。
我们构建了两个多模态小样本恶意软件分类数据集VirusShare-M和LargePE-M。数据集见 https://drive.google.com/drive/folders/1noe7wpAYQva0oVFGhFlpBjjjqmx40eiG?usp=sharing
环境配置:本项目运行环境为 python 3.9.18
版本,主要依赖包如下
torch==2.0.0
torchvision==0.10.1
numpy==1.26.0
matplotlib==3.8.2
pandas==2.1.4
nltk==3.8.1
tqdm==4.66.1
模型训练与评估:运行如下代码即可进行模型的训练及评估,模型代码见 model/Fusion.py
;训练参数配置文件见 utils/config.py
python main.py --device 3 --model ProtoNet --val_epoch 500 --epoch 50000 --lr 0.00001 --val_per_epoch 500 --test_epoch 5000 --way 5 --shot 5