牛骨文教育服务平台(让学习变的简单)
博文笔记

打造一个实际的全系统污点分析系统--Towards Practical Taint Tracking

创建时间:2016-04-13 投稿人: 浏览次数:782

全系统动态污点分析的难点

典型的全系统污点分析都是基于QEMU(一个硬件仿真器)实现的。然而硬件仿真是很慢的,为了提升性能,现在的实现一般都只对和tagged data交互的代码使用仿真,这种方法可以很大地提升性能。但是仍然不能用来做实时分析。此外,细粒度的全系统污点分析,污点经常会传播到内核的数据结构,之后污点就会严重扩大,造成污点爆炸,会标记很多不必要被标记的数据。性能低和污点爆炸,导致全系统污点分析只能停留在实验室中,无法实际使用。
为了提高性能,PTT(practical taint tracking)采用了以下方法:1. 当需要跟踪污点时,被测操作系统动态转移到qemu中执行(基于Xen的live migration)。2. 执行异步的污点分析。3. instrument原生的x86指令,而不是qemu的微指令,避免了x86指令到微指令转化的开销。
对于污点爆炸,我们观察到污点是通过几个system call偶然传播到了内核数据结构。通过劫持这些system call,我们可以安全地擦除要传播到内核的污点。

PTT架构

ptt的架构如下图所示:
这里写图片描述

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。