Qu'est-ce que la pulvérisation de tas?
La pulvérisation de tas est une technique de piratage utilisée pour exploiter les vulnérabilités dans les logiciels informatiques. Il agit pour prendre le contrôle d'un programme en profitant d'une partie de sa mémoire. Une fois qu'une partie de la mémoire est contrôlée par le code de piratage, le pirate peut prendre le contrôle de l'exécution du code en implémentant un débordement de tampon dans la zone de tas de la mémoire. L'application la plus courante pour la pulvérisation de tas est le piratage de navigateurs Web tels que Internet Explorer®.
Un "tas" est un bloc de mémoire dynamique que l'ordinateur attribue à un programme particulier, ainsi nommé parce que l'ordinateur consacre une pile virtuelle de mémoire au programme. Cela peut être considéré comme un espace de stockage dans un placard ou un bureau. Ce tas de mémoire appartient au programme jusqu'à ce que le logiciel ou le code de collecte du système d'exploitation le libère. Le code de collecte est simplement un périphérique de sécurité qui reprend la mémoire si le programme se bloque ou si le logiciel lui-même ne publie pas la mémoire après qu'il nous terminee.
Dans la pulvérisation de tas, un pirate tente de "pulvériser" le tas de mémoire avec une partie spécifique du code. L'objectif est de placer le code à une position spécifique dans le tas de mémoire du programme, comme le cache-pied dans le bord d'un cadre de porte pour fournir un effet de levier pour forcer la porte ouverte. Une fois les informations coincées dans le tas de mémoire par pulvérisation de chaleur, le pirate peut ensuite déborder soit le tas ou le tampon de mémoire entier, générant des erreurs dans le système. Une fois que des erreurs se produisent, le pirate peut en profiter pour exécuter son propre code sur le système.
La pulvérisation de tas fonctionne en raison de l'allocation dynamique de la mémoire dans le système. Le programme informatique "possède essentiellement" tout le morceau de mémoire pour le moment, de sorte que le pirate connaît déjà l'emplacement relatif dans la mémoire que l'ordinateur a attribué au programme. Par conséquent, le pirate a besoin de peu de spécificité pour se mariere 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 choisir une serrure tout en étant les yeux bandés; La tâche devient presque impossible si le verrou se déplace, mais tant qu'il reste dans un endroit fixe - tout comme le tas de mémoire dans le système - le travail devient possible.