[Publication] Return Oriented Programming 101

By Davy Douhine | October 6, 2020

Exploiter un débordement de tampon sur la pile, sans protection, ça n’est pas très compliqué. Mais qu’en est-il avec la protection NX/DEP ?

Brendan Guevel nous présente les bases du ROP dans le dernier Hors-Série de MISC HS 22 axé autour des fondamentaux de la sécurité système et logicielle en terme d’exploitation et de contre-mesures.

Voici le synopsis de l’article:


RETURN ORIENTED PROGRAMMING 101

Le returned oriented Programming (ou ROP) est une technique permettant d’exploiter des programmes disposant de la protection NX (No eXecute) ou DeP (Data execution Prevention). L’objectif de cet article est de vous présenter les bases du ROP, ainsi que l’exploitation pas-à-pas d’un programme d’entraînement via l’utilisation de la bibliothèque python pwntools. Dans un souci de simplicité, la démonstration sera réalisée sur un programme s’exécutant sur un système Linux 64 bits. Bien entendu, cette démonstration reste applicable sur d’autres architectures (ARM, MIPS, etc.).

L’article est disponible ici et comme d’habitude, dès que c’est possible, nous optons pour une licence Creative Commons (BY-NC-ND) dans le but de mettre l’article à disposition de tout le monde. L’article sera donc publié ici dès d’ici quelques mois.

En attendant, rendez-vous en kiosque ou sur Connect pour le découvrir. Bonne lecture !