一种可扩展的深度学习恶意软件分类方法
2020-05-12 10:32:35 Author: www.4hou.com(查看原文) 阅读量:426 收藏

近日,Intel和微软研究人员联合发布了题为《STAMINA: Scalable deep learning approach for malware classification》的白皮书,介绍了深度学习技术再恶意软件分类和威胁检测中的应用。

静态分析在基于深度学习的恶意软件分类中的角色

虽然静态分析方法一般是与传统检测方法相关联的,但仍然是基于人工智能的恶意软件检测的重要组成部分。尤其在预执行的检测引擎中大有用处:在无需运行应用或监控运行时行为的情况下静态分析反汇编代码。

静态分析可以生成文件的元数据(metadata)。客户端和云端的机器学习分类器可以分析元数据以确定文件是否是恶意的。通过静态分析,大多数的威胁可以在运行之前发现。

对更加复杂的威胁,基于静态分析的动态分析和行为分析可以提供更多的特征以帮助检测。

本研究借助于计算机视觉领域的知识构建了一个增强型的静态恶意软件检测框架——STAMINA,该框架使用深度迁移学习来在用图像表示的PE二进制文件上直接训练。

STAMINA方法

STAMINA是一种将恶意软件作为图像来处理的方法。STAMINA包含4个步骤:预处理(图像转化)、迁移学习、评估和解释。

Diagram showing the steps for the STAMINA approach: pre-processing, transfer learning, and evaluation

图1 STAMINA方法的3个步骤

预处理(图像转化)

首先研究人员将二进制文件转化为二维图像,图像转化步骤中含有3个子步骤:像素转换、重塑和大小重设。通过分配给每个字节0-255的值,二进制文件会被转化为一维的像素流。然后,每个像素流会转化为二维图像,其中图像的宽度和长度是由文件大小的来确定的。

迁移学习

第二个步骤是使用迁移学习方法,迁移学习可以克服隔离的学习方法的不足,使用一个任务中学到的知识来解决相关问题。迁移学习在多个计算机视觉应用中取得了巨大的成功。迁移学习方法可以绕过搜索优化的超参数和不同架构的过程来加速训练时间,虽然绕过了选择参数和架构的过程,但是整个分类性能仍然很高。在本研究中,研究人员选择了Inception-v1 作为基础模型。

Diagram showing a DNN with pre-trained weights on natural images, and the last portion fine-tuned with new data

研究人员在微软提供的220万个PE文件的数据集上进行了测试。数据集按照6:2:2的比例分割为训练集、验证集和测试集。

评估

最后,在测试集上对系统的性能进行了评估。评估性能的指标包括假阳性的范围、准确率、F1分值、ROC等。image.png结果

实际测试结果表明假阳性率0.1% 水平下的召回率为87.05%;假阳性率2.58% 水平下的召回率为99.66%、准确率为99.07%。研究结果表明深度迁移学习在恶意软件分类上有很大的应用潜力。可以帮助减少选择最优超参数和架构选择的时间和资源。

image.png

image.png

但STAMINA对大文件的检测成功率不高,因为大文件需要将上亿的像素转化为JPEG图像,然后对大小重新设置。在这种情况下,基于元数据的方法具有优势。

白皮书下载地址:https://www.intel.com/content/dam/www/public/us/en/ai/documents/stamina-scalable-deep-learning-whitepaper.pdf

本文翻译自:https://www.microsoft.com/security/blog/2020/05/08/microsoft-researchers-work-with-intel-labs-to-explore-new-deep-learning-approaches-for-malware-classification/如若转载,请注明原文地址:


文章来源: https://www.4hou.com/posts/kDZY
如有侵权请联系:admin#unsafe.sh