L'ipotesi, "Gli attacchi di avvelenamento ARP funzionano solo quando l'indirizzo MAC del gateway non si trova nella cache ARP della vittima", è falso.
Esiste un tipo di richiesta o risposta ARP noto come "ARP gratuito"; dal Wireshark Wiki :
Gratuitous in this case means a request/reply that is not normally
needed according to the ARP specification (RFC 826)
A gratuitous ARP reply is a reply to which no request has been made.
La pagina wiki ha anche alcune informazioni sull'uso legittimo delle risposte ARP gratuite. Tuttavia, possono anche essere usati maliziosamente, e sono la forza trainante della maggior parte degli attacchi di avvelenamento ARP.
Diamo un'occhiata a un esempio di configurazione di rete:
Gateway:
IP address: 192.168.1.1
MAC address: 11:11:11:11:11:11
Victim:
IP address: 192.168.1.100
MAC address: 22:22:22:22:22:22
Victim's ARP cache:
192.168.1.1 is at 11:11:11:11:11:11
Attacker:
IP address: 192.168.1.200
MAC address: 33:33:33:33:33:33
In questo caso, l'indirizzo MAC del gateway è già memorizzato nella cache dalla vittima e l'utente malintenzionato vuole convincere la vittima di essere il gateway. L'aggressore può inviare una risposta ARP gratuita alla vittima:
192.168.1.1 is at 33:33:33:33:33:33
Anche se la vittima non ha richiesto questa informazione, aggiornerà felicemente la sua tabella ARP:
Victim's ARP cache:
192.168.1.1 is at 33:33:33:33:33:33
Ora il traffico della vittima andrà all'attaccante anziché al gateway.
Quindi, il takeaway è che le risposte ARP gratuite possono essere utilizzate per aggiornare voci esistenti e legittime a favore di quelle malevole. La vittima non ha modo di sapere se l'ARP gratuito è dannoso o meno; Cosa succede se la macchina è stata appena riconfigurata o ha avuto uno scambio NIC? Non c'è davvero un modo per dire.
I would like to understand which ARP reply should he save and which he should discard
Come indicato sopra, la risposta ARP ricevuta più di recente viene utilizzata per aggiornare la cache, indipendentemente dal fatto che sia disponibile o meno.