DECAF 动态二进制程序分析平台

DECAF是一个基于虚拟化技术(QEMU)的动态二进制分析平台。其前身为BitBlaze的子模块TEMU。与TEMU相比,DECAF具有以下优点:

DECAF 框架图

1. 基于QEMU 1.0版本,所以DECAF可以支持32 bit Win7平台软件的分析。

2. DECAF支持bit-wise的 tainting。 整个tainting的逻辑建立在TCG IR层次上,所以很容易扩展到其它平台。目前DECAF支持 ARM/X86。

3.Event-Driven的编程接口。DECAF提供了丰富的程序接口供用户定制分析插件。利用DECAF提供的接口,用户可以轻松的Hook特定的函数,获得特定进程的指令流,Taint键盘/网络输入,检测overflow攻击等等。

4. 新的VMI的支持。TEMU需要在guest os里运行一个驱动程序,将进程/函数等信息传给TEMU平台,从而实现VMI,消除语义断层。DECAF不需要guest driver就可以实现VMI。因而用来分析恶意软件更加可靠。目前DECAF的VMI技术支持linux(arm/x86)/windowsxp/win7。

5.DECAF的overhead很小。可以用来分析各种大型软件,包括IE/Firefox/Chrome/Office/等。

6. DECAF提供了相对完善的文档。用户可以很容易上手开发插件。同时DECAF还提供了一些开源插件,例如,Keylogger可以用来检测软件中的loging key行为; apitracer可以用来Hook指定的api,提供了类似于ProcessMonitor的功能。用户可以很容易的用这些软件来分析恶意样本或拓展新的功能。

    接下来是一个DECAF的使用实例,如何Hook一个函数。

hookapi_hook_function_byname( “ntdll.dll”,”NtCreateFile”,1,target_cr3,NtCreateFile_call,NULL,0);

只需要在插件中调用此函数,就可以Hook到NtCreateFile,然后在它的Handler NtCreateFile_call里读取参数信息进行分析。由于这个Hook是实现在虚拟机外部,所以它不可能被恶意软件绕过。相比起写驱动hook这些函数,用DECAF实现hook功能更加容易和可靠。借助DECAF开源的apitracer插件,用户可以轻松的实现类似ProcessMonitor的功能。

 下载地址:(http://code.google.com/p/decaf-platform/)

来源:http://blog.sina.com.cn/s/blog_7847a1bf0101wrqi.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注