Internet Control Message Protocol (ICMP) viene utilizzato per diagnosticare problemi di rete su Internet.
Dopo aver letto questo articolo sarai in grado di:
Argomenti correlati
Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.
Copia link dell'articolo
Internet Control Message Protocol (ICMP) è un protocollo a livello di rete utilizzato dai dispositivi di rete per diagnosticare problemi di comunicazione di rete. ICMP viene utilizzato principalmente per determinare se i dati stanno raggiungendo o meno la destinazione prevista in modo tempestivo. Comunemente, il protocollo ICMP viene utilizzato su dispositivi di rete, come i router. ICMP è fondamentale per la segnalazione e il test degli errori, ma può essere utilizzato anche negli attacchi DDoS (Distributed Denial-of-Service).
Lo scopo principale di ICMP è la segnalazione degli errori. Quando due dispositivi si connettono a Internet, ICMP genera errori da condividere con il dispositivo di invio nel caso in cui uno qualsiasi dei dati non abbia raggiunto la destinazione prevista. Ad esempio, se un pacchetto di dati è troppo grande per un router, il router eliminerà il pacchetto e invierà un messaggio ICMP alla fonte originale per i dati.
Un uso secondario del protocollo ICMP consiste nell'eseguire la diagnostica di rete; le utilità traceroute e ping del terminale comunemente utilizzate funzionano entrambe utilizzando ICMP. L'utilità traceroute viene utilizzata per visualizzare il percorso di routing tra due dispositivi Internet. Il percorso di routing è il percorso fisico effettivo dei router connessi in cui una richiesta deve transitare prima di raggiungere la sua destinazione. Il percorso tra un router e l'altro è noto come "hop" e un traceroute segnala anche il tempo necessario per ogni hop lungo il percorso. Questo può essere utile per determinare le origini del ritardo di rete.
L'utilità ping è una versione semplificata di traceroute. Un ping testa la velocità della connessione tra due dispositivi e segnala esattamente quanto tempo impiega un pacchetto di dati per raggiungere la sua destinazione e tornare al dispositivo del mittente. Sebbene il ping non fornisca dati sul routing o sugli hop, è comunque una metrica molto utile per misurare la latenza tra due dispositivi. I messaggi echo-request ed echo-reply ICMP sono comunemente usati allo scopo di eseguire un ping.
Purtroppo, gli attacchi di rete possono sfruttare questo processo, creando mezzi di interruzione come l'attacco flood ICMP e l'attacco ping of death.
A differenza dell'Internet Protocol (IP), ICMP non è associato a un protocollo a livello di trasporto come TCP o UDP. Ciò rende ICMP un protocollo senza connessione: un dispositivo non ha bisogno di aprire una connessione con un altro dispositivo prima di inviare un messaggio ICMP. Il normale traffico IP viene inviato tramite TCP, il che significa che due dispositivi che si scambiano dati eseguiranno prima un handshake TCP per garantire che entrambi i dispositivi siano pronti a ricevere dati. ICMP non apre una connessione in questo modo. Il protocollo ICMP, inoltre, non consente il targeting di una porta specifica su un dispositivo.
Un pacchetto ICMP è un pacchetto che utilizza il protocollo ICMP. Il pacchetto ICMP include un'intestazione ICMP dopo una normale intestazione IP. Quando un router o un server deve inviare un messaggio di errore, il corpo del pacchetto ICMP o la sezione dati contiene sempre una copia dell'intestazione IP del pacchetto che ha causato l'errore.
Attacco flood ICMP
Un flood ping o flood ICMP si verifica quando l'autore di un attacco tenta di sovraccaricare un dispositivo mirato con i pacchetti ICMP echo-request. Il target deve elaborare e rispondere a ogni pacchetto, consumando le sue risorse di elaborazione fino a quando gli utenti legittimi non possono ricevere il servizio.
Attacco flood ICMP:
Attacco Ping of Death
Un attacco Ping of Death si verifica quando l'autore di un attacco invia un ping maggiore della dimensione massima consentita per un pacchetto a una macchina mirata, causando il blocco o l'arresto anomalo della macchina. Il pacchetto viene frammentato lungo il percorso verso la sua destinazione, ma quando la destinazione riassembla il pacchetto nella sua dimensione massima originale, la dimensione del pacchetto causa un buffer overflow.
L'attacco Ping of Death è in gran parte storico a questo punto. Tuttavia, le apparecchiature di rete meno recenti potrebbero essere ancora suscettibili a questo.
Attacco SMURF
In un attacco SMURF, l'autore di un attacco invia un pacchetto ICMP con un indirizzo IP di origine contraffatto. L'apparecchiatura di rete risponde al pacchetto, inviando le risposte all'IP contraffatto e inondando la vittima con un pacchetto ICMP indesiderato. Come il "Ping of Death", oggi l'attacco SMURF è possibile solo con apparecchiature legacy.
ICMP non è l'unico protocollo a livello di rete utilizzato negli attacchi DDoS di livello 3. Ad esempio, gli autori di attacchi hanno utilizzato anche i pacchetti GRE in passato.
In genere, gli attacchi DDoS a livello di rete prendono di mira le apparecchiature e l'infrastruttura di rete, al contrario degli attacchi DDoS a livello di applicazione, che prendono di mira le proprietà Web. Cloudflare Magic Transit è un modo per difendersi dagli attacchi DDoS a livello di rete.