Les Buffers Overflows Techniques et évolution par Raphaël GERMON

L'ASLR

L'Address Space Layout Randomization (ASLR) ou distribution aléatoire de l'espace d'adressage permet de placer de façon aléatoire les zones de données dans la mémoire virtuelle.

Il s'agit en général de la position du tas, de la pile, des bibliothèques. Elle consiste à rendre la configuration des processus « aléatoire », en plaçant différents éléments de base à des endroits variables. Contrairement aux autres, les systèmes utilisant l'ASLR configurent donc les processus de manière aléatoire, ce qui limite le fonctionnement des attaques se basant sur les structures fixes, connues et documentées des processus.

Différents éléments peuvent être randomisés : la plupart des systèmes définissent par exemple des adresses de piles ou de tas aléatoires.

L'ASLR est implémenté sous Linux depuis le noyau 2.6.20 et supporté de manière native sous windows depuis Windows Vista, et sous OS X depuis la version 10.5 et iOS depuis la version 4.3.