Secure Execution Via Program Shepherding
Name
MIT-LCS-TM-625.pdf
Size
86.47 KB
Format
Adobe PDF
Checksum (MD5)
3ae68ca2c39f736f06198d5c68850779
Author(s) • •
Kiriansky, Vladimir
Bruening, Derek
Amarasinghe, Saman
Date Issued
February 2002
Series/Report no.
MIT-LCS-TM-625
Abstract
We introduce program shepherding, a method for monitoring control flow transfers during program execution to enforce a security policy. Shepherding ensures that malicious code masquerading as data is never executed, thwarting a large class of security attacks. Shepherding can also enforce entry points as the only way to execute shared library code. Furthermore, shepherding guarantees that sandboxing checks around any type of program operation will never be bypassed. We have implemented these capabilities efficiently in a runtime system with minimal or no performance penalties. This system operates on unmodified native binaries, requires no special hardware or operating system support, and runs on existing IA-32 machines.
Persistent DSpace Link