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.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 1 Min.

Moderne Betriebssysteme verwürfeln alle Speicheradressen (Address Space Layout Randomisation, ASLR); unter anderem landen etwa nachgeladene Bibliotheken an zufälligen Offsets im Speicher. Somit genügt es nicht, einen Pufferüberlauf etwa im Browser zu finden und so den Instruction Pointer zu kontrollieren, um eigenen Code auszuführen. Dem Exploit-Schreiber stellt sich die Frage: Wohin will ich eigentlich springen?

Kingcope demonstriert einen erstaunlich simplen Trick, mit dem er dafür sorgen kann, dass etwa eine DLL an eine bestimmte, ihm bekannte Speicheradresse geladen wird. Mit etwas JavaScript-Code belegt er zunächst sämtlichen Speicher des Systems. Den gibt er dann stückweise wieder frei – und zwar solange, bis die zum Start eines Active-X-Controls erforderlichen DLLs gerade so reinpassen. Damit wird die DLL an eine vorhersagbare Adresse geladen und der Exploit-Schreiber kann die dort vorhandenen Code-Fragmente gezielt anspringen.

(ju)