Buffer overflow: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Ho esplicitato anche il significato di buffer overflow in telecomunicazioni |
|||
Riga 9:
#l'area di memoria dello stack sia eseguibile, se si tenta di scrivere dello shellcode sullo stack; questo non è vero sui computer più recenti dotati di [[NX bit]]
La prima condizione è facilmente verificabile, dalle specifiche del programma; la seconda e la terza invece sono interne ad esso e riguardano la sua [[programma completo|completezza]] in senso teorico.
In [[telecomunicazioni]] si fa riferimento ad una condizione di buffer overflow quando il buffer di un apparato di comunicazione diviene saturo. Esso tipicamente si verifica quando la velocità con cui i dati pervengono ad un nodo supera (temporaneamente o permanentemente) la capacità trasmissiva del nodo stesso. In questo caso, non è detto che l'overflow rappresenti un errore di programmazione (come nel caso degli overflow descritti in precedenza). Infatti, in molte reti di telecomunicazioni risulta impossibile conoscere a priori lo stato di tutti i nodi della rete e pertanto l'evento di buffer overflow viene considerato fisiologico. In tal caso, sono usualmente adottati [[protocolli di rete]] in grado di recuperare i dati persi in seguito al verificarsi dell'overflow. A titolo di esempio si rimanda alla problematica del [[controllo della congestione in TCP]].
==Stack overflow==
|