• DocumentCode
    2554988
  • Title

    ILR: Where´d My Gadgets Go?

  • Author

    Hiser, J. ; Nguyen-Tuong, A. ; Co, Michele ; Hall, Mathew ; Davidson, Jack W.

  • Author_Institution
    Dept. of Comput. Sci., Univ. of Virginia, Charlottesville, VA, USA
  • fYear
    2012
  • fDate
    20-23 May 2012
  • Firstpage
    571
  • Lastpage
    585
  • Abstract
    Through randomization of the memory space and the confinement of code to non-data pages, computer security researchers have made a wide range of attacks against program binaries more difficult. However, attacks have evolved to exploit weaknesses in these defenses. To thwart these attacks, we introduce a novel technique called Instruction Location Randomization (ILR). Conceptually, ILR randomizes the location of every instruction in a program, thwarting an attacker´s ability to re-use program functionality (e.g., arc-injection attacks and return-oriented programming attacks). ILR operates on arbitrary executable programs, requires no compiler support, and requires no user interaction. Thus, it can be automatically applied post-deployment, allowing easy and frequent re-randomization. Our preliminary prototype, working on 32-bit x86 Linux ELF binaries, provides a high degree of entropy. Individual instructions are randomly placed within a 31-bit address space. Thus, attacks that rely on a priori knowledge of the location of code or derandomization are not feasible. We demonstrated ILR´s defensive capabilities by defeating attacks against programs with vulnerabilities, including Adobe´s PDF viewer, acroread, which had an in-the-wild vulnerability. Additionally, using an industry-standard CPU performance benchmark suite, we compared the run time of prototype ILR-protected executables to that of native executables. The average run-time overhead of ILR was 13% with more than half the programs having effectively no overhead (15 out of 29), indicating that ILR is a realistic and cost-effective mitigation technique.
  • Keywords
    Linux; security of data; Linux ELF binary; arbitrary executable program; average run-time overhead; code confinement; computer security researcher; cost-effective mitigation technique; derandomization; entropy; in-the-wild vulnerability; industry-standard CPU performance benchmark suite; instruction location randomization; memory space; native executable; nondata page; program binary; program functionality; prototype ILR-protected executable; rerandomization; Engines; Layout; Linux; Program processors; Prototypes; Security; Virtual machining; ASLR; Diversity; Exploit prevention; Randomization; Return-oriented-programming; arc-injection;
  • 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.39
  • Filename
    6234437