Global ISR: Toward a Comprehensive Defense Against Unauthorized Code Execution

Abstract

Instruction-set randomization (ISR) obfuscates the "language" understood by a system to protect against code-injection attacks by presenting an ever-changing target. ISR was originally motivated by code injection through buffer overflow vulnerabilities. However, Stuxnet demonstrated that attackers can exploit other vectors to place malicious binaries into a victim's filesystem and successfully launch them, bypassing most mechanisms proposed to counter buffer overflows. We propose the holistic adoption of ISR across the software stack, preventing the execution of unauthorized binaries and scripts regardless of their origin. Our approach requires that programs be randomized with di erent keys during a user-controlled installation, effectively combining the benefits of code whitelisting/signing and runtime program integrity. We discuss how an ISR-enabled environment for binaries can be implemented with little overhead in hardware, and show that higher-overhead software-only alternatives are possible. We use Perl and SQL to demonstrate the application of ISR in scripting environments with negligible overhead.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Oct 01, 2010
Accession Number
ADA557729

Entities

People

  • Angelos Dennis Keromytis
  • Georgios Portokalidis

Organizations

  • Columbia University

Tags

Communities of Interest

  • C4I
  • Cyber

DTIC Thesaurus Topics

  • Code Injection
  • Coding
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Computing System Architectures
  • Cybersecurity
  • Database Management Systems
  • Decoding
  • Environment
  • Instruction Set Architecture
  • Instructions
  • Instrumentation
  • Language
  • Operating Systems
  • Shell Scripts

Fields of Study

  • Computer science

Readers

  • Cybersecurity.
  • Database Systems and Applications
  • Parallel and Distributed Computing.