Microsoft和Intel Project在分析恶意软件之前将其转换为图像

2020-05-11 14:14:30

微软和英特尔最近在一项新的研究项目上进行了合作,该项目探索了一种检测和分类恶意软件的新方法。

该项目名为耐久力(Static Malware-as-Image Network Analysis),依靠一种新技术,将恶意软件样本转换为灰度图像,然后扫描图像,寻找特定于恶意软件样本的纹理和结构模式。

英特尔-微软研究团队表示,整个过程只需几个简单的步骤。第一个步骤包括获取输入文件,并将其二进制格式转换为原始像素数据流。

研究人员随后将这个一维(1D)像素流转换成2D照片,以便正常的图像分析算法可以对其进行分析。

图像的宽度是根据输入文件的大小选择的,使用下表。高度是动态的,其结果是将原始像素流除以选定的宽度值。

在将原始像素流组装成看起来正常的2D图像后,研究人员随后将生成的照片调整到较小的尺寸。

英特尔和微软团队表示,调整原始图像的大小不会对分类结果产生负面影响,这是一个必要的步骤,这样计算资源就不必处理由数十亿像素组成的图像,这很可能会减慢处理速度。

然后,残留的图像被送入预先训练的深度神经网络(DNN),该网络扫描图像(恶意软件株的2D表示),并将其分类为干净的或受感染的。

微软表示,它提供了220万个受感染的PE(便携可执行)文件散列样本,作为研究的基础。

研究人员使用60%的已知恶意软件样本训练原始DNN算法,20%的文件用于验证DNN,另外20%的文件用于实际测试过程。

研究团队表示,耐力在识别和分类恶意软件样本时达到了99.07%的准确率,假阳性率为2.58%。

Jugal Parikh和Marc Marino这两位代表Microsoft Threat Protection Intelligence团队参与这项研究的微软研究人员表示,研究结果肯定鼓励将深度迁移学习用于恶意软件分类。

这项研究是微软最近利用机器学习技术改进恶意软件检测的努力的一部分。

耐力使用了一种叫做深度学习的技术。深度学习是机器学习(ML)的子集,机器学习是人工智能(AI)的一个分支,它指的是能够从以非结构化或无标签格式存储的输入数据(在这种情况下,是随机的恶意软件二进制)自行学习的智能计算机网络。

微软表示,虽然耐力在处理较小的文件时是准确和快速的,但在处理较大的文件时却有问题。

微软上周在一篇博客文章中表示,对于更大尺寸的应用程序,由于将数十亿像素转换为JPEG图像然后调整大小的限制,耐力变得不那么有效。

然而,这很可能是无关紧要的,因为该项目可以只用于小文件,具有极好的效果。

在本月早些时候接受ZDNet采访时,Microsoft Threat Protection的安全研究总监TanMay Ganacharya表示,微软现在严重依赖机器学习来检测新出现的威胁,该系统使用了不同的机器学习模块,这些模块正部署在客户系统或Microsoft服务器上。

Ganacharya说,微软现在使用客户端机器学习模型引擎、云端机器学习模型引擎、机器学习模块来捕获行为序列或捕获文件本身的内容。

根据报告的结果,耐力很可能是我们很快就会看到微软实现的ML模块之一,作为检测恶意软件的一种方式。

目前,微软能够使这种方法比其他公司工作得更好,主要是因为它拥有来自数以亿计的Windows Defender安装的大量数据。

Ganacharya说,任何人都可以建立模型,但标签数据及其数量和质量确实有助于适当地训练机器学习模型,从而定义它们的有效性。

在微软,这是我们的一个优势,因为我们确实有传感器,可以通过电子邮件、身份、终端给我们带来许多有趣的信号,并能够将它们结合起来。