[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1109/SP.2012.11guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Safe Loading - A Foundation for Secure Execution of Untrusted Programs

Published: 20 May 2012 Publication History

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.

Cited By

View all
  • (2020)On the Impact of Exception Handling Compatibility on Binary InstrumentationProceedings of the 2020 ACM Workshop on Forming an Ecosystem Around Software Transformation10.1145/3411502.3418428(23-28)Online publication date: 13-Nov-2020
  • (2019)x86-64 instruction usage among C/C++ applicationsProceedings of the 12th ACM International Conference on Systems and Storage10.1145/3319647.3325833(68-79)Online publication date: 22-May-2019
  • (2018)ReferencesThe Continuing Arms Race10.1145/3129743.3129753(261-281)Online publication date: 1-Mar-2018
  • Show More Cited By
  1. Safe Loading - A Foundation for Secure Execution of Untrusted Programs

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image Guide Proceedings
    SP '12: Proceedings of the 2012 IEEE Symposium on Security and Privacy
    May 2012
    600 pages
    ISBN:9780769546810

    Publisher

    IEEE Computer Society

    United States

    Publication History

    Published: 20 May 2012

    Author Tags

    1. process creation
    2. sandboxing
    3. secure loading
    4. software-based fault isolation

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 25 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2020)On the Impact of Exception Handling Compatibility on Binary InstrumentationProceedings of the 2020 ACM Workshop on Forming an Ecosystem Around Software Transformation10.1145/3411502.3418428(23-28)Online publication date: 13-Nov-2020
    • (2019)x86-64 instruction usage among C/C++ applicationsProceedings of the 12th ACM International Conference on Systems and Storage10.1145/3319647.3325833(68-79)Online publication date: 22-May-2019
    • (2018)ReferencesThe Continuing Arms Race10.1145/3129743.3129753(261-281)Online publication date: 1-Mar-2018
    • (2015)How the ELF ruined ChristmasProceedings of the 24th USENIX Conference on Security Symposium10.5555/2831143.2831184(643-658)Online publication date: 12-Aug-2015
    • (2015)Rethinking Memory Permissions for Protection Against Cross-Layer AttacksACM Transactions on Architecture and Code Optimization10.1145/284262112:4(1-27)Online publication date: 8-Dec-2015
    • (2015)A Principled Approach for ROP DefenseProceedings of the 31st Annual Computer Security Applications Conference10.1145/2818000.2818021(101-110)Online publication date: 7-Dec-2015
    • (2015)Control Flow and Code Integrity for COTS binariesProceedings of the 31st Annual Computer Security Applications Conference10.1145/2818000.2818016(91-100)Online publication date: 7-Dec-2015
    • (2015)The Performance Cost of Shadow Stacks and Stack CanariesProceedings of the 10th ACM Symposium on Information, Computer and Communications Security10.1145/2714576.2714635(555-566)Online publication date: 14-Apr-2015
    • (2015)Fine-Grained Control-Flow Integrity Through Binary HardeningProceedings of the 12th International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment - Volume 914810.1007/978-3-319-20550-2_8(144-164)Online publication date: 9-Jul-2015
    • (2013)Process firewallsProceedings of the 8th ACM European Conference on Computer Systems10.1145/2465351.2465358(57-70)Online publication date: 15-Apr-2013
    • Show More Cited By

    View Options

    View options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media