Logo von Security

Suche

ROP-Schutz in Windows 8 ausgetrickst

Windows 8 bringt eine Reihe von neuen Schutzmechanismen mit, die Exploit-Schreibern das Leben schwerer machen sollen. Doch die haben bereits kurz nach dem Erscheinen des Windows 8 Developer Previews einen Weg gefunden, eine dieser neuen Hürden zu umgehen.

Die Standardtechnik, die immer weiter verbreitete Data Execution Prevention (DEP) zu umgehen, ist es, sich kleine Code-Fragmente zusammen zu suchen, die dann Speicherverwaltungsfunktionen wie VirtualProtect nutzen, um den Speicherschutz wieder abzuschalten. Jedes dieser Fragmente endet mit einem Return-Befehl, der an die auf dem Stack abgelegte Adresse springt (daher Return Oriented Programming, ROP). Folglich braucht der Exploit-Schreiber einen speziell präparierten Stack. Da es in der Praxis oft schwer ist, den eigentlichen Stack so zu manipulieren, sorgt er dafür, dass die passende Byte-Sequenz auf dem Heap liegt und biegt den Stack-Pointer ESP dorthin um.

Anzeige

Da setzt Windows 8 an und kontrolliert beim Aufruf der Speicherverwaltungsfunktionen, ob der Stack-Pointer noch in den vom Thread Environment Block (TEB) vorgegebenen Bereich zeigt. Wenn nicht, wird der Prozess beendet. Der neue Trick der Exploit-Schreiber ist einfach: Sie geben Windows was es will und setzen ESP für den Aufruf der kritischen Funktionen temporär wieder zurück.

  1. Blindes Hacking

    Blindes Hacking

    Normalerweise benötigt man für das zuverlässige Ausnutzen einer Sicherheitslücke das verwundbare Programm selbst. Ein Forscherteam zeigt, dass es zur Not auch ohne geht.

  2. Rust 0.9 bringt Static Linking und überarbeitete Zeiger

    In der neuen Version der Programmiersprache haben die Entwickler zudem Laufzeitumgebung und I/O-Subsystem verbessert und sich der Closures angenommen.

  3. Instabilen C-/C++-Code mit STACK finden

    Forscher des Massachusetts Institute of Technology haben den im Compiler stattfindenden Optimierungsprozess von C- und C++-Code untersucht und mit STACK eine Möglichkeit zum Auffinden von instabil gewordenen Code entwickelt.

  4. Windows-Speicherverwürfelung ausgetrickst

    Der Hacker mit dem Handle Kingcope stellt eine Technik vor, wie man die normalerweise zufällig ausgewürfelten Speicher-Adressen von Bibliotheken in Windows 7 und 8 quasi festnageln und gezielt bestimmte Code-Sequenzen anspringen kann.

Anzeige