2016年发布的Locky勒索软件是逃避沙箱的经典示例。Locky是通过感染了加密DLL文件的JavaScript代码传播的。该恶意软件要求使用run32dll.exe来执行DLL。但是,run32dll.exe在沙盒环境中不可用,所以,这使得恶意软件无法被检测到。另一个来自Locky家族的恶意软件KeRanger,是在下载到系统三天后才开始起作用。
在2018年中,在中东发现了新版本的RogueRobin木马。这种面向政府的恶意软件是通过电子邮件在附加的RAR存档中传播的。一旦启动,该恶意软件使用一个虚拟机映像来验证它运行的系统的BIOS版本、CPU内核和物理内存,并且不会在沙盒中运行。
在2019年,黑客利用HAWKBALL后门攻击中亚的政府部门。该恶意软件利用Microsoft Office漏洞传递有效负载并收集系统信息。它能够执行本机Microsoft命令,调查主机,甚至可以验证其使用的进程是否已调试。
2019年3月,检测到一个使用改进的沙盒规避技术的macOS恶意软件的新样本。与以前的版本相比,OSX_OCEANLOTUS.D具有带有UPX字符串的Mach-O签名,这使得它在虚拟环境中的静态分析过程中不会被察觉。此外,该后门可执行文件还会检查它是否已连接到调试器,并收集了有关主机的数据。
滚动文档。现代恶意软件可以编程为只有在滚动到文档中的特定位置后才能执行。例如,只有在用户将RTF文档滚动到第二页后,才会激活恶意软件。为了检测到这一点,该恶意软件包含Microsoft Word文档中使用的段落代码。尽管RTF文件还包含段落标记(./par),但恶意软件代码包含一系列段落,在执行利用代码之前,需要滚动这些段落。而沙盒环境不包含任何滚动动作,从而使恶意软件保持休眠状态。
移动并单击鼠标。对某些恶意软件进行了编程,以检查鼠标移动和单击的速度,如果速度可疑,则保持不活动状态。例如,Trojan.APT.BaneChan仅在用户单击一定数量的鼠标后激活。
核心计数技术允许恶意软件发现虚拟系统和物理系统之间的差异,例如CPU核心的数量。这就是为什么许多沙盒供应商隐藏他们的实际配置,这样黑客就无法检测沙盒规范。
数字系统签名。一些恶意软件被设计用来查找系统的数字签名,其中包含有关计算机配置的信息。
安装程序。该技术允许恶意软件通过在操作系统中查找活动进程来检查防病毒程序的可用性。Client Maximus恶意软件就是逃避沙箱的恶意软件的一个示例,该应用程序使用隐形驱动程序来应用此技术。
操作系统重新启动。恶意软件可能会被设计为仅在系统重新启动时激活。之所以使用此技术,是因为某些沙箱无法在重新启动后继续保持运作状态。虽然虚拟环境可能会尝试通过登录和注销用户来模拟重新启动,但恶意软件可以检测到这一点,因为并非所有重新启动触发器都会执行。


睡眠。当恶意软件使用长时间睡眠调用时,它可以在执行前成功离开沙盒。
定时。在某些情况下,恶意软件可以编程为在特定日期和特定时间执行。
暂停代码。恶意软件可能包含恶意代码,这些恶意代码执行无用的CPU周期以延迟实际代码,直到沙盒完成测试为止。
快速通量。这项技术是基于改变DNS名称和IP地址,并被那些想要隐藏网络钓鱼和恶意软件发送地址的僵尸网络广泛使用。它允许恶意软件绕过安全解决方案创建的恶意网站黑名单。例如,Necurs僵尸网络通过使用域名生成算法来更改网站地址,该算法每四天创建一个新的域名。
数据加密。某些恶意软件(例如Trojan Dridex)也可以加密API调用,以使传统的恶意软件沙箱无法读取它们。Andromeda僵尸网络使用多个密钥来加密与服务器的通信。
动态改变睡眠时间。沙盒通常会分析恶意软件几秒钟,而长时间的分析会大大增加检测睡眠时间的恶意软件的机会。然而,这种方法可能不会有效,因为它需要更多的时间。相反,您可以让沙盒动态更改其时间设置,以欺骗恶意软件并刺激其执行。
模拟人机交互。沙盒环境默认情况下不会模拟互动,但是您可以添加一些类似于用户的互动,以更好地分析恶意软件。但是,请记住,现代恶意软件技术可能很狡猾,可以检测到虚假的鼠标单击或移动。
添加真实的环境和硬件工件。在沙箱中检索硬件信息将帮助您检测恶意软件,以检查硬盘大小,最近使用的组件,CPU编号,操作系统版本,内存容量以及其他系统和硬件特性。
除了动态分析外,还要进行静态分析。沙盒技术是动态恶意软件分析的一种形式,它可以在安全的环境中检查恶意软件的行为。虽然逃避沙箱的恶意软件会不执行任何操作,但您可以对其进行完全静态的代码分析。静态分析将检查文件中是否存在逃避技术或加密的代码段。
使用指纹分析。指纹技术允许您分析恶意软件文件并找到恶意代码的指标。指纹也可以用来检测恶意软件的规避特征。
使用基于行为的分析。基于行为的分析提供了旨在检测和打击规避技术的功能。在此分析过程中,沙箱与恶意软件本身进行交互以查找可能的执行路径。而且,它模拟过程交互看起来很像主机。一旦检测到沙盒规避技术,沙盒便会抵消其恶意代码。
自定义您的沙箱。通过将其他用于恶意软件检测的创新功能添加到沙箱中,可以显着提高其检测恶意软件的效率。例如,您可以使用包含多种环境和迭代分析的多沙盒阵列。检查计算机系统API以外的恶意软件通信也很有效。您还可以在沙盒中添加一项功能,该功能可以在运行时搜索和验证恶意代码的痕迹。
添加内核分析。尽管大多数沙箱解决方案都在用户模式下运行,但某些类型的恶意软件旨在将恶意代码注入内核空间(rootkit或驱动程序),从而逃避沙箱攻击。例如,早期版本的Turla恶意软件已加载并利用了易受攻击的VirtualBox驱动程序,并禁用了对签名驱动程序加载的检查。因此,通过在解决方案中添加内核分析,可以防止恶意软件进入内核。
实施机器学习。基于机器学习算法的恶意软件分析可以在恶意代码执行之前有效地检测沙盒逃避技术。机器学习算法可以分析恶意软件不活动或睡眠的每种行为,以此作为逃避技术的信号。此外,它还可以收集数以百万计的其他信号,以共同检测恶意代码。
将内容解除防护和重建(CDR)视为一种额外的安全措施层。CDR通常被认为是沙盒的对立面,但它可以作为其他安全解决方案的附加组件。此技术从文件中删除所有活动内容,并为用户提供经过清理的文档。它允许您立即防止隐藏在文档中的恶意软件,但也有可能导致包含脚本(如用JavaScript编写的Office宏)的损坏文件,即使它们不是恶意的。
【We访谈】数据中心+云,为新基建发展赋能
【We访谈Online】漫谈大湾区数据中心行业趋势
互盟云共享带宽到底能为企业节省多少?
互盟云正式推出CDN加速服务


