恶意软件分类中的计算机视觉技术分析

 恶意软件是指被设计成对其所在系统造成损害的任何软件。主要类型是蠕虫,木马和广告软件。如今,每年大约有35万个样本被生产出来,这对反病毒公司来说变得越来越困难,因为只有50%的新恶意软件被报告,而从这50%中,只有20%会被现有的反病毒软件检测到。用于对恶意软件进行分类的一些传统方法是

沙箱检测:此处可在虚拟环境中运行任何可疑软件,在该环境中可以监视其行为,并且根据其行为,将确定该软件是否为恶意软件。但是这种方法可以被恶意软件绕过,因为恶意软件太大了以至于无法在虚拟环境中处理,恶意软件文件还可以以一种模糊的、无法识别的文件格式保存,等等。沙箱检测属于基于行为的恶意软件检测。
基于签名的检测:反病毒公司为恶意软件创建一个签名,并在其数据库中更新它。因此,杀毒软件将扫描软件的签名与杀毒公司数据库中的签名进行比较。正如上面所讨论的,每天大约有350000个恶意软件被创建,对于反病毒公司来说,为每个恶意软件创建签名是极其困难的。
如今,反病毒公司正在使用深度学习技术来对付恶意软件。在这里,我们将探讨基于卷积神经网络的分类。

在论文《 Malware Images: Visualization and Automatic Classification》中首次看到了分类为灰度图像的特定类别恶意软件图像的相似性。在论文中,他们展示了特洛伊木马病毒的外观。


.text部分包含要执行的代码,.text部分的末尾为全黑,表示末尾的填充为零。.data部分包含未初始化的代码,.rsrc部分包含模块的所有资源,例如应用程序可以使用的图标。


上面的图片来自《Malware Classification Using Image Representation》论文,其中他们显示了不同家族的恶意软件图片,对于一个家族,我们可以在图片中看到相似之处。

同样在论文《Convolution Neural Networks for Malware Classification》中,他们还展示了常见的恶意软件家族的图片,例如Rammit,Gatak(木马版本)等。


结果

因此,在《Malware Images: Visualization and Automatic Classification》一文中,他们使用GIST来计算纹理特征,并使用具有欧氏距离的k近邻对其进行分类。所以GIST基本上就是利用Gabor滤波器对图像进行小波分解。Gabor滤波器是一种线性滤波器,它主要分析图像在特定方向上的频率内容。主要用于边缘检测、纹理分析和特征提取。他们使用了来自25个家族的9,458个恶意软件,准确率高达98%

在《Convolution Neural Networks for Malware Classification>论文中,他们训练了三个模型。

CNN 1C 1D由NxN像素(N = 32)的输入层,卷积层(大小为11x11的64个filter maps),最大池化层,Densely-connected层(4096个神经元),9个神经元的输出层组成。结果的准确度为0.9857,交叉熵为0.0968
CNN 1C 2D由NxN像素(N = 32)的输入层,卷积层(大小为3x3的64个filter maps),最大池化层,卷积层(大小为3x3的128个filter maps),最大池化层,Densely-connected层(512个神经元),输出层为9个神经元。结果是准确性:0.9976,交叉熵:0.0231
CNN 3C 2D由NxN像素(N = 32)的输入层,卷积层(大小为3x3的64个filter maps),最大池化层,卷积层(大小为3x3的128个filter maps),最大池化层,卷积层组成(大小为3x3的256个filter maps),最大池化层,Densely-connected层(1024个神经元),Densely-connected层(512个神经元),输出层为9个神经元。结果是准确性:0.9938,交叉熵:0.0257
在论文《Malware Classification Using Image Representation》中,他们使用了2个模型,一个具有4层(2个卷积层和2个dense层)的CNN模型和一个Resnet18。普通的CNN的准确度为95.24%,Resnet的准确度为98.206%。

最后

如您所见,这些论文发表的结果大约检测到95-98%的恶意软件,这表明计算机视觉技术比传统方法更好。与传统方法相比,深度学习能够实现非常好的准确性,并且占用的硬件更少。

相关产品

评论