? Bufferoverløp er en type feil i informatikk som har betydelige sikkerhetsproblemer knyttet til den. En buffer er et sted å lagre datasett , og en buffer overkjørt oppstår når et program forsøker å lagre mer data i en buffer enn kapasiteten.
bufferoverløpet er en type feil i informatikk
Eksempel
Koden nedenfor viser en enkel buffer overkjørt : en
//Opprett en rekke ti integersint [ 10 ] arrayOfTenIntegers ;
//Forsøk på å skrive data til den 100. adressen til arrayarrayOfTen [ 100 ] = 1;
bufferoverløpet oppstår , og alle data blir lagret i beliggenhet ved siden av arrayOfTenIntegers i minnet blir overskrevet .
sikkerhetsimplikasjonene
Denne feilen kan utnyttes av et virus å lure en datamaskin til å kjøre kode det ellers ville aldri kjørt , ved å injisere koden inn i et annet program delen av minnet .
Execution området Protection
i praksis er de fleste moderne operativsystemer forsøke å skille de deler av hukommelsen som brukes for kjøringen av programmet og de som brukes til lagring av data , en funksjon kalt Execution området Protection.
Sanity kontroll
bufferoverløpene illustrerer behovet for god mental helse sjekker på innkommende data når skrive programvare .
Farene ved C
C /C + + språk gir lite innebygd beskyttelse mot bufferoverløpene , sammenlignet med språk, for eksempel Java.