Return Oriented Programming

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 18. Oktober 2020 um 00:29 Uhr durch Zero Thrust (Diskussion | Beiträge) (bei Heise steht nichts von indirekt ausgesucht, was auch immer das heißt).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

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.[1][2]

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

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

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