当前位置:网络安全 > 机器学习如何检测使用沙箱规避和静态保护的恶意软件

机器学习如何检测使用沙箱规避和静态保护的恶意软件

  • 发布:2023-10-06 22:48

Unit 42 研究人员讨论了由 Advanced WildFire 部分开发的基于虚拟机管理程序的沙箱中基于内存的工件构建的机器学习管道。它可以提高恶意软件的检测准确性。

正如我们之前所介绍的,恶意软件开发人员不断改进他们的攻击方法,使静态分析和沙箱等策略变得无效。封装方法、沙箱规避等技术的不断发展,使得防御者难以防范。

更糟糕的是,流行的检测技术,如结构分析、静态签名和多种类型的动态分析,不能很好地应对当今日益复杂的攻击。

恶意软件开发人员越来越多地采用规避技术,例如混淆、封装以及在进程内存中执行动态注入的 shellcode。使用文件结构线索进行恶意软件检测可能并不总是成功。封装技术可以充分修改文件结构以消除这些线索。因此,仅针对此类特征进行训练的机器学习模型将无法有效地检测此类样本。

此检测方法的另一种流行替代方法是使用机器学习模型,该模型根据沙箱中恶意软件的执行痕迹来预测恶意行为。然而,正如我们最初详述的那样,沙箱规避非常常见,有效负载通常会根据指向正在模拟的样本的任意数量的线索选择不执行。

恶意软件还可能意外或故意破坏沙箱环境、覆盖日志文件或由于其使用的低级技巧而阻止成功分析。这意味着根据执行日志训练机器学习模型不足以捕获这些规避类型的恶意软件。

GuLoader 恶意软件使用 NSIS Crypter 加密

在这篇文章中,我们将分析使用 Nullsoft 脚本安装系统 (NSIS) 加密器加密的 GuLoader 下载器。 NSIS 是一个用于创建 Windows 安装程序的开源系统。

哈希cc6860e4ee37795693ac0ffe0516a63b9e29afe9af0bd859796f8ebaac5b6a8c

为什么静态分析没有帮助

GuLoader 恶意软件经过加密,并且还通过 NSIS 安装文件传递,这对于静态分析来说并不理想,因为必须首先解压缩文件内容。解压后,我们仍然拥有加密数据和 NSIS 脚本。脚本本身还会动态解密部分代码,这是另一个难以检测的因素。

但是,没有太多结构线索可以将其识别为可能的恶意软件。因此,在可移植可执行文件(PE)结构上训练的机器学习模型将无法有效地区分该文件与其他良性文件。

NSIS 脚本并提取 GuLoader shellcode

要提取 NSIS 脚本,我们必须使用旧版本的 7-Zip 15.05。此版本的 7-Zip 能够解压脚本,而新版本则删除了解压 NSIS 脚本的功能。一旦我们提取了文件内容和 NSIS 脚本(如图 1 所示),我们就可以开始分析脚本并查看 GuLoader 示例是如何执行的。

相关文章

热门推荐