En buffert är minnet som tilldelats av ett program som tillfällig förvaring för att hantera ett överskott av data ; ? Buffertar finns i olika storlekar kan lagra inställda mängder data . En buffer overflow attack inträffar när ett program medvetet försöker att ta upp mer utrymme än bufferten kan hantera , orsaka några extra data till " overflow ". Detta kan leda till att data korruption , vilket sin tur gör det möjligt för en angripare att kapa kontroll av programmet . Buffer overflow kan uppstå som en följd av ett programmeringsfel , men Buffertspillattacker alltmer används som ett sätt att underminera säkerheten i systemet och uppgifterna attack integritet . Effekter av buffertspill
När bufferten är fylld med data genom ett program , tenderar överskottet data till svämma över. Denna extra information kan inte uppenbarligen bara försvinna , det kommer vanligtvis fortsätta att fylla intilliggande buffertar , vilket kan leda till att data i dessa buffertar vara skadad
Effekter av en buffer overflow attack
< . br >
När en buffer overflow attack inträffar , kan inte bara data i intilliggande buffertar skadad , men den information som styr det operativa programmets genomförande sökväg kan skrivas över . Detta gör det möjligt för en angripare att ta kontroll över programmet , som gör det möjligt för honom att köra sin egen kod i stället för koden ursprungligen dikteras av programmet .
Mest mottagliga Systems
Program som är kodade i C /C + + språket , som ger företräde till kodlängd och programmering effektivitet snarare än säkerhet , är särskilt utsatta för Buffertspillattacker . Medan C + + är ett flexibelt och kraftfullt kodning verktyg , dess känslighet för attacker innebär att oerfarna programmerare som kanske inte har ett fullt grepp om språket bör vara försiktig i situationer med känsliga uppgifter . Addera Förhindra attacker buffertspill
mest bombsäkert sätt att förhindra en attack buffer overflow är att använda säkra kodning . Det finns ett antal fria och kommersiella mjukvarulösningar som är inriktade på att förhindra dessa attacker , sådan programvara vanligtvis använder två olika metoder : library - baserade försvar som anställer skrivs om osäkra funktioner för att säkerställa att dessa funktioner inte kan överskrida bufferten storlek , och bibliotek - baserad försvar som är utformade för att upptäcka eventuella försök att köra främmande kod på bufferten .