Potresti avere familiarità con il concetto di indirizzi IP. Ogni computer su una rete ne ha almeno uno. Durante la comunicazione tra le reti, questi indirizzi IP identificano in modo univoco l'origine e la destinazione del traffico di rete in modo che possa essere consegnato e a cui rispondere in modo affidabile. Quando si comunica con un dispositivo sulla stessa rete, un computer non utilizza direttamente l'indirizzo IP. Invece, traduce quell'indirizzo IP in un indirizzo MAC. ARP è il protocollo per gestire le traduzioni da IP a MAC e comunicarlo in rete.
ARP sta per Protocollo di risoluzione degli indirizzi. È un protocollo stateless che ha componenti di trasmissione e richiesta-risposta. ARP viene utilizzato principalmente nelle reti IPv4, sebbene lo utilizzino anche altri sistemi di rete. Le reti IPv6 implementano la funzionalità ARP e alcune funzionalità aggiuntive con NDP. O Protocollo di individuazione vicina.
Gli indirizzi MAC che sono stati identificati vengono memorizzati in una tabella ARP su ciascun dispositivo. Ogni voce nella tabella ARP scade regolarmente. Ma può essere aggiornato passivamente quando il traffico ARP viene trasmesso alla rete, riducendo al minimo la quantità totale di traffico ARP necessaria.
Sonda e risposta ARP
Se un computer deve trasmettere un pacchetto di rete, esamina l'indirizzo IP di destinazione. Sa che deve inviarlo al router per i dispositivi in una rete diversa. Questo può quindi indirizzare il pacchetto sulla rete giusta. Se il pacchetto è destinato a un dispositivo sulla rete locale, il computer deve conoscere l'indirizzo MAC corretto a cui inviarlo.
Come primo porto di scalo, il computer controllerà la sua tabella ARP. Questo dovrebbe avere un elenco di tutti i dispositivi conosciuti sulla rete locale. Se l'IP di destinazione e l'indirizzo MAC sono presenti, utilizzerà la tabella ARP per completare e inviare il pacchetto. Se l'indirizzo IP non ha una voce nella tabella ARP, il computer deve scoprirlo tramite una sonda ARP.
Il computer trasmette una sonda ARP alla rete chiedendo "chi ha
Nota: Anche la risposta della sonda ARP è una trasmissione. Ciò consente a tutti gli altri dispositivi di rete di aggiornare le proprie tabelle ARP senza richiedere la creazione di sonde ARP identiche. Questo aiuta a ridurre al minimo il traffico ARP.
Sonda ARP in connessione
Quando un computer si connette a una rete, deve ottenere un indirizzo IP. Questo può essere specificato manualmente ma in genere è allocato dinamicamente da un DHCP (Protocollo di controllo host dinamico) server. Il server DHCP è generalmente una funzione del router di rete, ma può essere eseguito da un dispositivo separato. Una volta che un nuovo dispositivo ha un indirizzo IP, tramite configurazione manuale o DHCP. Il dispositivo deve verificare rapidamente che nessun altro dispositivo stia già utilizzando quell'indirizzo IP.
Per fare ciò, il dispositivo trasmette un pacchetto sonda ARP, chiedendo a qualsiasi dispositivo che utilizza il suo nuovo indirizzo IP assegnato di rispondere ad esso. La risposta attesa è il silenzio. Nessun altro dispositivo dovrebbe reagire, specialmente in una rete DHCP. Dopo brevi ritardi, il dispositivo trasmetterà di nuovo lo stesso messaggio alcune volte. Questa ripetizione aiuta nei casi in cui un pacchetto potrebbe essere caduto sulla strada verso o da un dispositivo con un indirizzo IP in conflitto. Una volta che non ci sono state risposte ad alcune sonde ARP, il dispositivo può iniziare a utilizzare il suo nuovo indirizzo IP. Per fare ciò, deve inviare un ARP gratuito.
ARP gratuito
Una volta che un dispositivo ha determinato che l'indirizzo IP che desidera utilizzare non viene utilizzato, invia un ARP gratuito. Ciò comporta semplicemente la trasmissione alla rete "
Anche le richieste ARP gratuite vengono inviate regolarmente alla rete proprio come promemoria a tutti gli altri dispositivi che il computer è ancora connesso, online e ha il suo indirizzo IP.
Spoofing ARP
ARP è un protocollo stateless, non c'è connessione e tutti i messaggi vengono trasmessi alla rete in generale. Tutti i dispositivi ascoltano e memorizzano nella cache le risposte ARP nelle loro tabelle ARP. Questo, tuttavia, porta a una vulnerabilità nel sistema. Supponendo che un utente malintenzionato possa connettersi fisicamente alla rete, può eseguire software che trasmette in modo dannoso pacchetti di risposta ARP gratuiti non corretti. Ogni dispositivo sulla rete vedrà i pacchetti ARP dannosi, li considererà implicitamente attendibile e aggiornerà le loro tabelle di routing. Queste tabelle ARP ora errate vengono chiamate "avvelenate".
Questo potrebbe essere utilizzato solo per causare problemi di rete indirizzando il traffico nella direzione sbagliata. C'è uno scenario peggiore, tuttavia. Se l'attaccante falsifica i pacchetti ARP per l'indirizzo IP del router e li indirizza al proprio dispositivo, riceverebbe e sarebbe in grado di vedere tutto il traffico di rete. Supponendo che il dispositivo disponga di un'altra connessione di rete per inoltrare il traffico, può richiedere un Man in the Middle (MitM) posizione. Ciò consente all'attaccante di eseguire attacchi dannosi come lo stripping HTTPS, consentendogli potenzialmente di vedere e modificare tutto il traffico di rete.
Nota: Ci sono alcune protezioni contro gli attacchi MitM. L'attaccante non sarebbe in grado di duplicare il certificato HTTPS di un sito Web. Qualsiasi utente che ha il traffico intercettato dovrebbe ricevere errori di certificato del browser.
Esistono, tuttavia, molte comunicazioni essenziali e non crittografate, soprattutto su una rete interna. Questo non è tanto il caso su una rete domestica. Tuttavia, le reti aziendali basate su Windows sono particolarmente vulnerabili agli attacchi di spoofing ARP.
Conclusione
ARP sta per Protocollo di risoluzione degli indirizzi. Viene utilizzato nelle reti IPv4 per tradurre gli indirizzi IP in indirizzi MAC come necessario nelle reti locali. Consiste in trasmissioni di richiesta e risposta stateless. Le risposte, o la loro mancanza, consentono a un dispositivo di determinare quale indirizzo MAC è associato a un indirizzo IP o se un indirizzo IP non è utilizzato. I dispositivi memorizzano nella cache le risposte ARP per aggiornare le loro tabelle ARP.
I dispositivi possono anche trasmettere regolarmente annunci gratuiti che il loro indirizzo MAC è associato al loro indirizzo IP. La mancanza di un meccanismo di autenticazione consente a un utente malintenzionato di trasmettere pacchetti ARP fasulli per avvelenare le tabelle ARP e indirizzare il traffico a se stessi per eseguire analisi del traffico o attacchi MitM.