Tas pulvérisation est une technique de piratage utilisée pour exploiter des vulnérabilités dans les logiciels . Elle agit pour prendre le contrôle d'un programme, en profitant d'une partie de sa mémoire. Une fois une partie de la mémoire est contrôlé par le code de piratage, le pirate peut prendre le contrôle de l'exécution du code en mettant en œuvre un débordement de tampon dans la zone de tas de la mémoire. L'application la plus courante pour tas pulvérisation est le piratage des navigateurs Web comme Internet Explorer .
Un "tas" est un bloc dynamique de la mémoire que l'ordinateur attribue à un programme particulier, ainsi nommé parce que l'ordinateur consacre une pile virtuelle de la mémoire du programme. Cela peut être considéré comme un espace de stockage dans un placard ou un bureau. Ce tas de mémoire fait partie du programme jusqu'à ce que le logiciel ou le code de collecte du système d'exploitation libère. Le code de la collection est tout simplement un dispositif à sécurité intégrée qui libère de la mémoire si le programme se bloque ou le logiciel lui-même ne parvient pas à libérer la mémoire après il se termine utilisation.
Dans tas de pulvérisation, un pirate tente de "pulvériser" le segment de mémoire avec une partie spécifique du code. Le but est de placer le code à une position spécifique dans la mémoire de tas du programme, comme un pied de biche calage dans le bord d'un cadre de porte à un effet de levier pour forcer la porte ouverte. Après l'information est coincé dans le segment de mémoire par pulvérisation thermique, le pirate peut alors déborder soit le tas ou la mémoire tampon entier, générant des erreurs dans le système. Une fois les erreurs se produisent, le pirate peut profiter d'eux pour exécuter son propre code sur le système.
Tas de pulvérisation fonctionne en raison de l'allocation dynamique de mémoire dans le système. Le programme d'ordinateur essentiellement «propriétaire» toute la partie de la mémoire pour le moment, si le pirate connaît déjà la position relative dans la mémoire que l'ordinateur a affecté au programme. Par conséquent, le pirate a besoin de peu de spécificité pour caler son code dans les fissures; il peut pulvériser le code aveuglément, sachant que le bloc de mémoire sera toujours là tant que le programme continue de fonctionner. Cela pourrait être comparé à essayer de crocheter une serrure, les yeux bandés; la tâche devient presque impossible si la serrure est en mouvement autour, mais tant qu'il reste dans un lieu fixe - comme le tas de mémoire dans le système - le travail devient possible.