[我研究]Temporal Search : Detecting Hidden Malware Timebombs with Virtual Machines

J. Crandall et al@UC Davis & UCSB

 

背景

蠕虫、病毒和其他恶意程序会有一个炸弹,这个炸弹倒计时到某个特定的时间,就会做一些有危害性的事情。

 

现在的方法

人工仔细的查找

 

解决的问题

查出恶意程序中的timetable(定时器),从而可以快速做出反应。

 

方法

在一个virtual machine里面,它的时间不是当前的正常时间,会比正常的时钟快。

 

具体的步骤

1、把定时器搞混乱,监视时间的频率和每个物理内存地址更新的频率间的关系。

2、通过symbolic execution来找出predicate,然后倒置一下这些predicate,就发现了比较少发生的情况,从而构建一个timekeeping architecture的抽象程序。

 

值得借鉴的东西

1Behavior-basedappearance-based的方法的差别

Behavior-based是定义什么是/不是合法的系统服务使用,然后发现方法来找出这些不同。

这篇就是在找不正确使用保存时间和日期的硬件的行为。

2、经验教训

Temporal Behavior的行为的复杂度不是单单由其代码本身引起的,更多的是受环境的影响。

 

工具

使用的full-system, machine-level symbolic execution engineDACODA[10]

[10]On Deriving Unknown Vulnerabilities from Zero-Day Polymorphic and Metamorphic Worm Exploits @CCS 2005(做了一些修改)

posted @ 2011-09-29 15:39  shengying  阅读(246)  评论(0编辑  收藏  举报