BGP eavesdropping.
Il nome esatto è questo e quello che c’è dietro questo nome non è gradevole.
Come?
Un Man-in-the-middle attack difatto può consentire il reindirizzamento del traffico nella rete dell’attaccante.
Significa che chiunque abbia un router BGP può intercettare dati destinati a specifici indirizzi IP o gruppi di essi.
Inoltre, proprio per le caratteristiche intrinseche del Border Gateway Protocol (BGP) non è di facile rilevamento se non in caso di massivi dirottamenti (che farebbero difatto scattare altri tipi di allarmi, ma è un’altra storia).
Quello che rende ancora più delicata la situazione è che non è un vero e proprio exploit in quanto non sfrutta una vulnerabilità implementativa nè della pila protocollare ma è proprio la sua struttura e la sua peculiarità che presta il fianco a questa criticità.
Questo è quanto emerge dall’intervento di due ricercatori alla conferenza hacker Defcon 16 svoltosi dal 10 al 16 agosto a Las Vegas.
“Stealing the Internet: a routed, Wide-Area, Man in the middle attack” è il titolo dell’intervento di Anton Kapela, ricercatore, data center e network director alla 4Nines Data e Alex Pilosov, ricercatore e CEO della Pilosoft, nella foto sopra.
La vulnerabilità della struttura del BGP è dibattuta da tempo.
Come si legge in rete su autorevoli blog (Attivissimo, PI, The Blog Herald e tanti altri) il Protocollo BGP reca con sè la genesi accademica della Rete (prestata ai militari per poi ritornare puramente accademica) quindi con problemi ben diversi da quelli a cui adesso deve fare fronte sullo scenario mondiale dell’Internet odierna.
L’assenza di autenticazione sullo scambio delle informazioni tra router è sempre stato alla base delle critiche mosse a questo algoritmo. E quando non c’è autenticazione può esserci MITM (man in the middle) e quando c’è MITM c’è eavesdropping, inevitabilmente.
Già nel lontano 1996 il governo americano aveva incaricato la BBN di sviluppare un protocollo più sicuro per il routing di frontiera perchè il BGP senza autenticazione avrebbe mostrato i suoi limiti con il crescere della crescita e diffusione della Rete.
Sette anni dopo, venne alla luce il progetto BBN’s Secure BGP che mostrava l’importanza di una Public Key Infrastracture (PKI, un’infrastruttura di autenticazione basata su chiave pubblica, certificati e algorimi asimmetrici di cifratura) affinchè si evitasse problemi di lettura e cattura del traffico (oggi aggiungiamo il dirottamento, ndr).
“The state of security in BGP is pretty minimal” disse Alex Zinin, l’allora direttore dell’area routing e sub-ip working group alla Internet Engineering Task Force (IETF). “As it is deployed today, there is no mechanism to authenticate and identify the authorization of a specific [routing information] announcement.”
I vincoli di risorse dei dispositivi, l’overhead degli stessi e l’investimento economico necessario ha fatto sì che il progetto BBN’s Secure BGP restasse in perenne “work in progress“.
Era l’anno 2003.
Estate 2008: Kapela e Pisolov presentano al DefCon quello che finora sembrava mancare: un “exploit” che scardini realmente il corretto funzionamento del BGP.
“Non abbiamo fatto nulla fuori dall’ordinario”, dicono i ricercatori su wired.com, “nessun bug, nessuna vulnerabilità implementativa. Il problema deriva dal livello di interconnettività necessario all’attuale sistema di routing per il suo corretto funzionamento”.
Ecco come funziona.
Una richiesta TCP/IP necessita di informazioni per instradare al meglio le informazioni fino al destinatario delle stesse.
Il router appartenente al provider dell’utente che effettua la richiesta consulta la tabella BGP per conoscere la rotta migliore (best route). Tale tabella viene costruita dinamicamente tramite annunci, “adventisement” eseguiti dai provider e da altre grandi reti – prendono il nome di Autonomous Systems, AS) dichiaranti il range degli indirizzi IP (o prefissi IP) ai quali loro sono in grado di ruotare il traffico.
La tabella di routing viene scandita per cercare l’indirizzo IP di destinazione tra i prefissi della tabella.
Quando due AS sono in grado di indirizzare la medesima richiesta (possono inoltrare al medesimo IP) viene valutato il prefisso più specifico (quello più ristretto).
Ad esempio, tra l’AS1 afferma di “servire” 200000 indirizzi IP e l’AS2 afferma di servirne solamente 3000, una richiesta verso un indirizzo IP che ricade in entrambi gli insiemi di IP annunciati, interviene il BGP forzando l’invio a quello più specifico dall’annuncio cioè con minori indirizzi IP.
Per intercettare i dati, il malintenzionato potrebbe annunciare un range di indirizzi IP più specifico (ristretto) rispetto a quello annunciati da altre network che “servono” lo stesso IP target del nostro interesse.
L’annuncio si propaga in pochi minuti in tutta la Rete.
Questo non sarebbe altro che un IP-Hijack, facilmente rilevabile.
Quanto invece presentato dai ricercatori sfrutta l’AS Path prepending, un attributo che influenza il percorso scelto dagli altri router, per inoltrare in modo silente i dati al reale destinatario.
Ciò, difatto, rende molto difficile il rilevamento senza dover analizzare molto attentamente le tabelle di routing e le loro continue modifiche.
Sono passati 12 anni da quando, nel 96, si era sollevato concretamente il problema indirizzandolo nella strada maestra dell’autenticazione.
Speriamo di solo non dover aspettare altrettanto per una soluzione ormai decisamente necessaria.