Skip to main content

Vad är ett buffertöverskridande?

Ett buffertöverskridande inträffar när ett program försöker skriva till en buffert och går utanför dess gränser, vilket resulterar i att program skriver information till minnet som potentiellt tillhör ett annat program.Detta bryter mot minnesintegriteten i operativsystemet, vilket resulterar i ett allvarligt fel och potentiell krasch för genomförandeprogrammet.Den största faran för ett buffertöverskridande kommer från två huvudelement.Först är informationen skriven utanför bufferten till synes förlorad, eftersom datorminneskartan mdash;dess lista över minnesplatser mdash;kan inte redogöra för det.För det andra kan en buffertöverskridning av misstag skriva över information som lagras i minnet för ett annat program, vilket effektivt stör exekveringen av ett annat program också.

En buffert är en region i minnet som används som en tillfällig lagringsplats medan datorn överför information från ettpeka på en annan.Den vanligaste användningen av en buffert är vanligtvis i video- eller ljuduppspelning, där datorn anger ytterligare x sekunder av bilder eller ljud i minnet, vilket säkerställer att uppspelningen inte kommer att avbrytas om något tillfälligt blir fel på systemet.En buffert finns endast inom en specifik, förutbestämd plats i datorminnet, ungefär som ett land finns bara inom gränslinjerna som dras på en karta.Att gå utanför dessa virtuella linjer resulterar i problem, inte bara för programmet som körs, utan för andra program på systemet.

I huvudsak har programmet gått utanför sin tilldelade jurisdiktion och har invaderat utrymmet för ett annat arbetsprogram.När detta händer faller informationen som skrivs utanför bufferten effektivt från datorkartan;Med andra ord har systemet inte längre något sätt att hämta det.Eftersom datorn bara vet att söka efter buffrad information inom det specifika buffertutrymmet som tilldelats i minnet, har det inget sätt att ta reda på var den överfulla informationen har gått.

Utöver detta har en buffertöverskridning potentialen att störa andra program som körs på datorn.Föreställ dig att minneslagringsutrymmet på vardera sidan av bufferten redan har tilldelats andra löpande program.När informationen i bufferten blöder förbi sitt designade område kommer den att skriva över och förstöra all information som redan lagras i dessa delar av minnet.Därför är en buffertöverflöde ett problem som kan undergräva effektiviteten av ett angränsande program samt korrupta sin egen operation.