Dynamic Information Flow Tracking on Multicores

Vijay Nagarajan, Ho-Seop Kim, Youfeng Wu, Rajiv Gupta

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Dynamic Information Flow Tracking (DIFT) is a promising technique for detecting software attacks. Due to the computationally intensive nature of the technique, prior efficient implementations [21, 6] rely on specialized hardware support whose only purpose is to enable DIFT. Alternatively, prior software implementations are either too slow [17, 15] resulting in execution time increases as much as four fold for SPEC integer programs or they are not transparent [31] requiring source code modifications. In this paper, we propose the use of chip multiprocessors (CMP) to perform DIFT transparently and efficiently. We spawn a helper thread that is scheduled on a separate core and is only responsible for performing information flow tracking operations. This entails the communication of registers and flags between the main and helper threads. We explore software (shared memory) and hardware (dedicated interconnect) approaches to enable this communication. Finally, we propose a novel application of the DIFT infrastructure where, in addition to the detection of the software attack, DIFT assists in the process of identifying the cause of the bug in the code that enabled the exploit in the first place. We conducted detailed simulations to evaluate the overhead for performing DIFT and found that to be 48 % for SPEC integer programs.
Original languageEnglish
Title of host publicationWorkshop on Interaction between Compilers and Computer Architectures
Subtitle of host publicationcolocated with HPCA, Salt Lake City, Feb. 2008
Number of pages10
Publication statusPublished - 2008

Fingerprint Dive into the research topics of 'Dynamic Information Flow Tracking on Multicores'. Together they form a unique fingerprint.

Cite this