使用沙盒对恶意软件的安全检测时长探讨

当使用沙盒进行恶意软件分析时,执行时间是一个非常重要的指标。太长的时间会导致可分析的数量减少,太短的样本也不一定表现出行为。但是一直以来,时间的平衡点都是经验值,本文第一次探讨时间长度对分析恶意软件的影响。测试恶意软件的性能,测量系统调用和代码覆盖的变化。再次使用机器学习方法分析在不同时间点观察到的事件关联。大部分样品都要用不到2分钟或10分钟以上,但大多数行为(98%的基本块)都可以在前2分钟内观察到。


针对恶意软件的沙箱在安全分析中扮演着非常重要的角色,业界也有许多开放源码和商业沙箱方案。虽然沙盒技术已经得到了充分的分析,但如何最大限度地发挥沙盒的功能仍是一个尚需分析的问题。大家对样品的分析时间越来越短,样本的数量越来越多,但是时间的缩短对分析效果有多大的影响?对于恶意软件分析平台,这很重要。


以PANDA平台为基础,收集了十万个样本的细粒度信息,系统调用的数量随时间呈线性增长,但是在开始的一两分钟内,会有大量的调用。整个代码覆盖率在10%至40%之间,并且传统的停滞执行代码(接近3%)对样本没有什么影响。用机器学习的观点来看,样本执行的头两分钟的数据最具代表性。


Willems等人在2008年开创性地提出了沙箱概念:“我们发现,执行恶意软件两分钟就能产生最精确的结果”,但是作者并没有解释为什么会选择这个时间。Rossow等人在2011年进行了一个小时的样本测试,结果显示头5分钟的分析仅有23.6%的连接端点和95%的网络协议,两分钟的时间可能不足以收集足够的网络行为。2018年,Kilgallon等人使用Cuckoo沙盒对3320个样本进行了分析,发现其中82%的样本仅需执行时间不到一分钟,53%的样本仅需20秒就足够了。经过多项工作的对比,下面的图表显示了沙箱执行时间和样本分析的数量。这两个概念之间没有明确的联系,这证明了一个事实:学术研究者选择的样本执行时间更多地是作者个人判断的结果,而非根据数据集的大小做出的选择。

分享: