ASLR
Qu'est-ce que ASLR ?
ASLRLa randomisation de l'espace d'adressage place aleatoirement le code, les piles, les tas et les bibliotheques en memoire afin qu'un attaquant ne puisse pas predire les adresses cibles.
ASLR est une mitigation defensive qui randomise les adresses de base des regions cles d'un processus — executable, bibliotheques partagees, tas, pile et zone mmap — a chaque execution. La technique a ete introduite par le projet PaX en 2001 et est aujourd'hui presente dans Linux, Windows, macOS, iOS et Android. En rendant la disposition memoire imprevisible, elle force l'attaquant a fuir une adresse avant de lancer des attaques de reutilisation de code comme ROP. Son efficacite depend de l'entropie, de la couverture complete des binaires (PIE) et de la combinaison avec DEP/NX, les canaris de pile et CFI pour resister aux ecrasements partiels et aux fuites.
● Exemples
- 01
Linux randomise la base de la pile, du tas et du binaire PIE a chaque exec.
- 02
Windows rebase kernel32.dll et ntdll.dll a chaque demarrage.
● Questions fréquentes
Qu'est-ce que ASLR ?
La randomisation de l'espace d'adressage place aleatoirement le code, les piles, les tas et les bibliotheques en memoire afin qu'un attaquant ne puisse pas predire les adresses cibles. Cette notion relève de la catégorie Sécurité applicative en cybersécurité.
Que signifie ASLR ?
La randomisation de l'espace d'adressage place aleatoirement le code, les piles, les tas et les bibliotheques en memoire afin qu'un attaquant ne puisse pas predire les adresses cibles.
Comment fonctionne ASLR ?
ASLR est une mitigation defensive qui randomise les adresses de base des regions cles d'un processus — executable, bibliotheques partagees, tas, pile et zone mmap — a chaque execution. La technique a ete introduite par le projet PaX en 2001 et est aujourd'hui presente dans Linux, Windows, macOS, iOS et Android. En rendant la disposition memoire imprevisible, elle force l'attaquant a fuir une adresse avant de lancer des attaques de reutilisation de code comme ROP. Son efficacite depend de l'entropie, de la couverture complete des binaires (PIE) et de la combinaison avec DEP/NX, les canaris de pile et CFI pour resister aux ecrasements partiels et aux fuites.
Comment se défendre contre ASLR ?
Les défenses contre ASLR combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.
Quels sont les autres noms de ASLR ?
Noms alternatifs courants : Randomisation de l'espace d'adressage, PIE.
● Termes liés
- appsec№ 581
KASLR
Le KASLR randomise la base du noyau et l'adresse de chargement des modules a chaque demarrage afin d'empecher un attaquant d'utiliser des symboles fixes pour une elevation de privileges.
- appsec№ 303
DEP
La prevention d'execution des donnees (DEP / NX / W^X) marque les pages memoire comme non executables pour empecher un attaquant d'executer du shellcode injecte dans la pile ou le tas.
- appsec№ 925
Return-Oriented Programming
Le ROP est une technique d'exploitation par reutilisation de code qui enchaine de courtes sequences terminees par RET pour executer un calcul arbitraire sans injecter de code.
- appsec№ 1095
Canari de pile
Un canari de pile est une valeur secrete placee entre les tampons locaux d'une fonction et son adresse de retour sauvegardee pour detecter les depassements avant qu'ils ne detournent le flot de controle.
- appsec№ 217
Integrite du flot de controle
L'integrite du flot de controle (CFI) restreint les appels indirects et les retours du programme a un ensemble precalcule de cibles legitimes, bloquant ROP et JOP.
- appsec№ 670
Securite memoire
La securite memoire est la propriete qu'un programme ne lise, n'ecrive ni n'execute jamais une memoire qu'il n'a pas legitimement allouee, ce qui supprime des classes entieres de vulnerabilites.
● Voir aussi
- № 471Heap Spraying
- № 469Heap Feng Shui
- № 569Programmation orientee saut (JOP)
- № 1028Shadow stack
- № 545Intel CET
- № 671Langages memory safe