沙箱

就像 Wikipedia 中定义的一样, “在计算机安全领域,沙箱是一种程序隔离运行的安全机制。 通常用于执行未测试过的代码,或者来自未经验证的第三方的可疑程序”.

这个概念同样也适用于恶意软件分析沙箱: 我们的目的是在一个隔离的环境中运行未知的不可信的程序, 从而获取它的所有行为。

恶意软件沙箱是动态分析的一种方式:不是静态的分析文件,而是在实时监控的情况下运行程序进行分析。

这种方式有利有弊, 但对于获取恶意软件的详细信息是一种很有价值的技术, 比如获取恶意软件的网络行为。因此,分析一个恶意软件,将静态分析与动态分析结合起来, 能够更深入的恶意软件。

简单来说,Cuckoo即是一个允许你进行恶意软件沙箱分析的工具。

沙箱使用

在开始安装、配置和使用Cuckoo之前,你应该花一点时间思考一下,应该用Cuckoo来做什么以及如何做。

下面是需要思考的几个问题:

  • 我想分析什么类型的文件?
  • 我能处理的信息量有多大?
  • 我需要什么样的平台来运行和分析?
  • 我想得到这个文件的什么信息?

隔离环境(例如虚拟机)是恶意软件沙箱中最关键和最重要的部分:应该精心计划。

在选择虚拟机产品前,要考虑以下几个点:
  • 使用哪种操作系统、语言和系统补丁版本。
  • 安装哪些软件以及软件的版本(在分析漏洞时特别的重要)。

考虑到恶意软件的不确定性,分析是否成功可能取决与很多因素,不一定每次都是成功的。

例如,你可以考虑在虚拟机环境里留下一些使用痕迹,比如浏览器记录,cookie,文档,图片等等。 因为恶意软件有可能会操作这些文件,如果没有的话,就无法分析他的行为。

虚拟化的操作系统很容易被检测出来,恶意软件检测到虚拟机环境有可能就不执行, 所以需要尽可能的防止被检测出来是虚拟机。 网络上有很多的虚拟机检测和应对技术。

一旦你准备好,就可以开始部署了。虽然后面也可以不断的修改,但是前期的充分准备可以让后面出现的问题更少。