Skip to main content

Hva er en bufferoverløp?

En bufferoverløp oppstår når et program prøver å skrive til en buffer og trinn utenfor grensene, noe som resulterer i at programmene skriver informasjon til minnet som potensielt tilhører et annet program.Dette krenker integriteten til minnet i operativsystemet, noe som resulterer i en alvorlig feil og potensiell krasj for gjennomføringsprogrammet.Den største faren for et bufferoverløp kommer fra to hovedelementer.For det første er informasjonen skrevet utenfor bufferen tilsynelatende tapt, som datamaskinens minnekart mdash;listen over minneplasser og mdash;kan ikke redegjøre for det.For det andre kan en bufferoverløp ved et uhell overskrive informasjon som er lagret i minnet for et annet program, og effektivt forstyrre utførelsen av et annet program også.

En buffer er et område med minne som brukes som et midlertidig lagringssted mens datamaskinen overfører informasjon fra enpek på en annen.Den vanligste bruken av en buffer er typisk i video- eller lydavspilling, der datamaskinen samsvarer med ytterligere x sekunders opptak eller lyd i minnet, og sikrer at avspilling ikke blir avbrutt hvis noe midlertidig går galt på systemet.En buffer eksisterer bare innenfor et spesifikt, forhåndsbestemt sted innenfor datamaskinminnet, omtrent som et land bare eksisterer innenfor grenselinjene tegnet på et kart.Når dette skjer, faller informasjonen som er skrevet utenfor bufferen effektivt av datamaskinkartet;Med andre ord, systemet har ikke lenger noen måte å hente det på.Siden datamaskinen bare vet å søke etter bufret informasjon innenfor det spesifikke bufferområdet som er tildelt i minnet, har den ingen måte å finne ut hvor den overfylte informasjonen har gått.

I tillegg til dette har en bufferoverløp potensial til å forstyrre andre programmer som kjører på datamaskinen.Se for deg at minnelagringsplassen på hver side av bufferen allerede er tildelt andre løpsprogrammer.Når informasjonen i bufferen blør forbi det designede området, vil den overskrive og ødelegge all informasjon som allerede er lagret i de delene av minnet.Derfor er en bufferoverløp et problem som kan undergrave effekten av et tilstøtende program samt å ødelegge sin egen drift.