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 programmets skriveinformasjon til minne 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", ettersom datamaskinens minnekart - listen over minneplasser - ikke kan redegjøre for den. 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 et punkt til et annet. Den vanligste bruken av en buffer er vanligvis i video- eller lydavspilling, der COMputer samsvarer med ytterligere x sekunders opptak eller lyd i minnet, og sikrer at avspillingen ikke blir avbrutt hvis noe midlertidig går galt på systemet. En buffer eksisterer bare innenfor et spesifikt, forhåndsbestemt sted innenfor datamaskinens minne, omtrent som et land bare eksisterer innenfor grenselinjene tegnet på et kart. Å gå utenfor disse virtuelle "linjene" resulterer i problemer ikke bare for programmet som kjører, men for andre programmer på systemet.

I hovedsak har programmet tråkket utenfor den tildelte jurisdiksjonen og har invadert plassen til et annet arbeidsprogram. Når dette skjer, faller informasjonen som er skrevet utenfor bufferen effektivt av datamaskinens kart; Med andre ord, systemet har ikke lenger noen måte å hente det på. Siden datamaskinen bare "vet" for å søke etter bufret informasjon innenfor det spesifikke bufferrommet som er tildelt i minnet, har den ingen måte å finne utut 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.

ANDRE SPRÅK