Buffer overflow: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
→Collegamenti esterni: Aggiunto il template "FOLDOC" |
fix |
||
Riga 1:
{{Nota disambigua|il buffer overflow legato alle telecomunicazioni|Buffer overflow (telecomunicazioni)}}
'''Buffer overflow''' (o '''buffer overrun'''), in [[informatica]], è una condizione di errore che si verifica a [[runtime]] quando in un [[buffer]] di una data dimensione vengono scritti dati di dimensioni maggiori.
Riga 16 ⟶ 17:
Nel febbraio 2016 i ricercatori di Google e di Red Hat scoprirono la presenza di una vulnerabilità di tipo stack buffer overflow nella funzione ''getaddrinfo'' della libreria ''[[glibc]]'' (tutte le versioni a partire dalla 2.9). Tale libreria è utilizzata da centinaia di applicazioni e dalla maggior parte delle distribuzioni Linux (incluse quelle installate nei router e in altro tipo di hardware): la funzione interessata è quella che si occupa del DNS lookup (risoluzione nomi degli host e indirizzi IP) e la vulnerabilità può permettere a un attaccante l'invio di domini o DNS server malevoli, oltre che attacchi ''[[Attacco man in the middle|man-in-the-middle]]'' fino all'esecuzione di codice arbitrario sulla macchina della vittima.<ref>{{Cita web|url=https://security.googleblog.com/2016/02/cve-2015-7547-glibc-getaddrinfo-stack.html|titolo=CVE-2015-7547: glibc getaddrinfo stack-based buffer overflow|lingua=en|accesso=6 settembre 2016}}</ref><ref>{{Cita web|url=https://access.redhat.com/it/node/2171131|titolo=Falla di sicurezza critica: glibc stack-based buffer overflow in getaddrinfo() (CVE-2015-7547) - Red Hat Customer Portal|sito=access.redhat.com|accesso=6 settembre 2016}}</ref>
== Descrizione ==
Quando, per errore o per malizia, vengono inviati più dati della capienza del buffer destinato a contenerli (che per errore, malizia o superficialità non è stato progettato a dovere), i dati ''extra'' vanno a sovrascrivere le variabili interne del programma, o il suo stesso [[Pila (informatica)|stack]]; come conseguenza di ciò, a seconda di cosa è stato sovrascritto e con quali valori, il programma può dare risultati errati o imprevedibili, bloccarsi, o (se è un driver di sistema o lo stesso sistema operativo) bloccare il [[computer]]. Conoscendo molto bene il programma in questione, il sistema operativo e il tipo di computer su cui gira, si può precalcolare una serie di dati ''malevoli'' che inviati per provocare un buffer overflow consenta ad un malintenzionato di prendere il controllo del programma (e a volte, tramite questo, dell'intero computer).
Riga 29 ⟶ 30:
Il buffer overflow può essere indicato con diversi nomi a seconda della posizione occupata dal buffer all’interno della memoria allocata per il processo. La posizione del buffer è importante in quanto gli effetti del buffer overflow sono principalmente legati a:
* cosa c’è vicino al buffer
* quali dati vanno a sovrascrivere le aree di memoria adiacenti al buffer
Riga 131:
== Voci correlate ==
{{
* [[Heap overflow]]
* [[Stack overflow]]
* [[Stack (informatica)|Stack]]
* [[Heap (struttura dati)]]
* [[Informatica]]
* [[Programma]]
* [[Run-time|Runtime]]
* [[SQL Slammer|SQL Slammer worm]]
* [[Code Red (malware)|Code Red worm]]
* [[HP-UX]]
* [[Kernel]]
* [[Internet Information Services|Microsoft IIS]]
* [[Microsoft SQL Server]]
* [[Buffer]]
* [[Sicurezza informatica]]
* [[Computer]]
* [[Cracker (informatica)]]
* [[NX-bit|NX bit]]
* [[Morris worm|Morris Worm]]
* [[CERT|CERT/CC]]
* [[SANS]]
* [[Attacco man in the middle|Man-in-the-middle]]
* [[LIFO]]
* [[Errore di segmentazione]]
* [[Denial of Service|Denial-of-service]]
* [[Assembly]]
* [[Shellcode]]
* [[Shell (informatica)]]
* [[Off-by-one error|Off-by-one]]
* [[
▲{{Div col end}}
== Collegamenti esterni ==
|