随着黑客绕过保护的最新技术,网络攻击变得越来越复杂。勒索软件和0 day在过去的几年里,供击是最常见的威胁,现在逃离沙箱的恶意软件将成为网络攻击者未来的主要武器。
沙箱技术广泛应用于恶意软件的检测和预防。因此,黑客一直在寻找保持其恶意软件在沙箱中不活动的方法。这样,逃离沙箱的恶意软件就可以绕过保护和执行恶意代码,而不会被现代网络安全解决方案检测到。
在本文中,我们描述了用于避免沙箱分析的恶意软件的技术,并解释了现有的检测方法。本文对正在开发网络安全解决方案的开发人员非常有用。
在讨论逃避沙箱的恶意软件之前,让我们定义什么是沙箱。沙箱是一种用于恶意软件检测的自动化技术,已广泛应用于传统的病毒预防程序和其他安全应用程序。安全软件可以分析恶意软件的行为,并开发恶意软件的保护措施,通过将潜在的危险程序放置在无任何伤害的控制虚拟环境中。
虽然沙箱技术被认为是有效的,但网络犯罪分子现在正在使用新技术避沙箱。据估计,近98%的现代恶意软件至少使用一种逃避技术。此外,超过32%的恶意软件配备了六种或更多的方法来避免在防病毒沙箱中检测到。Cerber勒索软件运行28个过程,以确定其是否已达到目标环境。一些网络安全专家甚至预测,到2020年,可能会有第一个使用AI恶意软件逃避虚拟环境。
逃离沙箱的恶意软件是什么?
逃离沙箱的恶意软件是一种新型的恶意软件,可以识别它是否在沙箱或虚拟机环境中。这些恶意软件只能在被控环境之外执行。
第一个绕过沙箱保护的恶意软件出现在20世纪80年代。恶意软件使用逃避技术,允许病毒加密自己的代码,因此安全专家无法阅读。自那时以来,网络犯罪分子已经开发了500多种逃避技术,并开发了许多基于这些技术的当代恶意软件家族。
如今,加密的恶意软件可以隐藏更复杂的威胁,旨在长时间攻击受害者的系统。此外,还有全新类型的具有沙盒逃避技术的恶意软件,它们甚至可以绕过那些使用机器学习算法的防护技术。
逃避沙箱恶意软件的真实例子
近年来,越来越多的恶意软件通过逃离沙箱进行攻击。尽管他们以不同的方式攻击计算机,但他们都使用了允许恶意软件感知环境的技术。以下是一些逃离沙箱的恶意软件的例子:
- 2016年发布的Locky勒索软件是逃离沙箱的经典例子。Locky通过感染加密DLL文件的JavaScript代码传播。恶意软件需要使用run32dll.exe来执行DLL。但是,run32dll.exe因此,恶意软件无法在沙盒环境中检测到。另一个来自Locky家庭恶意软件KeRanger,在下载到系统三天后才开始工作。
- 2018年中东发现了新版本RogueRobin木马。这种面向政府的恶意软件是通过电子邮件附加的RAR存档中传播的恶意软件一旦启动,就使用虚拟机图像来验证其运行系统BIOS版本、CPU内核和物理内存不会在沙箱中运行。
- 黑客利用2019年HAWKBALL后门攻击中亚政府部门。使用恶意软件Microsoft Office漏洞传递有效负载,收集系统信息。它可以执行本机Microsoft命令,调查主机,甚至可以验证使用过程是否已经调试。
- 20192003年3月,检测到使用改进的沙箱规避技术macOS恶意软件的新样本。与之前的版本相比,OSX_OCEANLOTUS.D具有带有UPX字符串的Mach-O签名使其在虚拟环境中的静态分析过程中无法检测到。此外,后门执行文件还将检查它是否连接到调试器,并收集相关主机的数据。
最常见的沙箱规避技术
恶意软件采用特殊的沙箱避免技术,主要基于检测用户或系统的交互或获得环境意识。
检测用户交互
用户以不同的方式与计算机系统交互,但是在沙盒环境中没有类似于人类的交互。因此,黑客可以让恶意软件等待用户的特定动作,然后才展示恶意行为。以下是一些用户操作可以激活逃避沙箱的恶意软件的示例:
- 滚动文档。现代恶意软件只有在滚动到文档的特定位置后才能编程。例如,只有用户才会RTF在激活恶意软件之前,文档滚动到第二页。为了检测到这一点,恶意软件包括Microsoft Word尽管文档中使用的段落代码。RTF文件还包含段落标记(./par),但恶意软件代码包含一系列段落,需要在执行使用代码之前滚动。沙箱环境不包括任何滚动动作,以保持恶意软件的休眠。
- 移动并单击鼠标。编程一些恶意软件,以检查鼠标移动和单击的速度。如果速度可疑,则保持不活。Trojan.APT.BaneChan单击一定数量的鼠标后激活用户。
为了找到真实系统的某些功能,可以编程逃避沙箱的恶意软件,这些功能在沙箱或虚拟环境中是不可用的。
- 核心计数技术允许恶意软件发现虚拟系统和物理系统之间的差异,例如CPU核心数量。这就是为什么许多沙箱供应商隐藏其实际配置,使黑客无法检测沙箱规格。
- 数字系统签名。设计了一些恶意软件来查找系统的数字签名,包括计算机配置信息。
- 安装程序。该技术允许恶意软件通过在操作系统中搜索活动流程来检查防病毒程序的可用性。Client Maximus恶意软件是逃离沙箱的恶意软件的例子,该应用程序使用隐形驱动程序来应用该技术。
- 操作系统重新启动。恶意软件可以设计为只在系统重启时激活。使用此技术的原因是,一些沙箱在重启后无法继续运行。虽然虚拟环境可能试图通过登录和取消用户来模拟重启,但恶意软件可以检测到这一点,因为并非所有重启触发器都会执行。
开发能感知环境的恶意软件的网络犯罪分子通常知道沙盒的工作原理。因此,他们可以很容易地编程病毒,以检测它们是否在裸体环境中工作。
为了检查其环境,可以编程恶意软件,检测安装在感染系统上的设备,或者找到只属于虚拟环境的指示器,如虚拟机监控程序调用、一些文件名和沙箱的典型过程。
此外,这种恶意软件可以将沙箱命名为“样本”或“恶意软件”当检测到它时。此外,病毒正在发现vmusrvc.exe,boxservice.exe或vmtoolsd.exe这样的过程可以在虚拟环境中检测到。
例如,目的是挖掘Monero加密货币的BlackSquid恶意软件使用多种方法来感知其环境。特别是,该恶意软件检查了常见的沙箱用户名和存储器断点,以获得硬件断点。它还验证了磁盘驱动模型、设备驱动程序和动态链接库。
其它规避技术
其他流行的避沙盒技术包括计时和数据混淆。
基于计时技术
在某些情况下,恶意软件使用计时技术来避免沙箱。沙箱通常只在有限的时间内分析恶意软件,并愿意滥用基于计时技术的功能。
以下是基于时间的三种常见沙箱规避技术:
- 睡眠。使用长时间睡眠调用恶意软件时,可在执行前成功离开沙盒。
- 在某些情况下,恶意软件可以在特定的日期和时间编程。
- 暂停代码。恶意软件可能包含恶意代码,无用CPU实际代码延迟到沙箱完成测试。
一些沙箱规避技术可以改变或加密恶意软件的代码和通信,使沙箱无法分析。
- 快速通量。该技术是基于变化DNS名称和IP僵尸网络广泛应用于地址,想要隐藏网络钓鱼和恶意软件发送地址。它允许恶意软件绕过安全解决方案创建的恶意网站黑名单。Necurs该算法每四天创建一个新的域名,通过使用域名生成算法来改变网站地址。
- 数据加密。一些恶意软件(如Trojan Dridex)也可以加密API调用,使传统的恶意软件沙箱无法读取。Andromeda僵尸网络使用多个密钥来加密与服务器的通信。
我们描述的规避技术可以让开发人员更深入地了解如何检测规避沙盒的恶意软件。您可以在您的安全解决方案中实现以下原则,防止沙箱避免恶意软件。
- 动态改变睡眠时间。沙盒通常会分析恶意软件几秒钟,而长时间的分析会大大增加检测睡眠时间的恶意软件的机会。然而,这种方法可能不会有效,因为它需要更多的时间。相反,您可以让沙盒动态更改其时间设置,以欺骗恶意软件并刺激其执行。
- 模拟人机交互。默认情况下,沙箱环境不会模拟交互,但可以添加一些类似用户的交互,以便更好地分析恶意软件。但请记住,现代恶意软件技术可能非常狡猾,可以检测到虚假鼠标单击或移动。
- 添加真实的环境和硬件工件。在沙箱中检索硬件信息将帮助您检测最近使用的硬盘大小和组件,CPU编号、操作系统版本、内存容量等系统和硬件特性。
- 除动态分析外,还应进行静态分析。沙箱技术是一种动态恶意软件分析的形式,它可以在安全的环境中检查恶意软件的行为。虽然逃生沙箱的恶意软件不会执行任何操作,但您可以进行完全静态的代码分析。静态分析将检查文件中是否有逃生技术或加密的代码段。
- 使用指纹分析。指纹技术允许您分析恶意软件文件并找到恶意代码的指标。指纹还可用于检测恶意软件的规避特征。
- 使用基于行为的分析。基于行为的分析提供了检测和打击规避技术的功能。在这个分析过程中,沙箱与恶意软件本身进行交互,以找到可能的执行路径。此外,它模拟了过程交互,看起来像一个主机。一旦检测到规避技术,沙箱将抵消其恶意代码。
- 定制你的沙箱。在沙箱中添加其他用于恶意软件检测的创新功能功能,可以显著提高其检测恶意软件的效率。例如,您可以使用各种环境和迭代分析的多沙箱阵列。检查计算机系统API此外,恶意软件通信也非常有效。您还可以在沙箱中添加一个功能,可以在操作过程中搜索和验证恶意代码的痕迹。
- 添加核心分析。虽然大多数沙箱解决方案都在用户模式下运行,但一些恶意软件旨在将恶意代码注入核心空间(rootkit或驱动程序),以避免沙箱攻击。例如,早期版本Turla恶意软件已经加载并使用易受攻击VirtualBox驱动程序,并禁止检查加载签名驱动程序。因此,在解决方案中添加内核分析可以防止恶意软件进入内核。
- 实施机器学习。基于机器学习算法的恶意软件分析可以在恶意代码执行前有效地检测沙箱逃生技术。机器学习算法可以分析恶意软件不活动或睡眠的每一种行为,作为逃生技术的信号。此外,它还可以收集数百万其他信号,共同检测恶意代码。
- 内容解除保护和重建(CDR)视为额外的安全措施层。CDR它通常被认为是沙盒的对立面,但它可以作为其他安全解决方案的附加组件。该技术从文件中删除所有活动,并为用户提供清理文件。它允许您立即防止隐藏在文档中的恶意软件,但也可能导致包含脚本(如使用)JavaScript编写的Office宏)损坏文件,即使不恶意。
基于沙箱技术的保护程序检测到避免沙箱恶意软件。这意味着传统的恶意软件检测方法对这些恶意软件无效。
本文翻译自:https://www.apriorit.com/dev-blog/545-sandbox-evading-malware