En buffer er minnebruken ved et program som midlertidig lagringsplass for å håndtere et overskudd av data ; ? Buffere kommer i forskjellige størrelser er i stand til å lagre sett mengder data . En buffer overflow angrep oppstår når et program bevisst forsøker å ta opp mer lagringsplass enn buffer kan håndtere , forårsaker noen ekstra data til "overflow ". Dette kan føre til at data korrupsjon, som igjen gjør at en angriper å kapre kontroll over programmet . Buffer overflow kan oppstå som et resultat av en programmeringsfeil , men bufferoverløpangrep blir i økende grad brukt som en måte å undergrave systemets sikkerhet og angrep dataintegritet . Effekter av Buffer Overflow
Når bufferen er fylt opp med data fra et program , tenderer det overskytende data til å renne over . Denne ekstra data kan ikke åpenbart bare forsvinne , det vil som regel fortsette å fylle naboland buffere , noe som kan føre til at data i disse buffere for å bli ødelagt
Virkninger av en buffer overflow angrep
< . br >
Når en buffer overflow angrep finner sted, skal ikke bare kan data i tilstøtende buffere ødelagt, men informasjonen som styrer drifts- programmets køyrestikatalogar kan overskrives . Dette gjør det mulig for en angriper å få kontroll over programmet , slik at han kan utføre sin egen kode i stedet for å kode opprinnelig diktert av programmet.
Mest utsatt Systems
< p > Søknader som er kodet i C /C + + språk , noe som gir forrang til kodelengde og programmering effektivitet snarere enn til sikkerhet , er spesielt sårbare for buffer overflow angrep . Mens C + + er et fleksibelt og kraftig koding verktøy , dens mottakelighet for angrep betyr at uerfarne programmerere som kanskje ikke har en full forståelse av språket bør være forsiktig i situasjoner med sensitive data .
Forebygge bufferoverløpangrep
mest sikker måte å hindre en buffer overflow angrep er å bruke sikker koding . Det finnes en rekke gratis og kommersiell programvare løsninger som er rettet mot å forebygge disse angrepene , er slik programvare som vanligvis benytter to ulike tilnærminger : bibliotek - baserte forsvar som ansetter reimplemented usikre funksjoner for å sikre at disse funksjonene ikke kan overstige buffer størrelse , og bibliotek -baserte forsvar som er designet for å oppdage eventuelle forsøk på å kjøre fremmed kode på buffer .