利用ZeroWine进行恶意软件行为分析
2009-02-05 13:53:12 来源:WEB开发网Zero Wine是一个开源的(GPL v2)研究项目,用来对恶意软件的行为进行动态分析。实际上,Zero Wine只是使用WINE在一个安全的虚拟沙箱(也就是在一个隔离的环境中)运行恶意软件来收集该程序调用的API的有关信息。Wine使用调试环境变量WINEDEBUG来输出恶意软件调用过的API,当然也包括恶意软件所传递的值。有了这些信息,恶意软件的行为分析将变得非常轻松。 一、工作原理
Zero Wine是作为QEMU的虚拟机映像发行的,它带有一个已安装的Debian操作系统。这个虚拟机映像包括加载和分析恶意软件并根据收集到的信息生成报告的软件,该软件位于/home/malware/zerowine。通过正确的命令行选项运行该虚拟机,可以使用一个基于web的图形界面(一个使用Python语言编写的CGI)来加载要分析的恶意软件。
加载一个新的恶意软件的时候,会将其复制到/tmp/vir/MD5_OF_THE_FILE目录,以前创建的WINE环境会被删除,并对一个备份系统进行解压缩,该备份系统是/home/malware/backup/backup.tar.gz。加载后,会通过shell脚本malware_launcher.sh来执行这个恶意软件,此shell脚本存储在/home/malware/bin文件夹中。
需要注意的是,当前系统不允许一次分析一个以上的恶意软件,将来每当加载一个新的恶意软件文件的时候,它会放入一个队列以供今后分析之用,并且还将创建一个新的WINEPREFIX专门用于运行这个恶意软件。
二、使用QEMU运行虚拟机
使用QEMU运行虚拟机时必须提供一些必要的参数,最重要的一个参数就是 -redir tcp:8000::8000。这个参数将本地8000端口重定向到该虚拟机的8000端口。当然,您可以改变这个端口,不过要注意,在基于Unix/Linux的系统中不应该在端口80上运行它,因为这要求root权限,这会带来巨大的安全隐患:想像一下如果恶意软件逃离虚拟机并掌控了您的实际系统后会怎样。
赞助商链接