首页 > 安全 > 网络安全 > 正文
沙盒逃逸技术详解(二)
2017-03-21 09:35:00       个评论      
收藏    我要投稿

沙盒逃逸技术详解(二)

温故知新

在我们的《沙盒逃逸技术详解-第一部分》中,我们给大家简单介绍了目前主要的三种沙盒逃逸技术:

1.沙盒检测:检测沙盒的存在(在检测过程中只显露出友好行为);

2.利用沙盒漏洞:利用沙盒技术或目标环境中存在的安全缺陷;

3.基于环境感知(Context-Aware)的恶意软件:对时间/事件/环境进行判断,并且在沙盒分析过程中不会暴露恶意行为;

在这一部分中,我们将会着重给大家介绍之前所讲的第一类沙盒逃逸技术:即恶意软件会专门检测沙盒的存在,并向其表现出友好行为。

在第一类沙盒逃逸技术中,恶意软件首先会通过对比沙盒环境与真实目标系统环境之间的细微差别来检测沙盒的存在。如果检测到了沙盒,那么恶意软件通常会有以下两种反应:立即终止恶意行为,或者只显示友好的行为,而不执行恶意操作。

检测沙盒的存在

目前,我们有很多种方法来识别沙盒是否存在。当检测到沙盒环境之后,恶意软件通常会以不同的方式来应对。其中最简单的应对措施就是立即终止恶意软件的运行,但这样做就会引起系统的注意,因为这并不是一个友好程序应有的举动。另一种方法就是显示一段伪造的错误信息,比如说,恶意软件可以给系统显示出一段伪造的错误信息,例如“系统模块丢失”或者“可执行文件崩溃”等等。更加复杂一点的恶意软件可能会通过执行一些友好的行为来隐藏其真实意图。接下来,让我们来更加深入地了解一下当前流行的恶意软件在沙盒环境中执行时所使用的逃逸技术。

1. 检测虚拟化/虚拟机管理程序

这是目前历史最为悠久的一种逃逸技术了,但时至今日,这项技术也将会被逐步淘汰,因为目前很多产品环境(工作站和服务器)都是虚拟化的,而虚拟机(VM)也不仅只有安全研究专家和恶意软件分析人员会使用。

(1)由于早期的虚拟化技术无法提供完整的硬件虚拟化支持(半虚拟化),因此最早的检测方法就是搜索某些特殊的技术组件。比如说:

通过后门来检测流行虚拟机软件中的某些功能组件,例如VMWare或Virtualbox。

检测通用的虚拟机管理组件,其中最有名的是redpill。

但时至今日,这些技术的效率已不复当年。随着硬件虚拟化的支持,虚拟机环境中已经没有多少可见组件了,因为大多数硬件都可以被虚拟化,并通过CPU直接控制。因此,虚拟机管理程序也不必再去虚拟化硬件设备了。

(2)我们目前所使用的另一种方法是检测虚拟机管理程序功能组件的实现,比如说,通过当前进程、文件、驱动程序、注册表键、MAC地址、设备ID、CPU ID或内存中的字符串数据来获取厂商信息。

我们在这里会给大家提供两个例子来演示这种虚拟化检测技术。在第一个例子中我们可以看到,如果恶意软件运行在VirtualPC环境中,那么它便会尝试检测虚拟机组件【完整报告传送门】

\

还有一种方法就是通过扫描注册表键值来检测虚拟机的存在。在这个例子中,恶意软件会查询注册表键“HKEY_LOCAL_MACHINE\HARDWARE\Description\System”的值,并与主流虚拟机(例如VMWare)的注册表键值进行匹配【完整报告传送门】:

\

2. 检测沙盒组件

在这种方法中,恶意软件并不会尝试去检测虚拟机管理程序,而是直接检测沙盒本身。这项技术的实现主要分以下两种方式:

(1)利用厂商相关的各种特殊信息

常用的虚拟机产品。比如说,某些特殊文件、进程、驱动程序、文件系统结构、窗口ID、以及用户名等等。

点击复制链接 与好友分享!回本站首页
上一篇:沙盒逃逸技术详解(三)
下一篇:浅析Kerberos 约束委派SPN的安全漏洞
相关文章
图文推荐
文章
推荐
热门新闻

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做实用的IT技术学习网站