Oreo: Protecting ASLR Against Microarchitectural Attacks (Extended Version)

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Song, Shixin, Zhang, Joseph, Yan, Mengjia
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866915055925198848
author Song, Shixin
Zhang, Joseph
Yan, Mengjia
author_facet Song, Shixin
Zhang, Joseph
Yan, Mengjia
contents Address Space Layout Randomization (ASLR) is one of the most prominently deployed mitigations against memory corruption attacks. ASLR randomly shuffles program virtual addresses to prevent attackers from knowing the location of program contents in memory. Microarchitectural side channels have been shown to defeat ASLR through various hardware mechanisms. We systematically analyze existing microarchitectural attacks and identify multiple leakage paths. Given the vast attack surface exposed by ASLR, it is challenging to effectively prevent leaking the ASLR secret against microarchitectural attacks. Motivated by this, we present Oreo, a software-hardware co-design mitigation that strengthens ASLR against these attacks. Oreo uses a new memory mapping interface to remove secret randomized bits in virtual addresses before translating them to their corresponding physical addresses. This extra step hides randomized virtual addresses from microarchitecture structures, preventing side channels from leaking ASLR secrets. Oreo is transparent to user programs and incurs low overhead. We prototyped and evaluated our design on Linux using the hardware simulator gem5.
format Preprint
id arxiv_https___arxiv_org_abs_2412_07135
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Oreo: Protecting ASLR Against Microarchitectural Attacks (Extended Version)
Song, Shixin
Zhang, Joseph
Yan, Mengjia
Cryptography and Security
Hardware Architecture
Address Space Layout Randomization (ASLR) is one of the most prominently deployed mitigations against memory corruption attacks. ASLR randomly shuffles program virtual addresses to prevent attackers from knowing the location of program contents in memory. Microarchitectural side channels have been shown to defeat ASLR through various hardware mechanisms. We systematically analyze existing microarchitectural attacks and identify multiple leakage paths. Given the vast attack surface exposed by ASLR, it is challenging to effectively prevent leaking the ASLR secret against microarchitectural attacks. Motivated by this, we present Oreo, a software-hardware co-design mitigation that strengthens ASLR against these attacks. Oreo uses a new memory mapping interface to remove secret randomized bits in virtual addresses before translating them to their corresponding physical addresses. This extra step hides randomized virtual addresses from microarchitecture structures, preventing side channels from leaking ASLR secrets. Oreo is transparent to user programs and incurs low overhead. We prototyped and evaluated our design on Linux using the hardware simulator gem5.
title Oreo: Protecting ASLR Against Microarchitectural Attacks (Extended Version)
topic Cryptography and Security
Hardware Architecture
url https://arxiv.org/abs/2412.07135