Heap Feng Shui
Was ist Heap Feng Shui?
Heap Feng ShuiDeterministische Heap-Grooming-Technik (Alexander Sotirov, 2007), die Allokationen so anordnet, dass verwundbare Objekte direkt neben angreiferkontrollierten liegen.
Alexander Sotirov pragte Heap Feng Shui auf der Black Hat Europe 2007. Anders als das statistische Heap Spray alloziert, freigibt und reallokiert Feng Shui Objekte gezielt in JavaScript, um den Browser-Heap so zu formen, dass nach einer Memory Corruption das verwundbare Objekt zuverlaessig mit angreiferkontrollierten Bytes ueberlappt. Durch das Leeren von Freelists, das Ausnutzen von Size-Class-Bins und die Verwendung langlebiger Allokationen als Anker erreichen Exploits deterministische Layouts trotz ASLR und randomisierter Allokatoren. Die Idee wurde auf Kernel-Heaps (Linux SLUB, Windows Pool Feng Shui) und JavaScript-Engines (V8, SpiderMonkey) uebertragen. Moderne Gegenmassnahmen: gehaertete Allokatoren (PartitionAlloc, scudo), MTE auf ARM, GWP-ASan, isolierte Heaps fuer sensible Metadaten.
● Beispiele
- 01
Praezise Allokationen in JavaScript, um ein verwundbares JIT-Objekt neben einen angreiferkontrollierten ArrayBuffer zu legen.
- 02
Linux-Kernel-SLUB-Feng-Shui, um ein UAF-Objekt mit cred-Strukturen auszurichten und Root zu werden.
● Häufige Fragen
Was ist Heap Feng Shui?
Deterministische Heap-Grooming-Technik (Alexander Sotirov, 2007), die Allokationen so anordnet, dass verwundbare Objekte direkt neben angreiferkontrollierten liegen. Es gehört zur Kategorie Angriffe und Bedrohungen der Cybersicherheit.
Was bedeutet Heap Feng Shui?
Deterministische Heap-Grooming-Technik (Alexander Sotirov, 2007), die Allokationen so anordnet, dass verwundbare Objekte direkt neben angreiferkontrollierten liegen.
Wie funktioniert Heap Feng Shui?
Alexander Sotirov pragte Heap Feng Shui auf der Black Hat Europe 2007. Anders als das statistische Heap Spray alloziert, freigibt und reallokiert Feng Shui Objekte gezielt in JavaScript, um den Browser-Heap so zu formen, dass nach einer Memory Corruption das verwundbare Objekt zuverlaessig mit angreiferkontrollierten Bytes ueberlappt. Durch das Leeren von Freelists, das Ausnutzen von Size-Class-Bins und die Verwendung langlebiger Allokationen als Anker erreichen Exploits deterministische Layouts trotz ASLR und randomisierter Allokatoren. Die Idee wurde auf Kernel-Heaps (Linux SLUB, Windows Pool Feng Shui) und JavaScript-Engines (V8, SpiderMonkey) uebertragen. Moderne Gegenmassnahmen: gehaertete Allokatoren (PartitionAlloc, scudo), MTE auf ARM, GWP-ASan, isolierte Heaps fuer sensible Metadaten.
Wie schützt man sich gegen Heap Feng Shui?
Schutzmaßnahmen gegen Heap Feng Shui kombinieren typischerweise technische Kontrollen und operative Praktiken, wie in der Definition oben beschrieben.
Welche anderen Bezeichnungen gibt es für Heap Feng Shui?
Übliche alternative Bezeichnungen: Heap-Grooming.
● Verwandte Begriffe
- attacks№ 471
Heap Spraying
Exploit-Primitive, die den Heap mit vielen Kopien eines Payloads fuellt, sodass ein korrupter Pointer mit hoher Wahrscheinlichkeit auf angreiferkontrollierte Daten zeigt.
- vulnerabilities№ 1193
Use-After-Free
Speicher-Sicherheitsfehler, bei dem ein Programm Speicher weiterhin nutzt, nachdem dieser bereits freigegeben wurde – ermöglicht oft Kontrolle über Objektzustand und Kontrollfluss.
- appsec№ 064
ASLR
Address Space Layout Randomization platziert Code, Stacks, Heaps und Bibliotheken bei jedem Programmstart zufaellig im Speicher, sodass Angreifer Zieladressen nicht vorhersagen koennen.
- vulnerabilities№ 667
Speicherkorruption
Sammelbegriff für Schwachstellen, bei denen ein Programm außerhalb der vorgesehenen Speichergrenzen schreibt und so Typsicherheit, Kontrollfluss oder Datenintegrität untergräbt.