Return Oriented Programming
Return Oriented Programming (ROP; {{Modul:Vorlage:lang}} Modul:Vorlage:lang:103: attempt to index field 'wikibase' (a nil value)) 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.<ref>Neue Exploittechnik trickst Speicherschutz aus. Heise Online, 19. März 2010, abgerufen am 18. September 2013.</ref><ref>ROP-Schutz in Windows 8 ausgetrickst. Heise Online, 31. Oktober 2011, abgerufen am 18. September 2013.</ref>
Weil sich der so erreichte Code bereits im als ausführbar markierten Speicher befindet, ist kein Schutz über ein gesetztes NX-Bit möglich.<ref>Hovav Shacham, Erik Buchanan, Ryan Roemer, Stefan Savage: Return-Oriented Programming: Exploits Without Code Injection. August 2008, abgerufen am 20. März 2010 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>
Die Return-into-libc-Technik ist eine spezielle Implementierung des Return Oriented Programmings.
Quellen
<references />