Søgning efter bufferoverløb er en vigtig del af at sikre , at dit program er sikkert fra angreb og utilsigtede nedbrud. En buffer overflow opstår, når data er indsat i en snor eller matrix uden kontrol af grænser , og input længde er større end buffer det forsøger at kopiere ind . Finde steder, hvor bufferoverløb kan opstå gøres ved at lede efter usikre funktioner såsom "får ", analyserer kontrol af grænser på funktioner såsom " strncpy " og grundigt teste dit program med forskellige typer af input. Instruktioner
1
Search dit program kode for farlige funktioner såsom "får ", " scanf ", " strcpy ", " strcat ", " sprintf " og " strlen ". Disse funktioner mangler enhver indbyggede kontrol af grænser og er kun passende, når 100 procent af programmets brugere er betroede og lejlighedsvise nedbrud kan tolereres . Giv begrænsningskontrol dig selv ved at kontrollere, at input længde ikke er større end den tilgængelige buffer længde.
2
Undersøg eventuelle opfordringer til kontrol af grænser funktioner såsom " strncpy ", " strncat " og " snprintf ". Sikre , at enden af inputarrayet modtager et nul byte . Ukorrekte begrænsningskontrol kan føre til manglende nul-bytes eller den ene placeret efter afslutningen af matrixen. Når man kombinerer strygere, sørge for, at grænserne kontrollen anvender totale strenglængde minus strengen pre- eksisterende indhold , i modsætning til at bruge hele strengen længde som grænserne kontrollere.
3
Test dit program ved at indtaste usædvanligt store indgange og se, om det går ned , bliver beskadiget eller viser usædvanlig aktivitet . Bemærk adresse på eventuelle nedbrud for at se, om det svarer til , hvor dit program behandler input-data. Programmer såsom Rough revision værktøj for Sikkerhed , også kendt som " rotter, " kan scanne din kode og flag steder, der er muligvis sårbare over for bufferoverløb .