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 :
بازگشت