Buffer overflow: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Descrizione: Non stiamo parlando della pioggia che cade e non ci puoi fare nulla, il buffer overflow e' il risultato di uno sviluppo approssimativo. Ho sottolineato questo aspetto. Deve essere chiaro che il buffer overflow e' un bug
Kormoran (discussione | contributi)
Nessun oggetto della modifica
Riga 1:
{{Nota disambigua|il buffer overflow legato alle telecomunicazioni|[[Buffer overflow (telecomunicazioni)]]}}
{{F|software|maggio 2012|Mancano del tutto le sezioni Note/Bibliografia/Collegamenti esterni}}
In [[informatica]] il '''buffer overflow''' è una condizione di errore che si verifica a [[runtime]] quando in un [[buffer|buffer]] di una data dimensione vengono scritti dati di dimensioni maggiori. Quando questo accade viene sovrascritta parte della zona di memoria immediatamente adiacente al buffer in questione, con diversi effetti possibili a seconda di dove è situato il buffer e di come è organizzata la memoria in quella particolare piattaforma software; in alcuni [[Programma (informatica)|programmi]] software questo provoca delle vulnerabilità di [[sicurezza informatica|sicurezza]]. I linguaggi '''managed''', cioè basati su un modello di memoria gestito a runtime come Java, dovrebbero in teoria essere immuni da questo tipo di errore, ma in pratica la possibilità rimane presente in caso di chiamate a codice nativo, o a causa di bug del modulo manager (la JVM nel caso di Java) o del compilatore JIT.
In [[informatica]] il '''buffer overflow''' è un bug, spesso trascurato perche' viene considerato come un virus, mentre e' una debolezza del prodotto finale. Per questo viene chiamato "vulnerabilità di [[sicurezza informatica|sicurezza]]" e può affliggere un [[Programma (informatica)|programma]] software. Linguaggi evoluti come Java escludono tale bug. Esso consiste nel fatto che tale programma non controlla in anticipo la lunghezza dei dati in arrivo, ma si limita a scrivere il loro valore in un [[buffer]] di lunghezza prestabilita, confidando che l'utente (o il mittente) non immetta più dati di quanti esso ne possa contenere: questo può accadere se il programma è stato scritto usando funzioni di libreria di input/output che non fanno controlli sulle dimensioni dei dati trasferiti.
 
==Descrizione==