Heap Spraying
Qu'est-ce que Heap Spraying ?
Heap SprayingPrimitive d'exploitation qui remplit le tas de nombreuses copies du payload pour qu'un pointeur corrompu atterrisse tres probablement sur des donnees attaquant.
Le heap spray remplit de grandes regions de memoire avec des copies previsibles d'un NOP-sled et de shellcode (ou, dans les variantes modernes, de chaines ROP ou de fausses vtables). Lorsqu'un attaquant declenche une corruption memoire, par exemple un use-after-free ou une type confusion dans un navigateur, il dirige le pointeur corrompu vers une adresse probable (historiquement 0x0c0c0c0c) ou le spray garantit la presence des octets souhaites. La technique fut popularisee par l'exploit Internet Explorer de Skylined en 2004 et reste courante dans les exploits de navigateurs, de documents et de parseurs de polices. Parades : ASLR a haute entropie, tas partitionnes (PartitionAlloc, Heap Isolation dans Edge), CFI et mitigations JIT.
● Exemples
- 01
Allouer des centaines de Mo de chaines JavaScript contenant un shellcode pour que 0x0c0c0c0c devienne du code executable apres un use-after-free.
- 02
Exploits Adobe Flash utilisant des sprays Vector<uint> pour deposer des chaines ROP.
● Questions fréquentes
Qu'est-ce que Heap Spraying ?
Primitive d'exploitation qui remplit le tas de nombreuses copies du payload pour qu'un pointeur corrompu atterrisse tres probablement sur des donnees attaquant. Cette notion relève de la catégorie Attaques et menaces en cybersécurité.
Que signifie Heap Spraying ?
Primitive d'exploitation qui remplit le tas de nombreuses copies du payload pour qu'un pointeur corrompu atterrisse tres probablement sur des donnees attaquant.
Comment fonctionne Heap Spraying ?
Le heap spray remplit de grandes regions de memoire avec des copies previsibles d'un NOP-sled et de shellcode (ou, dans les variantes modernes, de chaines ROP ou de fausses vtables). Lorsqu'un attaquant declenche une corruption memoire, par exemple un use-after-free ou une type confusion dans un navigateur, il dirige le pointeur corrompu vers une adresse probable (historiquement 0x0c0c0c0c) ou le spray garantit la presence des octets souhaites. La technique fut popularisee par l'exploit Internet Explorer de Skylined en 2004 et reste courante dans les exploits de navigateurs, de documents et de parseurs de polices. Parades : ASLR a haute entropie, tas partitionnes (PartitionAlloc, Heap Isolation dans Edge), CFI et mitigations JIT.
Comment se défendre contre Heap Spraying ?
Les défenses contre Heap Spraying combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.
Quels sont les autres noms de Heap Spraying ?
Noms alternatifs courants : Heap spray.
● Termes liés
- attacks№ 469
Heap Feng Shui
Technique deterministe de mise en forme du tas introduite par Alexander Sotirov en 2007, qui agence les allocations pour placer un objet vulnerable a cote d'un objet controle.
- vulnerabilities№ 1193
Use-After-Free
Bug de sûreté mémoire où un programme continue d'utiliser une zone mémoire après sa libération, permettant souvent à un attaquant de manipuler l'état des objets et de détourner l'exécution.
- appsec№ 064
ASLR
La randomisation de l'espace d'adressage place aleatoirement le code, les piles, les tas et les bibliotheques en memoire afin qu'un attaquant ne puisse pas predire les adresses cibles.
- vulnerabilities№ 131
Débordement de tampon
Faille de sûreté mémoire où un programme écrit au-delà de la fin d'un tampon alloué, corrompant la mémoire adjacente et permettant souvent l'exécution de code.
● Voir aussi
- № 564JIT Spray