Aller au contenu

Glossaire

PIE (exécutable indépendant de la position)

Exécutable compilé pour pouvoir s'exécuter à n'importe quelle adresse, permettant à l'ASLR de randomiser le code et les données du programme lui-même, pas seulement ses bibliothèques.

Un exécutable indépendant de la position (PIE) est compilé avec un adressage relatif (-fPIE) et lié avec -pie, de sorte que le chargeur peut le placer à n'importe quelle adresse de base. Sans PIE, le programme principal se charge toujours à la même adresse fixe, laissant son code et ses données prévisibles même lorsque l'ASLR randomise la pile et les bibliothèques.

La plupart des distributions Linux construisent en PIE par défaut, et le coût sur x86-64 est faible. Vous pouvez le vérifier avec readelf -h (type DYN) et l'indicateur PIE dans readelf -d, ou avec checksec. Voir indicateurs de durcissement des binaires.