11. Considerazioni sulla Sicurezza (Security Considerations)
Neighbor Discovery è soggetto ad attacchi che possono interrompere le operazioni di rete o reindirizzare il traffico. Questa sezione analizza le minacce a Neighbor Discovery e descrive i meccanismi per mitigarle.
11.1. Analisi delle Minacce (Threat Analysis)
11.1.1. Minacce Sul Link (On-Link Threats)
La principale preoccupazione di sicurezza per Neighbor Discovery è che i nodi sullo stesso link possono inviare messaggi falsificati per attaccare altri nodi. Gli attacchi possibili includono:
Attacchi di Redirect:
- Un attaccante invia un messaggio Redirect a una vittima, facendo sì che la vittima invii il traffico attraverso l'attaccante invece che attraverso il router di primo hop legittimo.
- L'attaccante può quindi intercettare, modificare o eliminare il traffico reindirizzato.
Attacchi Router Solicitation/Advertisement:
- Un attaccante impersona un router inviando Router Advertisement con:
- Informazioni di prefisso non valide, causando agli host la configurazione di indirizzi errati
- Valori di Router Lifetime brevi, facendo credere agli host che non ci siano router disponibili
- Hop limit, MTU o parametri di raggiungibilità modificati
Attacchi Neighbor Solicitation/Advertisement:
- Un attaccante invia Neighbor Advertisement falsificati per avvelenare il Neighbor Cache dei nodi vittima.
- Questo può reindirizzare il traffico destinato a un altro nodo verso l'attaccante.
- Un attaccante può affermare di possedere un indirizzo IP che in realtà appartiene a un altro nodo.
Attacchi Duplicate Address Detection (DAD):
- Un attaccante risponde a tutte le Neighbor Solicitation DAD, impedendo a qualsiasi nodo di configurare un indirizzo.
- Questo costituisce un attacco di negazione del servizio sulla configurazione degli indirizzi.
11.1.2. Attacchi di Negazione del Servizio (Denial-of-Service Attacks)
Diversi aspetti di Neighbor Discovery possono essere sfruttati per la negazione del servizio:
Esaurimento della Cache (Cache Exhaustion):
- Un attaccante inonda un nodo con pacchetti da numerosi indirizzi falsificati, costringendo il nodo a creare voci Neighbor Cache e a inviare Neighbor Solicitation.
- Questo consuma memoria e larghezza di banda di rete.
Flooding di Messaggi Neighbor Discovery:
- Un attaccante inonda il link con messaggi Neighbor Discovery, consumando larghezza di banda e risorse di elaborazione.
Flooding Router Solicitation:
- Più attaccanti o un singolo attaccante con molti indirizzi falsificati inondano i router con Router Solicitation.
- Questo può sopraffare i router con il carico di risposta.
11.1.3. Minacce Fuori Link (Off-Link Threats)
Sebbene i messaggi Neighbor Discovery siano link-local e non dovrebbero essere inoltrati dai router, gli attaccanti con accesso al mezzo fisico (ad esempio, attraverso infrastruttura compromessa) possono lanciare attacchi anche se non direttamente connessi al link di destinazione.
11.2. Protezione dei Messaggi Neighbor Discovery (Securing Neighbor Discovery Messages)
11.2.1. SEcure Neighbor Discovery (SEND)
SEcure Neighbor Discovery (SEND) [RFC3971] fornisce sicurezza crittografica per Neighbor Discovery. SEND utilizza:
- Cryptographically Generated Addresses (CGA): Indirizzi che legano crittograficamente una chiave pubblica a un indirizzo IPv6, permettendo la verifica che il mittente possieda l'indirizzo.
- Firme RSA: Tutti i messaggi Neighbor Discovery critici sono firmati con la chiave privata del mittente.
- Opzioni Timestamp: Prevengono gli attacchi di replay.
- Opzioni Nonce: Forniscono freschezza per gli scambi sollecitazione/annuncio.
- Delega di Autorizzazione: Permette ai router di provare che sono autorizzati ad agire come router per un prefisso.
SEND fornisce una forte protezione contro la maggior parte degli attacchi Neighbor Discovery, inclusi:
- Attacchi di redirect
- Falsificazione di Neighbor/Router Advertisement
- Manipolazione delle informazioni di prefisso
Limitazioni di SEND:
- SEND richiede un'infrastruttura a chiave pubblica ed è computazionalmente intensivo.
- Non protegge contro tutti gli attacchi di negazione del servizio (ad esempio, flooding di messaggi).
- Il deployment è stato limitato a causa della complessità.
11.2.2. Sicurezza del Link-Layer (Link-Layer Security)
I meccanismi di sicurezza del link-layer possono fornire protezione per Neighbor Discovery:
Autenticazione Basata su Porta IEEE 802.1X:
- Autentica i dispositivi prima di consentire l'accesso alla rete.
- Impedisce ai dispositivi non autorizzati di inviare messaggi Neighbor Discovery.
MACsec (IEEE 802.1AE):
- Fornisce crittografia e autenticazione del link-layer.
- Protegge tutto il traffico, incluso Neighbor Discovery, da intercettazioni e manomissioni.
Sicurezza Wireless (WPA2/WPA3):
- Crittografa e autentica il traffico wireless.
- Impedisce agli attaccanti di iniettare messaggi Neighbor Discovery falsificati sui link wireless.
Vantaggi della Sicurezza del Link-Layer:
- Trasparente ai protocolli di livello superiore.
- Può essere più efficiente di SEND.
- Protegge contro una gamma più ampia di attacchi.
Limitazioni:
- Non sempre disponibile (ad esempio, su segmenti Ethernet condivisi).
- Non protegge contro attacchi da dispositivi compromessi che hanno accesso legittimo al link.
11.2.3. Router Advertisement Guard (RA Guard)
RA Guard [RFC6105] è un meccanismo basato su switch/router che filtra i messaggi Router Advertisement:
- Gli switch sono configurati per identificare quali porte sono connesse a router legittimi.
- I Router Advertisement da altre porte vengono eliminati.
- Protegge contro attacchi di router malevoli.
Limitazioni:
- Protegge solo contro Router Advertisement malevoli.
- Può essere aggirato utilizzando header di estensione IPv6 (mitigato da RFC 7113).
- Richiede una corretta configurazione dell'infrastruttura di rete.
11.2.4. Validazione dell'Indirizzo Sorgente (Source Address Validation)
L'implementazione della validazione dell'indirizzo sorgente può mitigare alcuni attacchi:
Filtraggio in Ingresso (Ingress Filtering):
- I router dovrebbero implementare il filtraggio in ingresso (BCP 38 / RFC 2827) per impedire l'ingresso nella rete di pacchetti con indirizzi sorgente falsificati.
Controlli Reverse Path Forwarding (RPF):
- Possono aiutare a rilevare e prevenire alcune forme di falsificazione degli indirizzi.
Limitazioni:
- Protegge principalmente contro attacchi fuori link.
- Meno efficace contro la falsificazione sul link.
11.3. Considerazioni sull'Implementazione (Implementation Considerations)
11.3.1. Limitazione della Velocità (Rate Limiting)
Le implementazioni DOVREBBERO (SHOULD) implementare la limitazione della velocità per:
- Elaborazione dei messaggi Neighbor Discovery
- Creazione di nuove voci Neighbor Cache
- Invio di Neighbor Solicitation in risposta al traffico
Questo mitiga gli attacchi di negazione del servizio basati sull'esaurimento delle risorse.
11.3.2. Gestione del Neighbor Cache (Neighbor Cache Management)
Le implementazioni DOVREBBERO (SHOULD):
- Implementare la garbage collection per le voci Neighbor Cache per prevenire l'esaurimento.
- Dare priorità alle voci raggiungibili rispetto alle voci obsolete o incomplete quando lo spazio cache è limitato.
- Limitare la velocità di creazione delle voci Neighbor Cache da fonti non affidabili.
11.3.3. Elaborazione dei Router Advertisement (Router Advertisement Processing)
Gli host DOVREBBERO (SHOULD):
- Ignorare i Router Advertisement con parametri sospetti (ad esempio, durate estremamente brevi, lunghezze di prefisso non valide).
- Implementare limiti sul numero di prefissi, percorsi e altre informazioni apprese dai Router Advertisement.
- Registrare pattern insoliti di Router Advertisement per la revisione amministrativa.
11.3.4. Validazione dei Messaggi Redirect (Redirect Message Validation)
Gli host DEVONO (MUST):
- Validare che i messaggi Redirect provengano dal router di primo hop attuale.
- Verificare che l'indirizzo di destinazione sia sul link.
- Non elaborare messaggi Redirect che tentano di reindirizzare il traffico fuori dal link.
11.4. Considerazioni Operative (Operational Considerations)
Gli amministratori di rete DOVREBBERO (SHOULD):
-
Implementare la Sicurezza del Link-Layer: Dove possibile, utilizzare 802.1X, MACsec o sicurezza wireless per proteggere Neighbor Discovery.
-
Implementare RA Guard: Su switch e router per prevenire Router Advertisement malevoli.
-
Monitorare le Anomalie: Utilizzare strumenti di monitoraggio di rete per rilevare pattern insoliti nel traffico Neighbor Discovery.
-
Segmentare le Reti: Utilizzare VLAN e altre tecniche di segmentazione per limitare la portata di potenziali attacchi.
-
Considerare SEND: Per ambienti ad alta sicurezza, valutare il deployment di SEND nonostante la sua complessità.
-
Mantenere i Sistemi Aggiornati: Applicare patch di sicurezza e aggiornamenti che affrontano le vulnerabilità di Neighbor Discovery.
-
Formare gli Utenti: Addestrare il personale di rete a riconoscere e rispondere agli attacchi Neighbor Discovery.
11.5. Direzioni Future (Future Directions)
Il lavoro in corso nell'IETF continua a migliorare la sicurezza di Neighbor Discovery:
- Alternative SEND leggere
- Meccanismi RA Guard migliorati
- Integrazione con sistemi di controllo dell'accesso alla rete
- Protezioni migliorate contro la negazione del servizio
Gli amministratori di rete dovrebbero rimanere informati su questi sviluppi e implementare nuovi meccanismi di sicurezza man mano che diventano standardizzati e disponibili.