Introduksjon til heltallsoverflyt og underflyt
sårbarheter for heltallsoverflyt og underflyt regnes som det åttende farligste sikkerhetsproblemet I Cwe-Topp 25-Listen i 2019. Disse typer sårbarheter er opprettet ved misbruk av variable typer og kan utnyttes for å omgå beskyttelse mot andre typer sårbarheter, som bufferoverløp.
Variable typer og størrelser
hvert programmeringsspråk har begrepet forskjellige typer variabler. Et tegn, som kan inneholde tekstdata, er svært forskjellig fra et heltall eller en flyte. Men utover disse generelle typene er det flere forskjeller mellom variabler, og disse forskjellene er det som gjør heltallsoverløp og understrømssårbarheter mulig.
de fleste programmeringsspråk har begrepet signerte og usignerte heltall. Et signert heltall (som navnet antyder) har et tegn, slik at det kan lagre både positive og negative verdier. En usignert variabel, derimot, kan bare lagre positive tall.
som vist på bildet ovenfor, er signerte og usignerte variabler av en gitt størrelse skrevet identisk i datamaskinens minne. Den eneste forskjellen er hvordan verdien tolkes. I en signert verdi betyr en ledende en et negativt tall, mens i en usignert verdi betyr en i det første stedet bare et stort tall.
det andre hovedforskjellen mellom forskjellige» heltall » variabeltyper er størrelsen på verdien de kan inneholde. Programmeringsspråk har begrepene kort, heltall, lang og utover, som hver definerer størrelsen på minneplassen som er tildelt for den variabelen og rekkevidden av verdier som den kan inneholde.
Heltallsoverflyt og underflyt
sårbarheter for heltallsoverflyt og underflyt koker ned til usikker konvertering mellom signerte og usignerte variabler og heltallsvariabeltyper av forskjellige størrelser. Det er generelt tillatt å konvertere mellom disse forskjellige typene og i mange tilfeller (Les mer…)