Heap Feng Shui
¿Qué es Heap Feng Shui?
Heap Feng ShuiTecnica determinista de moldeo de la heap presentada por Alexander Sotirov en 2007 que ordena las asignaciones para colocar objetos vulnerables junto a otros controlados.
Alexander Sotirov acuno Heap Feng Shui en Black Hat Europa 2007. A diferencia del spray, que es estadistico, feng shui asigna, libera y reasigna objetos en JavaScript para dar forma a la heap del navegador de modo que, tras desencadenar la corrupcion, el objeto vulnerable se solape de forma fiable con bytes controlados. Vaciando freelists, explotando bins por tamano y usando asignaciones de larga vida como anclas, los exploits consiguen disposiciones deterministas incluso bajo ASLR y asignadores aleatorios. La idea se generalizo al kernel (SLUB en Linux, pool feng shui en Windows) y a los motores JavaScript (V8, SpiderMonkey). Mitigaciones modernas: asignadores reforzados (PartitionAlloc, scudo), MTE en ARM, GWP-ASan y heaps aisladas para metadatos sensibles.
● Ejemplos
- 01
Provocar asignaciones precisas en JavaScript para situar un objeto JIT vulnerable junto a un ArrayBuffer atacante.
- 02
Feng shui de SLUB en Linux para alinear un UAF con estructuras cred y obtener root.
● Preguntas frecuentes
¿Qué es Heap Feng Shui?
Tecnica determinista de moldeo de la heap presentada por Alexander Sotirov en 2007 que ordena las asignaciones para colocar objetos vulnerables junto a otros controlados. Pertenece a la categoría de Ataques y amenazas en ciberseguridad.
¿Qué significa Heap Feng Shui?
Tecnica determinista de moldeo de la heap presentada por Alexander Sotirov en 2007 que ordena las asignaciones para colocar objetos vulnerables junto a otros controlados.
¿Cómo funciona Heap Feng Shui?
Alexander Sotirov acuno Heap Feng Shui en Black Hat Europa 2007. A diferencia del spray, que es estadistico, feng shui asigna, libera y reasigna objetos en JavaScript para dar forma a la heap del navegador de modo que, tras desencadenar la corrupcion, el objeto vulnerable se solape de forma fiable con bytes controlados. Vaciando freelists, explotando bins por tamano y usando asignaciones de larga vida como anclas, los exploits consiguen disposiciones deterministas incluso bajo ASLR y asignadores aleatorios. La idea se generalizo al kernel (SLUB en Linux, pool feng shui en Windows) y a los motores JavaScript (V8, SpiderMonkey). Mitigaciones modernas: asignadores reforzados (PartitionAlloc, scudo), MTE en ARM, GWP-ASan y heaps aisladas para metadatos sensibles.
¿Cómo defenderse de Heap Feng Shui?
Las defensas contra Heap Feng Shui combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.
¿Cuáles son otros nombres para Heap Feng Shui?
Nombres alternativos comunes: Modelado de la heap.
● Términos relacionados
- attacks№ 471
Heap Spraying
Primitiva de explotacion que rellena la heap con muchas copias del payload para que un puntero corrupto caiga con alta probabilidad sobre datos del atacante.
- vulnerabilities№ 1193
Uso después de liberar
Fallo de memoria en el que un programa sigue usando memoria ya liberada, lo que suele permitir controlar el estado de objetos y secuestrar la ejecución.
- appsec№ 064
ASLR
La aleatorización del espacio de direcciones distribuye al azar la ubicación en memoria de código, pilas, montones y librerías para impedir que un atacante prediga direcciones.
- vulnerabilities№ 667
Corrupción de memoria
Término paraguas para vulnerabilidades en las que un programa escribe fuera de los límites previstos, comprometiendo seguridad de tipos, flujo de control o integridad de datos.