您的位置:首页 > 大数据 > 人工智能

打造一个实际的全系统污点分析系统--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的架构如下图所示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: