To strengthen systems against code injection attacks, the write or execute only policy (W + X) and address space layout randomization (ASLR) are typically used in combination. The former separates data and code, while the latter randomizes the layout of a process. In this paper we present a new attack to bypass W + X and ASLR. The state-of-the-art attack against this combination of protections is based on brute-force, while ours is based on the leakage of sensitive information about the memory layout of the process. Using our attack an attacker can exploit the majority of programs vulnerable to stack-based buffer overflows surgically, i.e., in a single attempt. We have estimated that our attack is feasible on 95.6% and 61.8% executables (of medium size) for Intel x86 and x86-64 architectures, respectively. We also analyze the effectiveness of other existing protections at preventing our attack. We conclude that position independent executables (PIE) are essential to complement ASLR and to prevent our attack. However, PIE requires recompilation, it is often not adopted even when supported, and it is not available on all ASLR-capable operating systems. To overcome these limitations, we propose a new protection that is as effective as PIE, does not require recompilation, and introduces only a minimal overhead.

Surgically Returning to Randomized lib(c) / G. Fresi Roglia, L. Martignoni, R. Paleari, D. Bruschi. ((Intervento presentato al 25. convegno Annual Computer Security Applications Conference tenutosi a Honolulu, Hawai nel 2009 [10.1109/ACSAC.2009.16].

Surgically Returning to Randomized lib(c)

G. Fresi Roglia;L. Martignoni;R. Paleari;D. Bruschi
2009

Abstract

To strengthen systems against code injection attacks, the write or execute only policy (W + X) and address space layout randomization (ASLR) are typically used in combination. The former separates data and code, while the latter randomizes the layout of a process. In this paper we present a new attack to bypass W + X and ASLR. The state-of-the-art attack against this combination of protections is based on brute-force, while ours is based on the leakage of sensitive information about the memory layout of the process. Using our attack an attacker can exploit the majority of programs vulnerable to stack-based buffer overflows surgically, i.e., in a single attempt. We have estimated that our attack is feasible on 95.6% and 61.8% executables (of medium size) for Intel x86 and x86-64 architectures, respectively. We also analyze the effectiveness of other existing protections at preventing our attack. We conclude that position independent executables (PIE) are essential to complement ASLR and to prevent our attack. However, PIE requires recompilation, it is often not adopted even when supported, and it is not available on all ASLR-capable operating systems. To overcome these limitations, we propose a new protection that is as effective as PIE, does not require recompilation, and introduces only a minimal overhead.
2009
Computer Networks and Communications; Software; Safety, Risk, Reliability and Quality
Settore INF/01 - Informatica
Applied Computer Security Associates (ACSAC)
Surgically Returning to Randomized lib(c) / G. Fresi Roglia, L. Martignoni, R. Paleari, D. Bruschi. ((Intervento presentato al 25. convegno Annual Computer Security Applications Conference tenutosi a Honolulu, Hawai nel 2009 [10.1109/ACSAC.2009.16].
Conference Object
File in questo prodotto:
File Dimensione Formato  
acsac09.pdf

accesso aperto

Tipologia: Publisher's version/PDF
Dimensione 199.54 kB
Formato Adobe PDF
199.54 kB Adobe PDF Visualizza/Apri
Pubblicazioni consigliate

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/2434/139336
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 83
  • ???jsp.display-item.citation.isi??? 31
social impact