沙箱环境是很多网络安全解决方案用来对抗高级恶意软件的常用功能。防火墙、终端防护,甚至下一代机器学习系统都将沙箱作为其防线的一环。然而,不是所有的沙箱都有类似的功效。
不同沙箱采取的恶意软件分析与检测方法各异,其中一些明显不如另一些有效。老旧沙箱所用技术会被新型恶意软件规避,令老旧沙箱很大程度上起不到什么效果。文本将探讨不同种类的沙箱,这些沙箱所采用的技术,及其局限性。
恶意软件分析沙箱差异
简言之,沙箱就是供应用执行或文件打开的安全隔离环境。这一宽泛定义下,不同沙箱之间差异颇大。沙箱间的差异主要来自4个方面:所用模拟类型、版本限制、模拟速度,以及恶意软件检测具体技术。
1. 操作系统模拟 vs 完整系统模拟
老旧沙箱环境基本上只复制应用及操作系统层。这就是所谓的操作系统模拟。曾经有那么一段时间只模拟应用层和操作系统层就足以确定文件是否恶意了。被分析的文件会检测到该操作系统,以为自己已到达目标主机,遂尝试执行恶意动作,然后被检测出来。
不幸的是,此类沙箱方法已不再有效。现代威胁可以检测出模拟操作系统。为抵御现代威胁,沙箱解决方案需进行完整系统模拟。如果缺乏完整系统模拟,就好像身处没有窗户的布景房间:恶意软件总会拉开窗帘一探究竟的。
2. 操作系统和应用版本限制
有些沙箱只对特定版本的操作系统或应用有效。它们可能只能模拟这些解决方案,或者只能识别针对这些平台的威胁。如果公司采用的操作系统版本正好是该沙箱适用的,那就没什么问题。但如果公司最终需升级或调整其基础设施,这就成问题了。操作系统和应用版本限制还会削弱沙箱解决方案在大型综合性网络上的有效性,因为大网络上可能承载着多种解决方案和平台。
理想的沙箱解决方案应能创建不特定于某种操作系统或应用版本的沙箱环境。
3. 模拟速度
模拟越复杂,模拟速度就越关键。有些沙箱能够快速模拟,有些就会很慢。有些沙箱优化良好,只消耗很少的资源;有些沙箱优化很差,会吞掉大量处理时间和内存。若想发挥效果,沙箱需在整个网络上运行。与模拟速度相关的任何问题都会迅速膨胀,可能会拖慢整个网络,干扰生产。
下一代沙箱解决方案牢记网络既要保证安全又要保障畅通,非常重视优化和有效性。如果采用这些更为先进的平台,公司企业遭遇较大资源占用和开销的概率会小些。
4. 基于特征码 vs 基于行为
解决方案在沙箱中运行时,恶意软件如何检出?当前主要有两种方法:基于特征码的分析和基于行为的分析。
基于特征码的检测瞩目程序,判断其是否曾被识别过。基于特征码的解决方案维护有用于识别恶意软件程序或样本的庞大特征码字典。通过匹配新文件特征码与库中已知恶意文件特征码,这些基于特征码的解决方案能快速判断文件是否恶意。但不幸的是,一旦文件略有修改,其特征码也会随之改变,基于特征码的解决方案便无法识别了。
基于行为的检测关注程序尝试采取的动作。如果某样本尝试执行看似恶意的动作,基于行为的检测解决方案便会触发,要么是用户收到弹出警告,要么是恶意程序被自动隔离。基于行为的沙箱不仅可以检测通过产生新特征码以逃过基于特征码检测系统的自变形恶意软件,也可以检测从未见过的全新恶意程序。
如何选择恶意软件沙箱
高级恶意软件足够智能,可感知自身是否处于沙箱环境。一旦检测到是在沙箱环境中运行,高级恶意软件在被释放到网络环境前是不会表现出任何恶意行为的。对付此类恶意程序的唯一方法,是采用技术上更先进的沙箱解决方案。只有通过模拟整个主机环境——从内存直到应用层,沙箱才能骗过高级恶意软件。
模拟整个环境的沙箱与真实环境几乎别无二致,让恶意程序不可能规避检测。下一代恶意软件检测解决方案可模拟目标环境的方方面面,而不仅仅是应用层和操作系统层。
但有个问题:恶意软件分析沙箱通常都作为其他网络安全解决方案的一部分而存在,比如防火墙或终端防护系统。因此,沙箱往往被当成解决方案的免费赠品,购买解决方案时不会过多考虑。但考虑到不是所有沙箱环境都有相同功效,只有一个恶意软件沙箱可能不足以保护公司数据抵御高级威胁。
选择企业安全解决方案的时候,***对沙箱加以特别考虑。能提供完整系统模拟吗?是分析行为而不仅仅依赖特征码吗?能够复制任何类型任意版本的操作系统或应用吗?如果解决方案未达到上述标准,你可能需另外购买带有足够功能的沙箱以补足解决方案,检测当今复杂多变的高级恶意软件。
沙箱是有效网络安全解决方案的基本组成部分,如果不能合理限制恶意软件,那该解决方案本身就是无效的。考虑购买或升级恶意软件检测解决方案的时候,不妨多给沙箱分一点考察时间。
【本文是51CTO专栏作者“李少鹏”的原创文章,转载请通过安全牛(微信公众号id:gooann-sectv)获取授权】