Cuckoo Sandbox
作者:JochenZou
转载请注明出处:http://blog.csdn.net/youkawa/article/details/46563583
高级持续性威胁(APT)攻击检测和防御系统中,除了在各网络边界进行全流量捕获、异常流量检测等工作之外,还需要在终端对流量中提取和还原的负载进行动态分析。这里提到的动态分析主要是将分析样本引入可控虚拟环境,动态解析或运行样本,通过分析样本的动态行为来判断样本中是否包含恶意代码。沙箱技术是当前恶意代码检测最常用的程序动态分析技术,主要通过分析在网络流量中提取的文件来检测APT的攻击。
Cuckoo sandbox是一款著名的开源沙箱系统,已经被业界广泛采用,如VirusTotal(一个提供免费的可疑文件分析服务的网站,已被谷歌收购)、THREAT STREAM、In3Sec和ITES project等。Cuckoo sandbox基于虚拟化环境所建立的恶意程序分析系统能自动执行并且分析程序行为,完成对以下行为的记录:
- 恶意程序内部函数与Windows API调用跟踪(API日志);
- 恶意程序执行期间文件创建、删除与下载的操作;
- 以PCAP的形式对恶意程序的网络行为进行跟踪(网络日志);
- 样本的静态数据以及释放文件的行为;
- 程序执行期间桌面操作截图;
- 系统操作:文件/注册/互斥/服务;
- 机器全内存空间dump。
能够实现对以下文件的分析:
exe文件、DLL、PDF 文件、Microsoft Office文件、URL和HTML文件、CPL文件、Visual Basic (VB) 脚本文件、ZIP压缩文件、Java JAR、Python文件等。
生成以下格式的分析报告:
- JSON report
- HTML report
- MAEC report
- MongoDB interface
- HPFeeds interface
Cuckoo sandbox架构
Cuckoo sandbox主要由中央管理软件和各分析虚拟机组成。中央管理软件也称为Host machine,负责管理各样本的分析工作,如启动分析工作、行为dump以及生成报告等;分析虚拟机又称为Guest Machine,主要完成对恶意程序的分析以及向中央管理软件报告分析结果等工作。每个分析虚拟机都是一个相对独立干净的执行环境,能安全隔离各恶意程序的执行和分析工作。沙盒的系统架构图如下图所示:
Cuckoo sandbox能够在以下系统环境下运行:
host环境:GNU/Linux (Ubuntu)、Mac OS X
guest环境:Windows XP Service Pack 3、Windows Vista and Windows 7