? En buffertöverskridning är en typ av fel i datalogi som har betydande säkerhetsproblem i samband med det . En buffert är en plats att lagra datamängder , och en buffertöverskridning inträffar när ett program försöker lagra mer data i en buffert än dess kapacitet .
Buffer överskridande är en typ av fel i datavetenskap
Exempel
Följande kod visar en enkel buffertöverskridning :
//Skapa en array av tio integersint [ 10 ] arrayOfTenIntegers ,
//Försök att skriva data till den 100 -adressen för arrayarrayOfTen [ 100 ] = 1 ;
En buffertöverskridning inträffar och eventuella data lagras i läge intill arrayOfTenIntegers i minnet skrivs över .
Säkerhet Konsekvenser
felet kan utnyttjas av ett virus att lura en dator till att köra koden den annars skulle aldrig köra , genom att injicera kod i annat program del av minnet .
Execution Area Protection
i praktiken flesta moderna operativsystem försöker att segregera områdena minne som används för programmets genomförande och de som används för lagring av data , en funktion som kallas Execution Area Protection .
sanity kontroll
överskridanden
Buffer illustrerar behovet av god sanity kontroll på inkommande data när skriva programvara .
Farorna med C
C /C + + språket ger lite inbyggt skydd mot buffertöverskridningar , jämfört med språk , såsom Java .
Addera ditt