0%

A few-shot meta-learning based siamese neural network using entropy features for ransomware classification

摘要

可以快速检测和分类不同的勒索软件类别,以制定快速响应方案的勒索软件防御解决方案,一直是近年来的高需求。尽管采用深度学习技术提供自动化和自我学习的适用性已经在许多应用领域得到证明,但缺乏勒索软件(和其他恶意软件)样本的数据已经成为开发有效的基于深度学习的解决方案的障碍。为了解决这个问题,论文提出了一个基于少量元学习的孪生神经网络(孪生网络是一种特殊类型的神经网络架构。与一个学习对其输入进行分类的模型不同,该神经网络是学习在两个输入中进行区分。它学习了两个输入之间的相似之处。),它不仅可以检测勒索软件攻击,而且能够将它们划分为不同的类别。

该篇论文提出的模型利用直接从勒索软件二进制文件中获得的熵特征来保留与不同勒索软件签名相关的更细粒度的特征。这些熵特征被以元学习的方式使用一个预先训练过的网络(比如VGG-16)进一步用于训练和优化模型。与使用特征图像相比,这种方法产生更准确的权重因子,以避免通常与训练样本有限的模型的偏差。实验结果表明,与其他类似的方法相比,该模型的加权f1分数超过86%。

论文贡献

  • 即使在每一类样本数量非常小的情况下,也可以从不同的勒索软件类别中学习到其特征。
  • 由于图像特征在进行转换的时候通常导致信息丢失,该方法采用了熵特征
  • 使用预先训练好的VGG-16网络作为元学习过程的一部分,以生成权重,更准确地捕获每个勒索软件样本的特征。这不仅有助于提高分类精度,而且还避免了与在深度学习模型中使用有限数量的训练样本相关的潜在偏差。
  • 使用了两个中心损失和一个softmax损失的组合,以准确地捕获属于同一类的勒索软件样本之间的相似性(即类内方差)和跨不同勒索软件类的勒索软件样本之间的di-similarity(即类间方差)。
  • 实验对11个不同类别的1046个勒索软件样本进行了测试,结果表明,该模型的加权f1分数超过86%,对不同的勒索软件样本进行了正确分类,优于现有的基准方法。

方法模型

孪生神经网络(SNN)其核心功能是评估由特征嵌入空间表示的两幅图像之间的相似度,并生成相似度评分。一个通用的SNN由两个子网络组成,如图所示,其中的权值和超参数设置被共享。两个子网络都以一个属于同一类的一幅图像(即正对)作为输入和输出它所学习到的特征。将这些特征映射到全连接层的特征嵌入中,同时使用损失函数来预测两个子网络处理后的图像是否属于同一类。它还可以预测学习到的不同特征是否与同一类中的不同实例互补。例如,它可以正确地预测不同的勒索软件实例仍然属于同一个勒索软件家族,因为它们共享唯一的勒索软件签名。

image-20220513170335827

熵特征

熵特征是直接从二进制勒索软件文件中计算出来的。图像特征很容易被白噪声和复杂纹理特征影响,熵特征则不会。并且论文对基于熵特征和灰度图的模型计算了训练时间,来比较计算开销。发现基于熵特征的模型训练时间要少十分钟,并且前者基于新测试样本的执行时间要少两秒。

模型

image-20220513172428996

每个熵图的熵值被输入到SNN的每个子网络,在每个子网络中,采用一个预训练的VGG-16模型(该模型权重和参数都在ImageNet熵训练的),并以元学习的方式使用它。(预训练的模型有助于提出的模型的训练)

总结

虽然所提出的模型总体上表现良好,但它有几个局限性。首先,该模型仍然不能对Bitman勒索软件家族或Teslacrtpt勒索软件家族进行分类。其原因如图所示,在训练后,Bitman和Teslacrtpt家族的集群仍然重叠。没有一个围绕这两个家族的一个明确的集群,该模型倾向于产生mi-classification结果,特别是跨属于这两个家族的恶意软件实例。

image-20220516143653869

其次,提出的模型还没有对零日攻击进行测试,而只提供了训练样本中包含的已知攻击的分类结果。最后,与其他方法相比,该模型需要更长的训练时间,因为需要训练的参数数量更多。