FlexiTaint: A programmable accelerator for dynamic taint propagation

FlexiTaint: A programmable accelerator for dynamic taint propagation
复制标题

DOI:
10.1109/hpca.2008.4658637
复制
发表时间:
2008-10
期刊:
2008 IEEE 14th International Symposium on High Performance Computer Architecture
影响因子:
--
通讯作者:
Guru Venkataramani;Ioannis Doudalis;Yan Solihin;Milos Prvulović
Guru Venkataramani;Ioannis Doudalis;Yan Solihin;Milos Prvulović
中科院分区:
其他
文献类型:
--
作者:
Guru Venkataramani;Ioannis Doudalis;Yan Solihin;Milos Prvulović

文献摘要

被引文献

相似文献

本文介绍了一种用于动态污点传播的硬件加速器-Taint。污点被实现为处理器流水线后端的有序添加,并且存储器位置的污点被存储为常规存储器中的打包数组。污点传播方案通过软件处理程序指定,该软件处理程序在给定操作和源psila污点的情况下计算结果的新污点。为了保持较低的性能开销,RISTOINT缓存最近的污点传播查找,并使用过滤器来避免查找简单的常见情况行为。我们还描述了如何在多核环境中实现一致的污点传播。我们的实验表明,即使同时遵循两种不同的污点传播策略,SPEC 2000基准测试和Splash-2基准测试的平均性能开销也仅为1%和3.7%。
This paper presents FlexiTaint, a hardware accelerator for dynamic taint propagation. FlexiTaint is implemented as an in-order addition to the back-end of the processor pipeline, and the taints for memory locations are stored as a packed array in regular memory. The taint propagation scheme is specified via a software handler that, given the operation and the sourcespsila taints, computes the new taint for the result. To keep performance overheads low, FlexiTaint caches recent taint propagation lookups and uses a filter to avoid lookups for simple common-case behavior. We also describe how to implement consistent taint propagation in a multi-core environment. Our experiments show that FlexiTaint incurs average performance overheads of only 1% for SPEC2000 benchmarks and 3.7% for Splash-2 benchmarks, even when simultaneously following two different taint propagation policies.