在计算机安全领域,沙盒(英语:sandbox,又译为沙箱)是一种安全机制,为运行中的程序提供的隔离环境。
沙盒通常严格控制其中的程序所能访问的资源,比如,沙盒可以提供用后即回收的磁盘及内存空间。在沙盒中,网络访问、对真实系统的访问、对输入设备的读取通常被禁止或是严格限制。从这个角度来说,沙盒属于虚拟化的一种。
沙盒中的所有改动对操作系统不会造成任何损失。通常,这种技术被计算机技术人员广泛用于测试可能带毒的程序或是其他的恶意代码
“沙盒”技术与主动防御技术原理截然不同。主动防御是发现程序有可疑行为时立即拦截并终止运行。“沙盒”技术则是发现可疑行为后让程序继续运行,当发现的确是病毒时才会终止。“沙盒”技术的实践运用流程是:让疑似病毒文件的可疑行为在虚拟的“沙盒”里充分表演,“沙盒”会记下它的每一个动作;当疑似病毒充分暴露了其病毒属性后,“沙盒”就会执行“回滚”机制:将病毒的痕迹和动作抹去,恢复系统到正常状态。
1)2014年首次发现的Emotet银行木马,最近就改头换面重现江湖了。该新版本是带.doc后缀的XML文档,利用大多数沙箱要求真实文件类型的特性规避检测。即便真实文件类型是XML,终端上还是在Word中打开。
一旦在Word中打开,XML文件中的宏就会触发一段PowerShell脚本,连接攻击第二阶段的URL,下载Emotet攻击载荷。Emotet会枚举系统上安装的应用程序并检查磁盘空间以确定自身是否处于沙箱环境。如果判断自身身处沙箱环境,攻击载荷就会停止执行。而且,Emotet还有长期睡眠和延迟机制以阻碍动态分析技术,让沙箱无法检测恶意行为。很聪明的做法!
2)最近的其他威胁也采用了类似的技术规避沙箱检测。Bebloh是2009年检测到的通用银行木马,最近以针对日本用户的变种重新冒头。该版本通过带宏的Excel邮件附件传播,用户点击后会触发后台命令shell。有趣的是,该变种每次执行时都会检测系统的地区和国家设置。
只要地区设置不是日本,宏就会阻止Bebloh执行并退出Excel应用。而一旦命令shell被激活,Bebloh即开始执行一个PowerShell脚本从URL获取远程内容,该远程内容是长得像RAR文件的又一个PowerShell脚本文件,内嵌base64编码的加密DLL。解密该DLL的密钥依据操作系统文化设置的国家代码产生。最后,解密出来的DLL被另一个进程用PowerShell注入内存,其入口点被调用来启动该恶意软件。
最终结果就是,整个沙箱环境的地区设置必须设成JP(日本的国家代码),才可以检测到该感染链。Bebloh还会检查系统运行时间和物理系统特征,只要判断是在沙箱环境就会停止执行。
3)网络钓鱼也是沙箱无能为力的一个领域,因为检测有赖于文件展现出恶意行为。攻击者简单地利用包含恶意链接的PDF文件就可以规避检测。带统一资源标识符(URI)的文档被沙箱检出的概率很低,生存时间(TTL)短暂的域几乎不会给事后分析或威胁情报服务器留下什么证据。
sum up: Emotet、Bebloh和PDF网络钓鱼攻击之所以令人担忧,是因为这些攻击都使用了非常复杂,甚至可以说是精巧的技术,来规避沙箱环境的检测。沙箱历来被当成行之有效的Web威胁防护方法,可以在恶意内容触及用户设备之前加以隔离。在过去,这种方法便已足够。攻击被检测出来,然后被放到沙箱环境中,与网络隔离开来并进行分析,以供未来缓解所用。直到现在,这种策略一直效果良好。
然而,沙箱技术依赖检测。只要威胁能够掩饰自己,关停自身,或者以某种方式规避检测,就能自由感染用户的设备,最终侵入到公司网络和关键业务系统。在检测-响应式网络安全策略中,只要威胁绕过大门,一切都完了
摘自:
https://mp.weixin.qq.com/s/mjM1lVkPR36tmuizQ2qr3w
https://www.zhihu.com/question/20026752/answer/13849683
https://zh.wikipedia.org/wiki/%E6%B2%99%E7%9B%92_(%E9%9B%BB%E8%85%A6%E5%AE%89%E5%85%A8)