Le Return-Oriented Programming (ROP) est aujourd'hui une technique très fréquemment utilisée pour passer outre certaines protections présentes sur les systèmes d'exploitation. Dans cet article, nous présentons ces défenses, puis comment le ROP contribue à les contourner.
1. Introduction
De plus en plus, les systèmes d'exploitation mettent en place des mécanismes de sécurité afin de diminuer le nombre de vecteurs d'attaques possibles. À chaque mise en place d'un nouveau mécanisme, ce dernier est analysé par la communauté afin de trouver un nouveau chemin possible permettant d'arriver au résultat initial. La plupart du temps, le but est de détourner le flux d'exécution et d'exécuter du code machine malgré ces protections.
Le ROP (Return-Oriented Programming), devenu une technique très populaire depuis quelques années qui justement, permet de passer outre certaines de ces protections. Dans la suite de cet article, nous verrons comment les systèmes d’exploitation pallient le manque de sécurité puis pourquoi le ROP est devenu une méthode incontournable dans le monde de l'exploitation.
2. Les bases à connaître
Avant d'aller plus loin, nous présentons les bases à connaître en matière d'exploitation afin de comprendre...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première