Hvad er en bufferoverløb?

Der opstår en bufferoverløb, når et program prøver at skrive til en buffer og træder uden for dets grænser, hvilket resulterer i programmets skrivningsoplysninger til hukommelse, der potentielt hører til et andet program. Dette krænker integriteten af ​​hukommelse inden for operativsystemet, hvilket resulterer i en alvorlig fejl og potentiel nedbrud for eksekveringsprogrammet. Den største fare for en bufferoverløb kommer fra to hovedelementer. For det første er de oplysninger, der er skrevet uden for bufferen, tilsyneladende "tabt", da computerens hukommelseskort - dens liste over hukommelsesplaceringer - ikke kan tage højde for den. For det andet kan en bufferoverløb ved et uheld overskrive information, der er gemt i hukommelsen til et andet program, hvilket effektivt forstyrrer udførelsen af ​​et andet program.

en "buffer" er en hukommelsesregion, der bruges som en midlertidig lagringssted, mens computeren overfører oplysninger fra et punkt til et andet. Den mest almindelige brug af en buffer er typisk i video- eller lydafspilning, hvor coMUTER viser yderligere x sekunders optagelser eller lyd i hukommelsen, hvilket sikrer, at afspilning ikke bliver afbrudt, hvis noget midlertidigt går galt på systemet. Der findes kun en buffer inden for et specifikt, forudbestemt sted inden for computerens hukommelse, ligesom et land kun eksisterer inden for de grænselinjer, der er trukket på et kort. Trin uden for disse virtuelle "linjer" resulterer i problemer ikke kun for programmet, der kører, men for andre programmer på systemet.

I det væsentlige er programmet trådt uden for dets tildelte jurisdiktion og har invaderet rummet for et andet arbejdsprogram. Når dette sker, falder de oplysninger, der er skrevet uden for bufferen, effektivt fra computerens kort; Med andre ord har systemet ikke længere nogen måde at hente det på. Da computeren kun "ved" at søge efter bufret information inden for det specifikke bufferrum, der er tildelt i hukommelsen, har det ingen måde at finde ud afud, hvor de oversvømmede oplysninger er gået.

Derudover har en bufferoverløb potentialet til at forstyrre andre programmer, der kører på computeren. Forestil dig, at hukommelsesopbevaringspladsen på hver side af bufferen allerede er tildelt andre kørende programmer. Når oplysningerne i bufferen bløder forbi sit designede område, vil de overskrive og ødelægge alle oplysninger, der allerede er gemt i disse hukommelsessektioner. Derfor er en bufferoverløb et problem, der kan undergrave effektiviteten af ​​et tilstødende program samt ødelægge sin egen operation.

ANDRE SPROG

Hjalp denne artikel dig? tak for tilbagemeldingen tak for tilbagemeldingen

Hvordan kan vi hjælpe? Hvordan kan vi hjælpe?