[我研究]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的抽象程序。
值得借鉴的东西
1、Behavior-based和appearance-based的方法的差别
Behavior-based是定义什么是/不是合法的系统服务使用,然后发现方法来找出这些不同。
这篇就是在找不正确使用保存时间和日期的硬件的行为。
2、经验教训
Temporal Behavior的行为的复杂度不是单单由其代码本身引起的,更多的是受环境的影响。
工具
使用的full-system, machine-level symbolic execution engine是DACODA[10]
[10]On Deriving Unknown Vulnerabilities from Zero-Day Polymorphic and Metamorphic Worm Exploits @CCS 2005(做了一些修改)