Perché ARP è sostituito da NDP in IPv6?


49

L'ARP è stato sostituito dall'NDP (Neighbor Discovery Protocol). Ma non conosco il motivo esatto per questo.

  • Ci sono problemi di sicurezza in ARP?
  • Perché ARP è sostituito da NDP?
  • Quali sono i vantaggi di ARP?

Qualcuno può spiegarlo in termini semplici?

Risposte:


67

Ci sono problemi di sicurezza in ARP?

Sì. Eccotene alcune:

  • Spoofing ARP.

    I messaggi ARP falsi vengono inviati su una LAN, con conseguente collegamento dell'indirizzo MAC di un utente malintenzionato con l'indirizzo IP di un computer o server legittimo sulla rete.

    Vedi sotto per maggiori informazioni su spoofing / avvelenamento ARP.

  • Inondazioni MAC.

    La tabella di traduzione che traccia quali indirizzi MAC si trovano su quali porte fisiche ha una quantità limitata di memoria. Ciò consente di sfruttare uno switch inondando la tabella di traduzione. Gli switch primitivi, non sapendo come gestire i dati in eccesso, "non si apriranno" e trasmetteranno tutti i frame di rete a tutte le porte.

  • Duplicazione MAC.

    In un attacco di duplicazione MAC uno switch viene confuso nel pensare che due porte abbiano lo stesso indirizzo MAC. Poiché i dati verranno inoltrati a entrambe le porte, non è necessario alcun inoltro IP.

Sicurezza di origine del protocollo TCP / IP Address Resolution Protocol (ARP)


Perché ARP è stato sostituito da NDP?

Fornisce miglioramenti e funzionalità aggiuntive per IPv6.

Vedi sotto per un confronto tra NDP e i protocolli Address Resolution Protocol [ARP], ICMP Router Discovery [RDISC] e ICMP Redirect [ICMPv4].


In che modo l'NDP difende da ARP Spoofing / Poisoning?

Utilizza il protocollo Secure Neighbor Discovery (SEND). Gli indirizzi crittografati generati assicurano che l'origine rivendicata di un messaggio NDP sia il proprietario dell'indirizzo rivendicato.

Una delle funzioni del protocollo NDP (Neighbor Discovery Protocol) IPv6 è quella di risolvere gli indirizzi di livello di rete (IP) per collegare indirizzi di livello (ad esempio, Ethernet), una funzione eseguita in IPv4 da Address Resolution Protocol (ARP). Il protocollo SEND (Secure Neighbor Discovery) impedisce a un utente malintenzionato che ha accesso al segmento di trasmissione di abusare di NDP o ARP per indurre gli host a inviare il traffico degli aggressori destinato a qualcun altro, una tecnica nota come avvelenamento da ARP.

Per proteggersi dall'avvelenamento da ARP e altri attacchi contro le funzioni NDP, SEND dovrebbe essere implementato laddove potrebbe non essere possibile impedire l'accesso al segmento di trasmissione.

SEND utilizza coppie di chiavi RSA per produrre indirizzi generati crittograficamente, come definito in RFC 3972, Cryptographically Generated Addresses (CGA). Ciò garantisce che l'origine richiesta di un messaggio NDP sia il proprietario dell'indirizzo richiesto.

Sorgente che configura Rilevamento Neighbor IPv6 sicuro


Come funziona lo spoofing ARP?

Lo spoofing ARP viene anche definito ARP Poison Routing (APR) o ARP Cache Poisoning.

Lo spoofing ARP è un tipo di attacco in cui un attore malintenzionato invia messaggi ARP (Address Resolution Protocol) falsificati su una rete locale. Ciò comporta il collegamento dell'indirizzo MAC di un utente malintenzionato con l'indirizzo IP di un computer o server legittimo sulla rete.

Una volta che l'indirizzo MAC dell'attaccante è collegato a un indirizzo IP autentico, l'attaccante inizierà a ricevere tutti i dati destinati a tale indirizzo IP.

Lo spoofing ARP può consentire alle parti malintenzionate di intercettare, modificare o addirittura bloccare i dati in transito. Gli attacchi di spoofing ARP possono verificarsi solo su reti locali che utilizzano il protocollo di risoluzione degli indirizzi.

Sorgente Veracode ARP Spoofing


Come funziona un attacco di spoofing ARP?

I passaggi per un attacco di spoofing ARP di solito includono:

  1. L'attaccante apre uno strumento di spoofing ARP e imposta l'indirizzo IP dello strumento in modo che corrisponda alla sottorete IP di una destinazione. Esempi del popolare software di spoofing ARP includono Arpspoof, Cain & Abel, Arpoison ed Ettercap.

  2. L'attaccante utilizza lo strumento di spoofing ARP per cercare gli indirizzi IP e MAC degli host nella sottorete del bersaglio.

  3. L'attaccante sceglie il bersaglio e inizia a inviare pacchetti ARP attraverso la LAN che contengono l'indirizzo MAC dell'attaccante e l'indirizzo IP del bersaglio.

  4. Mentre altri host sulla LAN memorizzano nella cache i pacchetti ARP contraffatti, i dati che tali host inviano alla vittima andranno invece all'attaccante. Da qui, l'attaccante può rubare dati o lanciare un attacco di follow-up più sofisticato.

Sorgente Veracode ARP Spoofing

L'autore dell'attacco può scegliere di ispezionare i pacchetti (spionaggio), mentre inoltra il traffico al gateway predefinito effettivo per evitare l'individuazione, modificare i dati prima di inoltrarli (attacco man-in-the-middle) o avviare un denial-of-service attaccare causando la caduta di alcuni o tutti i pacchetti sulla rete.

Fonte spoofing ARP di Wikipedia


Confronto [di NDP] con IPv4

Il protocollo IPv6 Neighbor Discovery corrisponde a una combinazione dei protocolli IPv4 Address Resolution Protocol [ARP], ICMP Router Discovery [RDISC] e ICMP Redirect [ICMPv4].

In IPv4 non esiste un protocollo o un meccanismo generalmente concordati per il rilevamento della non raggiungibilità dei vicini, sebbene il documento sui requisiti degli host [HR-CL] specifichi alcuni possibili algoritmi per il rilevamento di Dead Gateway (un sottoinsieme dei problemi che affronta il rilevamento della non raggiungibilità dei vicini).

Il protocollo Neighbor Discovery offre una moltitudine di miglioramenti rispetto al set di protocolli IPv4:

  • Router Discovery fa parte del set di protocolli di base; non è necessario che gli host "ficcino" i protocolli di routing.

  • Gli annunci router hanno indirizzi a livello di collegamento; non è necessario uno scambio di pacchetti aggiuntivo per risolvere l'indirizzo del livello di collegamento del router.

  • Gli annunci router hanno i prefissi per un collegamento; non è necessario disporre di un meccanismo separato per configurare la "maschera di rete".

  • Gli annunci del router abilitano la configurazione automatica dell'indirizzo.

  • I router possono pubblicizzare un MTU che gli host possono utilizzare sul collegamento, garantendo che tutti i nodi utilizzino lo stesso valore MTU sui collegamenti privi di un MTU ben definito.

  • I multicast di risoluzione degli indirizzi vengono "distribuiti" su 16 milioni (2 ^ 24) indirizzi multicast, riducendo notevolmente gli interrupt relativi alla risoluzione degli indirizzi su nodi diversi dalla destinazione. Inoltre, le macchine non IPv6 non dovrebbero essere affatto interrotte.

  • I reindirizzamenti contengono l'indirizzo del livello di collegamento del nuovo primo hop; non è necessaria una risoluzione separata dell'indirizzo quando si riceve un reindirizzamento.

  • È possibile associare più prefissi allo stesso collegamento. Per impostazione predefinita, gli host apprendono tutti i prefissi on-link dagli annunci router. Tuttavia, i router possono essere configurati per omettere alcuni o tutti i prefissi da Router pubblicità. In tali casi, gli host presumono che le destinazioni non siano collegate e inviano traffico ai router. Un router può quindi emettere reindirizzamenti appropriati.

  • A differenza di IPv4, il destinatario di un reindirizzamento IPv6 presuppone che il nuovo hop successivo sia on-link. In IPv4, un host ignora i reindirizzamenti specificando un hop successivo che non è sul collegamento in base alla maschera di rete del collegamento. Il meccanismo di reindirizzamento IPv6 è analogo alla funzione XRedirect specificata in [SH-MEDIA]. Si prevede che sia utile su collegamenti multimediali non condivisi e condivisi in cui è indesiderabile o impossibile per i nodi conoscere tutti i prefissi per le destinazioni su collegamento.

  • Il rilevamento della non raggiungibilità adiacente fa parte della base, il che migliora in modo significativo la solidità della consegna dei pacchetti in presenza di router in errore, collegamenti parzialmente in errore o partizionati o nodi che cambiano i loro indirizzi a livello di collegamento. Ad esempio, i nodi mobili possono spostarsi fuori collegamento senza perdere la connettività a causa di cache ARP non aggiornate.

  • A differenza di ARP, Neighbor Discovery rileva guasti a mezzo collegamento (utilizzando Neighbor Unreachability Detection) ed evita di inviare traffico ai vicini con cui è assente la connettività bidirezionale.

  • A differenza del rilevamento router IPv4, i messaggi di annuncio router non contengono un campo delle preferenze. Il campo delle preferenze non è necessario per gestire router di diversa "stabilità"; il rilevamento di irraggiungibilità del vicino rileverà i router morti e passerà a uno funzionante.

  • L'uso di indirizzi locali di collegamento per identificare in modo univoco i router (per i messaggi di Annuncio router e Reindirizzamento) consente agli host di mantenere le associazioni del router in caso di rinumerazione del sito per utilizzare nuovi prefissi globali.

  • Impostando Hop Limit su 255, Neighbor Discovery è immune ai mittenti off-link che inviano accidentalmente o intenzionalmente messaggi ND. In IPv4, i mittenti non collegati possono inviare sia i messaggi di reindirizzamento ICMP sia i messaggi pubblicitari del router.

  • La risoluzione dell'indirizzo a livello dell'ICMP rende il protocollo più indipendente dai media rispetto all'ARP e consente di utilizzare i meccanismi di autenticazione e sicurezza a livello IP generico, a seconda dei casi.

Sorgente RFC 4861 Neighbor Discovery in IPv6


Ulteriori letture


In che modo l'NDP difende l'avvelenamento da agaista?
Grawity

@grawity Buona domanda! Utilizza il protocollo Secure Neighbor Discovery (SEND). Risposta aggiornata
DavidPostill

2
Hmm, quanti sistemi operativi usano effettivamente INVIA però
Grawity

2
@DavidPostill No, IPsec funziona su un livello diverso da ARP / NDP. Ha bisogno di un canale di comunicazione funzionante per stabilire le sue funzionalità di sicurezza.
scai,

4
@DavidPostill Ottimo post. Tuttavia, il tuo post è fuorviante in quanto suggerisce che SeND è (a) parte integrante di NDP e (b) una soluzione comune. Questo non è il caso: SeND è un componente aggiuntivo e non ci sono implementazioni SeND oltre a quelle sperimentali. Inoltre, SeND ha i suoi difetti e apre possibilità di attacchi denial of service. Infine, è ragionevole presumere che SeND non decollerà mai (almeno non nella sua forma attuale) e quindi non dovrebbe essere proposto troppo forte.
contromodale

9

NDP ha più funzionalità di ARP , tra cui:

  • Tramite NDP, i dispositivi sulla rete possono determinare l'indirizzo MAC / link-layer (stessa funzione di ARP).

  • Utilizzando NDP, i dispositivi sulla rete possono individuare il percorso per raggiungere un altro dispositivo in una rete esterna, individuando il router migliore per il dispositivo di destinazione.

  • NDP consente la configurazione automatica degli indirizzi IPv6.

Confrontandolo con ARP, il meccanismo è diverso:

ARP utilizza i messaggi broadcast, mentre NDP utilizza i messaggi multicast ICMPv6.

Il dispositivo invia un messaggio multicast chiamato "Messaggio ICMP di sollecitazione vicina" o NS . Il dispositivo di destinazione risponde con un "messaggio ICMP della pubblicità del vicinato" o NA .

Il messaggio NS utilizza uno speciale indirizzo di destinazione multicast chiamato indirizzo multicast nodo sollecitato che rappresenta tutti gli host con gli stessi ultimi 24 bit dei loro indirizzi IPv6. L'uso del multicast anziché della trasmissione riduce il flusso di traffico non necessario sulla rete.


5

L'introduzione di NDP al posto di ARP era principalmente dovuta al desiderio di consolidare i protocolli di controllo attorno all'IP. IPv4 gode di numerosi protocolli di controllo come ICMP, IGMP e ARP / RARP. Con IPv6 NDP (successore di ARP) e MLD (successore di IGMP) sono stati progettati come sotto-protocolli di ICMPv6 in modo che esista un solo protocollo di controllo. Non vi era alcun motivo di sicurezza per questo, ND è suscettibile allo spoofing come ARP e ND non è stato progettato per la sicurezza.

All'inizio dello sviluppo di IPv6, IPsec era considerato ilmisura di sicurezza generica e quindi obbligatoria. Questo requisito, tuttavia, è stato declassato a una raccomandazione (RFC 6434, credo principalmente a causa di dispositivi integrati e IoT, che semplicemente non sono in grado di eseguire calcoli a chiave pubblica, oltre a inciampare su problemi PKI di tutti i tipi , comunque) e non funziona bene (educatamente parlando) per proteggere ND. SeND è stato introdotto per contrastare la sicurezza su ND, ma come per praticamente tutti i precedenti tentativi di progettazione software di sicurezza retroattiva, il risultato è stato, per così dire, non ottimale. Poiché non ci sono ancora implementazioni di SeND, tranne alcune sperimentali, SeND è inesistente. Inoltre, c'è motivo di credere che SeND - almeno nella sua forma attuale - non decollerà mai.

Al contrario, SAVI sembra più promettente, ma richiede modifiche all'infrastruttura di commutazione e le apparecchiature compatibili con SAVI non sono abbastanza economiche, quindi non prolifereranno rapidamente. SAVI sostiene che all'interno di un sito dovrebbe essere "noto" quali mapping tra indirizzi HW (ovvero indirizzo MAC) e indirizzi IP sono legittimi e quindi dovrebbe essere possibile identificare e rimuovere falsi messaggi NDP.

Le migliori ricette sono le più semplici ma sono spesso trascurate: suddividere le LAN di grandi dimensioni in LAN più piccole, poiché lo spoofing ARP e ND funziona solo per target nella stessa LAN. Pertanto, il semplice posizionamento di dispositivi non affidabili nei propri segmenti LAN (senza regole firewall / di filtraggio necessarie) ridurrà notevolmente la superficie di attacco.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.