Een bufferoverloop is een type fout in de informatica die significante veiligheidsproblemen in verband met het heeft . Een buffer is een plek om sets van gegevens op te slaan , en een bufferoverloop optreedt wanneer een programma probeert om meer gegevens op te slaan in een buffer dan zijn capaciteit . Buffer overrun is een type fout in de informatica Voorbeeld De volgende code illustreert een eenvoudige buffer overrun : //Maak een array van tien integersint [ 10 ] arrayOfTenIntegers ; //Poging om gegevens te schrijven naar de 100 -adres van de arrayarrayOfTen [ 100 ] = 1 ; Een bufferoverloop optreedt en eventuele data in wordt opgeslagen in de locatie grenzend aan arrayOfTenIntegers in het geheugen wordt overschreven . Veiligheidsimplicaties Deze fout kan worden uitgebuit door een virus op een computer te verleiden tot het uitvoeren van code het anders zou nooit lopen, door het injecteren van de code in een ander programma gedeelte van het geheugen . Execution Protection Area In de praktijk zijn de meeste moderne besturingssystemen proberen de gebieden van het geheugen gebruikt scheiden voor de uitvoering van het programma en die worden gebruikt voor de opslag van gegevens , een functie genaamd Execution Protection Area . Sanity controleren Buffer overschrijdingen illustreren de noodzaak van een goede geestelijke gezondheid te controleren op binnenkomende gegevens wanneer het schrijven van software . Gevaren van C De C /C + + taal geeft weinig ingebouwde bescherming tegen buffer overschrijdingen , vergeleken met talen , zoals Java .
|