Parallelizing dynamic information flow tracking


Dynamic information flow tracking (DIFT) is an important tool for detecting common security attacks and memory bugs. A DIFT tool tracks the flow of information through a monitored program's registers and memory locations as the program executes, detecting and containing/fixing problems on-the-fly. Unfortunately, sequential DIFT tools are quite slow, and DIFT is quite challenging to parallelize. In this paper, we present a new approach to parallelizing DIFT-like functionality. Extending our recent work on accelerating sequential DIFT, we consider a variant of DIFT that tracks the information flow only through unary operations <i>relaxed DIFT</i>, and yet makes sense for detecting security attacks and memory bugs. We present a parallel algorithm for relaxed DIFT, based on <i>symbolic inheritance tracking</i>, which achieves linear speed-up asymptotically. Moreover, we describe techniques for reducing the constant factors, so that speed-ups can be obtained even with just a few processors. We implemented the algorithm in the context of a Log-Based Architectures (LBA) system, which provides hardware support for logging a program trace and delivering it to other (monitoring) processors. Our simulation results on SPEC benchmarks and a video player show that our parallel relaxed DIFT reduces the overhead to as low as 1.2X using 9 monitoring cores on a 16-core chip multiprocessor.

DOI: 10.1145/1378533.1378538

Extracted Key Phrases

11 Figures and Tables


Citations per Year

55 Citations

Semantic Scholar estimates that this publication has 55 citations based on the available data.

See our FAQ for additional information.

Cite this paper

@inproceedings{Ruwase2008ParallelizingDI, title={Parallelizing dynamic information flow tracking}, author={Olatunji Ruwase and Phillip B. Gibbons and Todd C. Mowry and Vijaya Ramachandran and Shimin Chen and Michael A. Kozuch and Michael P. Ryan}, booktitle={SPAA}, year={2008} }