Heap Feng Shui
O que é Heap Feng Shui?
Heap Feng ShuiTecnica deterministica de moldagem da heap apresentada por Alexander Sotirov em 2007, que organiza alocacoes para colocar objetos vulneraveis junto a outros controlados.
Alexander Sotirov cunhou o Heap Feng Shui na Black Hat Europe 2007. Ao contrario do spray, que e estatistico, o feng shui aloca, liberta e realoca objetos cuidadosamente em JavaScript para moldar a heap do browser, de modo que apos uma corrupcao de memoria o objeto vulneravel se sobreponha de forma fiavel a bytes controlados. Esvaziando freelists, explorando bins por tamanho e usando alocacoes de longa duracao como ancoras, os exploits atingem layouts deterministicos mesmo com ASLR e alocadores aleatorios. A ideia generalizou-se a heaps de kernel (SLUB no Linux, pool feng shui no Windows) e a motores JavaScript (V8, SpiderMonkey). Mitigacoes modernas: alocadores endurecidos (PartitionAlloc, scudo), MTE em ARM, GWP-ASan e heaps isoladas para metadados sensiveis.
● Exemplos
- 01
Provocar alocacoes precisas em JavaScript para colocar um objeto JIT vulneravel junto a um ArrayBuffer do atacante.
- 02
Feng shui do SLUB no Linux para alinhar um UAF com estruturas cred e obter root.
● Perguntas frequentes
O que é Heap Feng Shui?
Tecnica deterministica de moldagem da heap apresentada por Alexander Sotirov em 2007, que organiza alocacoes para colocar objetos vulneraveis junto a outros controlados. Pertence à categoria Ataques e ameaças da cibersegurança.
O que significa Heap Feng Shui?
Tecnica deterministica de moldagem da heap apresentada por Alexander Sotirov em 2007, que organiza alocacoes para colocar objetos vulneraveis junto a outros controlados.
Como funciona Heap Feng Shui?
Alexander Sotirov cunhou o Heap Feng Shui na Black Hat Europe 2007. Ao contrario do spray, que e estatistico, o feng shui aloca, liberta e realoca objetos cuidadosamente em JavaScript para moldar a heap do browser, de modo que apos uma corrupcao de memoria o objeto vulneravel se sobreponha de forma fiavel a bytes controlados. Esvaziando freelists, explorando bins por tamanho e usando alocacoes de longa duracao como ancoras, os exploits atingem layouts deterministicos mesmo com ASLR e alocadores aleatorios. A ideia generalizou-se a heaps de kernel (SLUB no Linux, pool feng shui no Windows) e a motores JavaScript (V8, SpiderMonkey). Mitigacoes modernas: alocadores endurecidos (PartitionAlloc, scudo), MTE em ARM, GWP-ASan e heaps isoladas para metadados sensiveis.
Como se defender contra Heap Feng Shui?
As defesas contra Heap Feng Shui costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.
Quais são outros nomes para Heap Feng Shui?
Nomes alternativos comuns: Heap grooming.
● Termos relacionados
- attacks№ 471
Heap Spraying
Primitiva de exploracao que preenche a heap com muitas copias do payload para que um ponteiro corrompido caia, com alta probabilidade, em dados do atacante.
- vulnerabilities№ 1193
Use-After-Free
Bug de segurança de memória em que um programa continua a usar memória já libertada, frequentemente permitindo controlar o estado de objetos e desviar a execução.
- appsec№ 064
ASLR
A aleatorizacao do espaco de enderecos coloca codigo, pilhas, heaps e bibliotecas em posicoes aleatorias da memoria para impedir que um atacante preveja enderecos.
- vulnerabilities№ 667
Corrupção de memória
Termo abrangente para vulnerabilidades em que um programa escreve fora dos limites previstos, comprometendo segurança de tipos, fluxo de controlo ou integridade de dados.