Buffer overflow: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
template citazione; elimino parametri vuoti; formattazione isbn; fix formato data; fix parametro lingua |
m spazio indivisibile |
||
Riga 93:
La miglior difesa da attacchi basati sul buffer overflow sta nella scelta di un linguaggio di programmazione che fornisca controlli automatici sulla dimensione dei buffer (o a tempo di compilazione o a ''runtime'') come Java, Python o Perl. Se questa opzione può essere presa in considerazione per lo sviluppo di nuovi programmi, resta però difficilmente applicabile nel caso di progetti esistenti, in cui ciò comporterebbe la riscrittura del codice nel nuovo linguaggio. <ref name=":1" />
Un'alternativa consiste nell'utilizzo di ''safe libraries'', ovvero librerie di funzioni che implementano protezioni contro il buffer overflow: in C rappresentano funzioni vulnerabili ''strcat'', ''strcpy'', ''gets'', ''sprintf'' (e altre ancora...) di cui esistono controparti "sicure" come ''strncpy'', ''strncat'', ''snprintf''. Un esempio di queste ''safe libraries'' sono "libsafe", "libparanoia" e "libverify". <ref>{{Cita web|url=https://www.freebsd.org/doc/en/books/developers-handbook/secure-bufferov.html|titolo=3.3.
=== Difese a livello di codice sorgente ===
|