MINESTRONE: Identifying and containing
software vulnerabilities

MINESTRONE logo
 
Back to MINESTRONE
 
AFRL

Instruction-set Randomization (ISR)

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. We created a tool that offers a fast and practical implementation of ISR that can be applied on currently deployed software. It builds on Intel's Pin binary instrumentation tool to provide the 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.

Our tool is freely available for Linux operating systems, and can be obtained from here.

ISR
Basic concept of ISR

Instruction-set randomization can be also implemented in hardware, as the original ISR work proposed. Additionally, ISR can be adopted globally across the software stack, preventing the execution of unauthorized binaries and scripts regardless of their origin. This approach requires that programs are randomized with different keys during a user-controlled installation, effectively combining the benefits of code whitelisting/signing and runtime program integrity. Such an environment for binaries can be implemented with little overhead in hardware, while higher-overhead software-only alternatives, like ISR using Pin, are also possible.

People

Prof. Angelos Keromytis, Columbia University
Georgios Portokalidis, Columbia University

Related papers

Global ISR: Toward a Comprehensive Defense Against Unauthorized Code Execution [PDF]
Georgios Portokalidis, Angelos D. Keromytis
In ARO Workshop on Moving Target Defense, October 2010.

Fast and Practical Instruction-Set Randomization for Commodity Systems [PDF]
Georgios Portokalidis, Angelos D. Keromytis
In Proceedings of the Annual Computer Security Applications Conference (ACSAC), December 2010. (Acceptance rate: 17%)

On The General Applicability of Instruction-Set Randomization (more...)
Stephen W. Boyd, Gaurav S. Kc, Michael E. Locasto, Angelos D. Keromytis, and Vassilis Prevelakis
In IEEE Transactions on Dependable and Secure Computing (TDSC), vol. 7, no. 3, pp. 255 - 270, July - September 2010

Randomized Instruction Sets and Runtime Environments: Past Research and Future Directions (more...)
Angelos D. Keromytis
In IEEE Security & Privacy Magazine, vol. 7, no. 1, pp. 18 - 25, January/February 2009

Countering Code-Injection Attacks With Instruction-Set Randomization (more...)
Gaurav S. Kc, Angelos D. Keromytis, and Vassilis Prevelakis
In CCS 2003, Washington, DC, October 2003

Latest News

12/18/10
Our paper "Global ISR: Toward a Comprehensive Defense Against Unauthorized Code Execution" is to appear in the ARO Workshop.
08/16/10
Our paper "Fast and Practical Instruction-Set Randomization for Commodity Systems " is to appear in the Annual Computer Security Applications Conference (ACSAC).
This work is supported by the United States Air Force Research Laboratory (AFRL) through Contract FA8650-10-C-7024. Opinions, findings, conclusions and recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the US Government, or the Air Force.