Inhoudsopgave:
Definitie - Wat betekent Bufferoverloop?
Er treedt een bufferoverloop op wanneer meer gegevens naar een buffer worden geschreven dan deze kan bevatten. De overtollige gegevens worden naar het aangrenzende geheugen geschreven, waardoor de inhoud van die locatie wordt overschreven en onvoorspelbare resultaten in een programma worden veroorzaakt. Bufferoverlopen treden op wanneer er een onjuiste validatie is (geen grenzen voordat de gegevens worden geschreven. Het wordt beschouwd als een bug of zwakte in de software
Techopedia verklaart Buffer Overflow
Aanvallers kunnen een bufferoverloopprobleem benutten door code te injecteren die specifiek is aangepast om bufferoverloop te veroorzaken met het initiële deel van een gegevensset, en vervolgens de rest van de gegevens naar het geheugenadres te schrijven dat grenst aan de overloopbuffer. De overloopgegevens kunnen uitvoerbare code bevatten waarmee de aanvallers grotere en meer geavanceerde programma's kunnen uitvoeren of zichzelf toegang tot het systeem kunnen verlenen.
Bufferoverlopen zijn een van de ergste bugs die door een aanvaller kunnen worden misbruikt, vooral omdat het erg moeilijk te vinden en op te lossen is, vooral als de software uit miljoenen regels code bestaat. Zelfs de oplossingen voor deze bugs zijn vrij ingewikkeld en gevoelig voor fouten. Daarom is het echt bijna onmogelijk om dit type bug volledig te verwijderen.
Hoewel alle programmeurs de potentiële dreiging van bufferoverloop in hun programma's kennen, zijn er nog steeds veel bufferoverloopgerelateerde bedreigingen in zowel nieuwe als oude software, ongeacht het aantal fixes dat al is uitgevoerd.
