Address space layout randomization
L’address space layout randomization (ASLR) (« distribution aléatoire de l'espace d'adressage ») est une technique permettant 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 et des bibliothèques. Ce procédé permet de limiter les effets des attaques de type dépassement de tampon par exemple.
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.
Implémentation
La technique de randomisation de l'espace d'adressage a été utilisée depuis plusieurs années sur les systèmes libres tels qu'OpenBSD ou encore Linux. L’implémentation sous Linux est supportée dans le noyau depuis la version 2.6.20 (), bien qu’elle puisse être désactivée par l’option norandmaps
[1]. Il existe également des implémentations externes sous forme de patches telles que PaX.
L’implémentation est supportée de manière native sous Windows depuis Windows Vista (), sous Mac OS X (partiellement[précision nécessaire]) depuis le système 10.5 (Léopard) () et sous iOS 4.3.
Voir aussi
Notes et références
- (en) Greg Kroah-Hartman, « Linux Kernel in a Nutshell : Documentation de norandmaps », sur Linuxtopia.org, O’Reilly Media, (consulté le )
Description — By default, the kernel randomizes the address space of all programs when they are started. This option disables this feature. It is equivalent to writing
0
to the file/proc/sys/kernel/randomize_va_space
.
Articles connexes
Liens externes
- (en) Ollie Whitehouse, « An Analysis of Address Space Layout Randomization on Windows Vista™ » [« Une analyse détaillée de l’implémentation sous Windows Vista »] [PDF], Symantec, (consulté le ). .
- Portail de l’informatique
- Portail de la sécurité informatique