分析恶意软件(malicious ware)有很多方法。请容我不自量力推荐两个开放源代码的免费系统 Cuckoo 和 MalWasm 。这是一个虚拟化环境下的恶意软件分析系统。

基于虚拟化进行程序分析有很多优点:

  • 整机内存可以dump出来,并且可以随时做snapshot;
  • 多数网络通讯可以分析;
  • 无论杀毒软件如何吹嘘它们的启发式分析引擎,但是xss的故事已经证明区区XOR加密就可以将他们全部bypass。但是行为分析锁定的是行为不是吗?
  • 综上,对浏览器的攻击可以通过分析文件行为进行。攻击浏览器不是什么新鲜事了,但是浏览器和游戏程序差不多庞大、多种运行机制(JS和flash、各种网银的activeX都有自己的Rendor),直接使用键盘调试恐怕是要按到手抽筋!
  • 效率和人性化,真的是很赞!

言归正传,继续看本文的主角Cuckoo和MalMAsm吧!

Cuckoo 的全称是OpenSource Cuckoo Sandbox Project。它由我所尊敬的一些安全先驱开发,其中一些人也是开源honeyspot 的contributor。实际上在2010年的时候Cuckoo还是honeyNET的一个子项目。这些前辈独到的蜜罐网络研发的技巧,让Cuckoo可以轻而易举的进行URL分析、网络通讯分析、程序分析、pdf分析。

整体上,Cuckoo基于虚拟机技术,使用中央控制系统和模块设计,结合python的自动化特征,已经是颇为自动化的恶意软件行为研究环境。

出于研发历史的考量,个人推荐使用debian或ubuntu主机安装virtualbox当作Cuckoo Host,WinXP做guest。实际上Cuckoo也支持Macox和KVM 等其他环境,也支持Windows7做guest—不过调试环境还是稳定优先吧?

Cuckoo Archtecture

如果只是纯粹为程序的抽象行为做分析,则也有傻瓜的平方级别的工具MalWAsm。按照官方的document进行安装之后,

  • 在CuckooSandbox环境直接运行可疑的东西;
  • MalMasm会利用pintool将程序行为全部log;
  • MalMasm将所有行为存储在PostGres数据库;
  • MalMAsm 有web front,研究员可以直接在网页里查看程序行为;

要说您不懂汇编也想分析分析软件、网页什么的,这2款开源环境应该够您用了。

如果说您是资深分析人士,利用这些环境应该可以大大提升分析效率。哪怕是程序进行了加密,行为级别的记录也很有帮助吧!

不过有3点提醒:

  1. virtualization 是guest awareness 的。如果恶意软件的作者有足够的反调试经验,则在虚拟机上运行程序的时候,它的行为会与在物理机上运行的行为将不一样。虽然说足够聪明的您也有足够的手段让程序不awared,但是程序作弊的可能还是需要考虑。
  2. 加密的tcp通讯几乎不可能直接分析。在进行进一步研究之前,还是看看程序行为再找调试点比较好。例如我发在qq空间的帖子说过,https是http+ssl,截获ssl封装之前的http通讯就基本够专业了—具体方法可以网上搜索。当然碰见利用SOAP的人渣还要再比他们还要人渣一点才能分析—话说恶意软件一般会写那么庞大吗(我可不识数)?
  3. 干这行的人渣比较多,关系比较硬的也很打不死的也存在哦。不是说你发现什么问题就可以公开的是不是?人家是老虎你还不如苍蝇的可能性绝对存在是不是?低调比较必要是不是?

我听见哪位读着说“再傻瓜一些的傻瓜三次方的分析环境”您也需要?哎呀,三次元的傻瓜是啥意思来的?


via idf.cn


weakish
24.6k 声望844 粉丝

a vigorously lazy deadbeat with matured immaturity