Skip to main content

Hvad er en bufferoverløb?

En bufferoverløb opstår, når et program forsøger at skrive til en buffer og træder uden for dets grænser, hvilket resulterer i, at programmerne skriver information 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 computerehukommelseskortet mdash;dens liste over hukommelsessteder mdash;kan ikke redegøre for det.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 etpeger på en anden.Den mest almindelige brug af en buffer er typisk i video- eller lydafspilning, hvor computeren cues op yderligere x sekunder optagelser eller lyd i hukommelsen, hvilket sikrer, at afspilning ikke vil blive afbrudt, hvis noget midlertidigt går galt på systemet.Der findes kun en buffer inden for et specifikt, forudbestemt sted inden for computerehukommelsen, ligesom et land kun findes 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 pladsen til et andet arbejdsprogram.Når dette sker, falder de oplysninger, der er skrevet uden for bufferen, effektivt fra computere kortet;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 den ingen måde at finde ud af, 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.