Wat is het spuiten van de hoop?
Hoopspraying is een hacktechniek die wordt gebruikt om kwetsbaarheden in computersoftware te benutten. Het werkt om controle over een programma te krijgen door te profiteren van een deel van zijn geheugen. Zodra een deel van het geheugen wordt bestuurd door de hackcode, kan de hacker controle over de uitvoering van de code nemen door een bufferoverloop in het heap -gebied van het geheugen te implementeren. De meest voorkomende applicatie voor het spuiten van heaps is het hacken van webbrowsers zoals Internet Explorer®.
Een "heap" is een dynamisch geheugenblok dat de computer toewijst aan een bepaald programma, zo genoemd omdat de computer een virtuele stapel geheugen aan het programma wijdt. Dit kan worden beschouwd als opslagruimte in een kast of bureau. Deze hoop geheugen behoort tot het programma totdat de software of de verzamelcode van het besturingssysteem het vrijgeeft. De verzamelcode is gewoon een failsafe -apparaat dat geheugen terugwin als het programma crasht of de software zelf het geheugen niet vrijgeeft nadat het ons heeft beëindigde.
In heap spraying, a hacker attempts to "spray" the memory heap with a specific portion of code. Het doel is om de code op een specifieke positie in de geheugenhoop van het programma te plaatsen, zoals een koevoet in de rand van een deurframe wegen om de hefboomwerking te bieden om de deur open te dwingen. Nadat de informatie in de geheugenhoop is ingeklemd door middel van warmtespuiten, kan de hacker vervolgens de heap of de geheugenbuffer overlopen, waardoor fouten binnen het systeem worden gegenereerd. Once errors occur, the hacker can take advantage of them to execute his own code on the system.
Heap spraying works due to the dynamic allocation of memory in the system. Het computerprogramma "bezit" in wezen het hele deel van het geheugen voorlopig, dus de hacker kent de relatieve locatie al in het geheugen dat de computer aan het programma heeft toegewezen. Therefore, the hacker needs little specificity to wedge zijn code in de scheuren; Hij kan de code blindelings spuiten, wetende dat het geheugenblok er altijd zal zijn, zolang het programma blijft draaien. Dit kan worden vergeleken met het proberen om een slot te kiezen terwijl je geblinddoekt; De taak wordt bijna onmogelijk als het slot rondloopt, maar zolang het op één vaste locatie blijft - net als de hoop geheugen in het systeem - wordt de taak mogelijk.