Return Oriented Programming
# Return Oriented Programming

Return Oriented Programming (ROP; deutsch rücksprungorientierte Programmierung) ist eine Technik zur Ausnutzung einer Sicherheitslücke, bei der der Angreifer den Aufrufstack so manipuliert, dass nach dem nächsten Rücksprungbefehl Maschinencode ausgeführt wird, der an dieser Stelle im Programm nicht vorgesehen war.

Weil sich der so erreichte Code bereits im als ausführbar markierten Speicher befindet, ist kein Schutz über ein gesetztes NX-Bit möglich.

Die Return-into-libc-Technik ist eine spezielle Implementierung des Return Oriented Programmings.

## Quellen

* ↑ Neue Exploittechnik trickst Speicherschutz aus. Heise Online, 19. März 2010, abgerufen am 18. September 2013.
* ↑ ROP-Schutz in Windows 8 ausgetrickst. Heise Online, 31. Oktober 2011, abgerufen am 18. September 2013.
* ↑ Hovav Shacham, Erik Buchanan, Ryan Roemer, Stefan Savage: Return-Oriented Programming: Exploits Without Code Injection. August 2008, abgerufen am 20. März 2010 (englisch).
