Cerca il codice del programma per le funzioni pericolose come " si ", " scanf ", " strcpy ", " strcat ", " sprintf " e " strlen ". Queste funzioni non hanno alcun controllo limiti incorporato e sono adatti solo quando il 100 per cento degli utenti del programma sono fidato e crash occasionali può essere tollerato. Fornire il controllo dei limiti stessi controllando che la lunghezza di input non è maggiore della lunghezza del buffer disponibile .
2
Indagare eventuali chiamate al limite funzioni quali " strncpy ", " strncat " e " snprintf di controllo . " Assicurarsi che la fine della matrice di input riceve un byte null . Limiti sbagliato Controllo possono portare a mancanti byte nulli o uno posta dopo la fine della matrice . Quando si combinano le stringhe , verificare che l'assegno limiti utilizza la stringa di lunghezza totale meno contenuto pre - esistente della stringa , anziché utilizzare l'intera lunghezza della stringa di verificare i limiti .
3
test il programma inserendo eccezionalmente grandi ingressi e vedere se si blocca , diventa corrotto o visualizza l'attività insolite . Annotare l'indirizzo di eventuali crash per vedere se corrisponde con cui il programma elabora i dati di input. Programmi come ruvida Auditing Tool per la sicurezza , anche conosciuto come "topi ", possono eseguire la scansione del codice e le posizioni di bandiera , che sono forse vulnerabili a buffer overflow .
Programmazione © www.354353.com