Buffer overflow: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Botcrux (discussione | contributi)
m Bot: orfanizzo Heap, come da discussione al Progetto Connettività
Botcrux (discussione | contributi)
m Bot: orfanizzo Heap, come da discussione al Progetto Connettività, replaced: Heap (informatica) → Heap (struttura dati) (3)
Riga 39:
* [[Stack]] (cresce verso il basso)
* Memoria libera
* [[Heap (informaticastruttura dati)|Heap]] (cresce verso l’alto)
* Dati globali
* Codice del programma
Riga 74:
 
=== Heap overflow ===
Un programma può richiedere al sistema operativo di allocare dinamicamente una certa quantità di memoria nell'area [[Heap (informaticastruttura dati)|heap]], sfruttando chiamate di sistema come ''malloc()'' e ''free''() in C/UNIX. Questi buffer possono ugualmente essere suscettibili a problemi di overflow nel momento in cui vi si possa inserire una quantità di dati superiore alla memoria allocata, e questi dati andrebbero come al solito a sovrascrivere le aree di memoria adiacenti al buffer.
 
Si parla in questi casi di '''heap overflow''', ma a differenza dello stack, nell'area heap non sono memorizzati né indirizzi di ritorno, né frame pointer che possano essere alterati da un attaccante per trasferire il controllo dell'esecuzione a codice arbitrario. Tuttavia questo non significa che tali anomalie non costituiscano delle vulnerabilità pericolose: nel 2002 fu riscontrata una vulnerabilità di tipo heap overflow in un'estensione di Microsoft IIS che poteva essere sfruttata per eseguire codice arbitrario proprio su questa tipologia di server.<ref>{{Cita web|url=http://www.kb.cert.org/vuls/id/363715|titolo=Vulnerability Note VU#363715 - Microsoft Internet Information Server (IIS) vulnerable to heap overflow during processing of crafted ".htr" request by "ISM.DLL" ISAPI filter|sito=www.kb.cert.org|accesso=19 agosto 2016}}</ref>
Riga 132:
*[[Stack overflow]]
*[[Stack]]
*[[Heap (informaticastruttura dati)]]
*[[Informatica]]
*[[Programma]]