[我研究]Behavior Based Software Theft Detection - Hawk

Xinran Wang, Yoon-Chan Jhi, Sencun Zhu, Peng Liu@PSU

背景:

Behavior Based Software Theft Detection的系统包含四个步骤:

1、Dynamic Analysis - 产生System Call, Call Stack, Dependences

2、Noise Filtering

3、Extract SCDG Birthmarks

4、Compare SCDG Birthmarks

Dynamic Analysis的架构:

Valgrind[23] 和Hawk之间的关系

[23] Valgrind: a framework for heavyweight dynamic binary instrumentation. SIGPLAN 2007.

Hawk是作为对Valgrind的plugin-tool。

Dynamic Analysis的流程:

1、输入binary program到Valgrind

2、Valgrind Just-in-time地反编译机器码为IR

3、Hawk在IR上进行analysis code instrument (dependence)

问题:什么叫memory byte和register有dependence set来shadow?

4、将instrument之后的代码重新转化为机器码

关于Hawk的细节问题:

1、做两个instrumentation - IR instrumentation & system call instrumentation

2、intermediate dependence set的清理 - 有三种方法,使用其中一种

reference counting[6]; mark-sweep; copy collection

3、出于性能考虑,没有跟踪control dependence,只跟踪data dependence

寻找源码

posted @ 2011-08-15 16:36  shengying  阅读(295)  评论(0编辑  收藏  举报