Known/Chosen Key Attacks against Software Instruction Set Randomization

TítuloKnown/Chosen Key Attacks against Software Instruction Set Randomization
Tipo de publicaciónConference Paper
Año de publicación
2006
Autores
Yoav Weiss
Elena Gabriela Barrantes
Conference Name
Computer Security Applications Conference, 2006. ACSAC'06. 22nd Annual
Fecha de publicación
12/2006
Editorial
IEEE
Conference Location
Miami, FL, Estados Unidos
Número ISBN
0-7695-2716-7
Accession Number
9343128
URL
http://ieeexplore.ieee.org/document/4041180/
DOI
10.1109/ACSAC.2006.33
Palabras clave
Binary codes
Computer aided instruction
Emulation
genetics
Hardware
Open source software
Production
Protection
Security
Testing
Resumen

Instruction set randomization (ISR) has been proposed as a form of defense against binary code injection into an executing program. One proof-of-concept implementation is randomized instruction set emulator (RISE), based on the open-source Valgrind IA-32 to IA-32 binary translator. Although RISE is effective against attacks that are not RISE-aware, it is vulnerable to pure data and hybrid data-code attacks that target its data, as well to some classes of brute-force guessing. In order to enable the design of a production version, we describe implementation-specific and generic vulnerabilities that can be used to overcome RISE in its current form. We present and discuss attacks and solutions in three categories: known-key attacks that rely on the key being leaked and then used to pre-scramble the attacking code; chosen-key attacks that use implementation weaknesses to allow the attacker to define its own key, or otherwise affect key generation; and key-guessing ("brute-force") attacks, about which we explore the design of mini-malistic loaders which can be used to minimize the number of mask bytes required for a successful key-guessing attack. All the described attacks were tested in real-world scenarios