En buffer er hukommelse tildelt af et program , da midlertidig oplagring at beskæftige sig med et overskud af data ? Buffere kommer i forskellige størrelser er i stand til at lagre sæt mængder data. En buffer overflow angreb opstår, når et program bevidst forsøger at tage op mere lagerplads end bufferen kan håndtere, at forårsage nogen ekstra data til "overløb ". Dette kan medføre, at data korruption, som igen gør det muligt for en hacker at kapre kontrol af programmet . Buffer overflow kan opstå som et resultat af en programmeringsfejl , men bufferoverflowsangreb stigende grad udnyttes som en måde at undergrave systemets sikkerhed og angreb dataintegritet. Effekter af Buffer Overflow
Når bufferen er fyldt op med data fra et program , det overskydende data tendens til overløb. Disse ekstra data kan naturligvis ikke bare forsvinde , og det vil normalt gå til at fylde nærliggende buffere , som kan forårsage de data i disse buffere at blive ødelagt
Virkninger af en buffer overflow angreb
< . br >
Når en buffer overflow angreb sker, skal ikke kun kan data i tilstødende buffere ødelagt, men de oplysninger, der styrer drifts programmets udførelse vej kan blive overskrevet. Dette gør det muligt for en hacker at få kontrol med programmet , så han kan udføre sin egen kode i stedet koden oprindeligt dikteret af programmet.
Most modtagelige systemer
< p > Ansøgninger, der er kodet i C /C + + sproget, som giver forrang til kodelængde og programmering effektivitet snarere end at sikkerhed, er særligt sårbare over Bufferoverløbsangreb . Mens C + + er en fleksibel og kraftfuld kodning værktøj , dens følsomhed over for angreb, betyder, at nybegyndere programmører, der måske ikke har en fuld forståelse af sproget bør være ekstra forsigtig i situationer med følsomme data.
Forebyggelse Bufferoverløbsangreb
p mest surefire måde at forhindre en buffer overflow angreb er at bruge sikker kodning. Der er en række gratis og kommercielle software- løsninger, der er rettet mod at forebygge disse angreb; sådan software almindeligvis anvender to forskellige tilgange : library -baserede forsvar, der beskæftiger genimplementeret usikre funktioner for at sikre , at disse funktioner ikke kan overstige bufferstørrelse , og bibliotek -baseret forsvar , som er designet til at afsløre forsøg at køre fremmede kode på bufferen .