Secure program execution via dynamic information flow tracking
Top Cited Papers
- 7 October 2004
- conference paper
- Published by Association for Computing Machinery (ACM)
- Vol. 39 (11) , 85-96
- https://doi.org/10.1145/1024393.1024404
Abstract
We present a simple architectural mechanism called dynamic information flow tracking that can significantly improve the security of computing systems with negligible performance overhead. Dynamic information flow tracking protects programs against malicious software attacks by identifying spurious information flows from untrusted I/O and restricting the usage of the spurious information.Every security attack to take control of a program needs to transfer the program's control to malevolent code. In our approach, the operating system identifies a set of input channels as spurious, and the processor tracks all information flows from those inputs. A broad range of attacks are effectively defeated by checking the use of the spurious values as instructions and pointers.Our protection is transparent to users or application programmers; the executables can be used without any modification. Also, our scheme only incurs, on average, a memory overhead of 1.4% and a performance overhead of 1.1%.Keywords
This publication has 5 references indexed in Scilit:
- Buffer overrun detection using linear programming and static analysisPublished by Association for Computing Machinery (ACM) ,2003
- Mondrian memory protectionPublished by Association for Computing Machinery (ACM) ,2002
- CCuredPublished by Association for Computing Machinery (ACM) ,2002
- SPEC CPU2000: measuring CPU performance in the New MillenniumComputer, 2000
- A hardware architecture for controlling information flowPublished by Association for Computing Machinery (ACM) ,1978