打造一个实际的全系统污点分析系统--Towards Practical Taint Tracking
2016-04-13 00:39
791 查看
全系统动态污点分析的难点
典型的全系统污点分析都是基于QEMU(一个硬件仿真器)实现的。然而硬件仿真是很慢的,为了提升性能,现在的实现一般都只对和tagged data交互的代码使用仿真,这种方法可以很大地提升性能。但是仍然不能用来做实时分析。此外,细粒度的全系统污点分析,污点经常会传播到内核的数据结构,之后污点就会严重扩大,造成污点爆炸,会标记很多不必要被标记的数据。性能低和污点爆炸,导致全系统污点分析只能停留在实验室中,无法实际使用。为了提高性能,PTT(practical taint tracking)采用了以下方法:1. 当需要跟踪污点时,被测操作系统动态转移到qemu中执行(基于Xen的live migration)。2. 执行异步的污点分析。3. instrument原生的x86指令,而不是qemu的微指令,避免了x86指令到微指令转化的开销。
对于污点爆炸,我们观察到污点是通过几个system call偶然传播到了内核数据结构。通过劫持这些system call,我们可以安全地擦除要传播到内核的污点。
PTT架构
ptt的架构如下图所示:相关文章推荐
- Maintaining a Server
- Maintaining a Cluster
- LeetCode 172. Factorial Trailing Zeroes
- 217. Contains Duplicate
- poj-1218 THE DRUNK JAILER 喝醉的狱卒
- LightOJ 1236 Pairs Forming LCM 合数分解
- OC阅读笔记十九:禁用retainCount
- Failed to load native-hadoop本地库不一致的解决办法
- 出现linker command failed with exit code 1 (use -v to see invocation)
- HFM DCOM configuration 11.1.2.3 failing
- AIDL旅行记之AIDL的简单使用
- hdu 5178 pairs
- Maven父子项目打包子项目出现Failed to collect dependencies问题
- CDISC SDTM DM domain 学习笔记
- 【codeforces 651B - Beautiful Paintings 】 greedy(贪心)
- 完全教程 Aircrack-ng破解WEP、WPA-PSK加密利器 [MARK]
- LeetCode 219. Contains Duplicate II
- AIDL旅行记之开篇AIDL基本介绍
- hdu 5175 Misaki's Kiss again
- C - Sorting Railway Cars