Fast and Practical Instruction-Set Randomization for Commodity Systems

Abstract

Instruction-set randomization (ISR) is a technique based on randomizing the "language" understood by a system to protect it from code-injection attacks. Such attacks were used by many computer worms in the past, but still pose a threat as it was confirmed by the recent Conficker worm outbreak, and the latest exploits targeting some of Adobe's most popular products. This paper presents a fast and practical implementation of ISR that can be applied on currently deployed software. Our solution builds on a binary instrumentation tool to provide an ISR-enabled execution environment entirely in software. Applications are randomized using a simple XOR function and a 16-bit key that is randomly generated every time an application is launched. Shared libraries can be also randomized using separate keys, and their randomized versions can be used by all applications running under ISR. Moreover, we introduce a key management system to keep track of the keys used in the system. To the best of our knowledge we are the first to apply ISR on truly shared libraries. Finally, we evaluate our implementation using real applications including the Apache web server, and the MySQL database server. For the first, we show that our implementation has negligible overhead (less than 1%) for static HTML loads, while the overhead when running MySQL can be as low as 75%. We see that our system can be used with little cost with I/O intensive network applications, while it can also be a good candidate for deployment with CPU intensive applications, in scenarios where security outweighs performance.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Dec 06, 2010
Accession Number
AD1094236

Entities

People

  • Angelos Dennis Keromytis
  • Georgios Portokalidis

Organizations

  • Columbia University

Tags

Communities of Interest

  • C4I
  • Cyber

DTIC Thesaurus Topics

  • Air Force
  • Code Injection
  • Coding
  • Computer Programs
  • Computer Science
  • Computer Worms
  • Computers
  • Computing System Architectures
  • Databases
  • Decoding
  • Environment
  • Instruction Set Architecture
  • Instructions
  • Instrumentation
  • Operating Systems
  • Reliability
  • Security

Fields of Study

  • Computer science

Readers

  • Cybersecurity.
  • Database Systems and Applications
  • Mental Health of Military Veterans with Posttraumatic Stress Disorder (PTSD): Risk Factors, Prevalence, Symptoms, and Treatment.