Söka efter buffertspill är en viktig del i att se till att ditt program är säker från attacker och oavsiktliga krascher . Ett buffertspill uppstår när data infogas i en sträng eller array utan gränskontroller , och ingången längd är större än bufferten det försöker kopiera in . Att hitta ställen där buffertspill kan inträffa görs genom att leta efter farliga funktioner såsom " får ", analyserar gränskontroll på funktioner som " strncpy " och grundligt testa ditt program med olika typer av indata . Instruktioner
1
Sök din programmets kod för farliga funktioner som " får ", " scanf , " " strcpy , " " strcat , " " sprintf " och " strlen . " Dessa funktioner saknar inbyggd gränsvärdeskontroller och är endast lämplig då 100 procent av programmets användare är pålitliga och enstaka krascher kan tolereras . Ge gränskontroll själv genom att kontrollera att den ingående längden inte är större än den tillgängliga bufferten längd .
2
Undersök några samtal till gränskontroll funktioner såsom " strncpy , " " strncat " och " snprintf . " Se till att i slutet av inputuppställningen mottar en null-byte . Felaktiga gränsvärdeskontroller kan leda till saknade null- byte eller ett placeras efter slutet av arrayen . Vid kombination strängar , se till att gränserna kontrollen använder den totala stränglängden minus strängen s befintliga innehåll , jämfört med att hela strängen längd som gränserna kolla . Addera 3
Test ditt program genom att exceptionellt stora ingångar och se om det kraschar , blir skadad eller visar ovanlig aktivitet . Anmärkning Adressen till eventuella krascher för att se om det överensstämmer med där ditt program bearbetar indata . Program som Rough revision verktyg för säkerhet , även känd som " råttor " kan skanna din kod och platser flagga som är möjligen sårbara för buffertspill .