DocumentCode
2554262
Title
Safe Loading - A Foundation for Secure Execution of Untrusted Programs
Author
Payer, Mathias ; Hartmann, Thomas ; Gross, Thomas R.
Author_Institution
ETH Zurich, Zurich, Switzerland
fYear
2012
fDate
20-23 May 2012
Firstpage
18
Lastpage
32
Abstract
The standard loader (ld.so) is a common target of attacks. The loader is a trusted component of the application, and faults in the loader are problematic, e.g., they may lead to local privilege escalation for SUID binaries. Software-based fault isolation (SFI) provides a framework to execute arbitrary code while protecting the host system. A problem of current approaches to SFI is that fault isolation is decoupled from the dynamic loader, which is treated as a black box. The sandbox has no information about the (expected) execution behavior of the application and the connections between different shared objects. As a consequence, SFI is limited in its ability to identify devious application behavior. This paper presents a new approach to run untrusted code in a user-space sandbox. The approach replaces the standard loader with a security-aware trusted loader. The secure loader and the sandbox together cooperate to allow controlled execution of untrusted programs. A secure loader makes security a first class concept and ensures that the SFI system does not allow any unchecked code to be executed. The user-space sandbox builds on the secure loader and subsequently dynamically checks for malicious code and ensures that all control flow instructions of the application adhere to an execution model. The combination of the secure loader and the user-space sandbox enables the safe execution of untrusted code in user-space. Code injection attacks are stopped before any unintended code is executed. Furthermore, additional information provided by the loader can be used to support additional security properties, e.g., in lining of Procedure Linkage Table calls reduces the number of indirect control flow transfers and therefore limits jump-oriented attacks. This approach implements a secure platform for privileged applications and applications reachable over the network that anticipates and confines security threats from the beginning.
Keywords
fault diagnosis; program diagnostics; software fault tolerance; trusted computing; SFI system; SUID binaries; code injection attacks; control flow instructions; dynamic loader; host system; indirect control flow transfers; jump-oriented attacks; local privilege escalation; problematic loader; procedure linkage table calls; safe loading; secure execution; security properties; security-aware trusted loader; software-based fault isolation; standard loader; trusted component; unchecked code; untrusted code; untrusted programs; user-space sandbox; Libraries; Load modeling; Loading; Runtime environment; Security; Standards; process creation; sandboxing; secure loading; software-based fault isolation;
fLanguage
English
Publisher
ieee
Conference_Titel
Security and Privacy (SP), 2012 IEEE Symposium on
Conference_Location
San Francisco, CA
ISSN
1081-6011
Print_ISBN
978-1-4673-1244-8
Electronic_ISBN
1081-6011
Type
conf
DOI
10.1109/SP.2012.11
Filename
6234402
Link To Document