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.

Quellen

Bearbeiten
  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).

📚 Artikel Terkait di Wikipedia

Rop

Retinopathia praematurorum, Netzhauterkrankung bei Frühgeburten Return Oriented Programming, Programmiertechnik innerhalb Computerschadprogrammen Ringöffnende

Return into libc

Erweiterung und Verallgemeinerung dieser Technik beschreibt das Return Oriented Programming, bei dem sowohl die Voraussetzung externer Einbindungen aufgegeben

Vererbung (Programmierung)

D. Craig: Object-Oriented Programming Languages: Interpretation. S. 187, siehe Literatur Iain D. Craig: Object-Oriented Programming Languages: Interpretation

Spectre (Sicherheitslücke)

Angreifer eingebrachte Befehle spekulativ ausführen, z. B. durch Return Oriented Programming unter Ausnutzung eines Pufferüberlaufs oder mit einem vom Angreifer

Ada (Programmiersprache)

The Craft of Object-Oriented Programming (PDF; 1,4 MB) Online-Buch von John English The Big Online Book of Linux Ada Programming Online-Buch von Ken O

Zen 3

Taktzyklus) ergeben Control Flow Enforcement Technologie (CET), um Return Oriented Programming zu verhindern schnellere Wechsel der Kern-Frequenzen Die

JavaScript

  (ecma-international.org (PDF) PDF). Englische Wikipedia: Role-oriented programming Traits for Javascript, 2010. CocktailJS – Annotations. Traits. Talents

Typsicherheit

Object-Oriented Programming in Oberon-2, siehe auch Stichwort "Smalltalk", abgerufen am 9. Juli 2016 Hanspeter Mössenböck, Niklaus Wirth: The Programming Language