Tuttu hè assai male o un novu tipu di intercepzioni di trafficu

13 di marzu à u gruppu di travagliu anti-abusu RIPE un'offerta hè stata ricevuta cunsiderà BGP hijacking (hjjack) cum'è una violazione di a pulitica RIPE. Se a pruposta hè stata accettata, u fornitore di Internet attaccatu da l'interceptazione di u trafficu avaristi l'uppurtunità di mandà una dumanda speciale per espose l'attaccante. Si l'équipe d'examen recueillait suffisamment de preuves à l'appui, le LIR qui était à l'origine de l'interception du BGP serait considéré comme un intrus et pourrait être dépouillé de son statut LIR. Ci era ancu qualchi argumenti contru à questu cambiamenti.

In questa publicazione vulemu dimustrà un esempiu di un attaccu induve ùn solu l'attaccante veru era in quistione, ma ancu tutta a lista di prefissi affettati. Inoltre, un tali attaccu torna torna dumande nantu à i mutivi per l'intercepzioni futuri di stu tipu di trafficu.

In l'ultimi dui anni, solu cunflitti cum'è MOAS (Multiple Origin Autonomous System) sò stati coperti in a stampa cum'è intercepzioni BGP. MOAS hè un casu speciale induve dui sistemi autonomi diffirenti publicità prefissi cunflitti cù ASN currispundenti in AS_PATH (u primu ASN in AS_PATH, in seguitu chjamatu ASN d'origine). Tuttavia, pudemu nome almenu 3 tipi supplementari interceptazione di u trafficu, chì permette à un attaccu di manipulà l'attributu AS_PATH per diversi scopi, cumpresu l'annullamentu di l'approcciu mudernu à u filtru è u monitoraghju. Tipu di attaccu cunnisciutu Pilosova-Kapely - l'ultimu tipu di tali intercepzioni, ma micca in tuttu in impurtanza. Hè abbastanza pussibule chì questu hè esattamente u tipu d'attaccu chì avemu vistu in l'ultime settimane. Un tali avvenimentu hà una natura comprensibile è cunsequenze abbastanza gravi.

Quelli chì cercanu a versione TL;DR ponu scorri à u sottutitulu "Attack Perfect".

U fondu di a rete

(per aiutà à capisce megliu i prucessi implicati in questu incidente)

Se vulete mandà un pacchettu è avete parechje prefissi in a tabella di routing chì cuntene l'indirizzu IP di destinazione, allora aduprà a strada per u prefissu cù a più longa durata. Se ci sò parechje rotte diffirenti per u stessu prefissu in a tavola di routing, sceglite u megliu (sicondu u megliu mecanismu di selezzione di a strada).

L'approcciu di filtru è di monitoraghju esistenti tentanu di analizà e rotte è di piglià decisioni analizendu l'attributu AS_PATH. U router pò cambià stu attributu à qualsiasi valore durante a publicità. Basta aghjunghje l'ASN di u pruprietariu à l'iniziu di AS_PATH (cum'è l'ASN d'origine) pò esse abbastanza per scaccià i meccanismi di verificazione di l'origine attuale. Inoltre, s'ellu ci hè una strada da l'ASN attaccatu à voi, diventa pussibule estrattà è aduprà l'AS_PATH di sta strada in i vostri altri publicità. Ogni verificazione di validazione AS_PATH solu per i vostri annunzii artighjanali sarà eventualmente passatu.

Ci hè ancu uni pochi di limitazioni chì vale a pena menzionate. Prima, in casu di filtrazione di prefissu da u fornitore upstream, a vostra ruta pò ancu esse filtrata (ancu cù u AS_PATH currettu) se u prefissu ùn appartene micca à u vostru cliente cunfiguratu in upstream. Siconda, un AS_PATH validu pò esse invalidu se a strada creata hè annunziata in direzzione incorrecta è, cusì, viola a pulitica di routing. Infine, qualsiasi rotta cù un prefissu chì viola a lunghezza ROA pò esse cunsiderata invalida.

Incidente

Uni pochi settimane fà avemu ricevutu una lagnanza da unu di i nostri utilizatori. Avemu vistu rotte cù i so prefissi d'origine ASN è /25, mentre chì l'utilizatore hà dichjaratu ch'ellu ùn li publicità micca.

TABLE_DUMP2|1554076803|B|xxx|265466|78.163.7.0/25|265466 262761 263444 22356 3491 2914 9121|INCOMPLETE|xxx|0|0||NAG||
TABLE_DUMP2|1554076803|B|xxx|265466|78.163.7.128/25|265466 262761 263444 22356 3491 2914 9121|INCOMPLETE|xxx|0|0||NAG||
TABLE_DUMP2|1554076803|B|xxx|265466|78.163.18.0/25|265466 262761 263444 6762 2914 9121|INCOMPLETE|xxx|0|0||NAG||
TABLE_DUMP2|1554076803|B|xxx|265466|78.163.18.128/25|265466 262761 263444 6762 2914 9121|INCOMPLETE|xxx|0|0||NAG||
TABLE_DUMP2|1554076803|B|xxx|265466|78.163.226.0/25|265466 262761 263444 22356 3491 2914 9121|INCOMPLETE|xxx|0|0||NAG||
TABLE_DUMP2|1554076803|B|xxx|265466|78.163.226.128/25|265466 262761 263444 22356 3491 2914 9121|INCOMPLETE|xxx|0|0||NAG||
TABLE_DUMP2|1554076803|B|xxx|265466|78.164.7.0/25|265466 262761 263444 6762 2914 9121|INCOMPLETE|xxx|0|0||NAG||
TABLE_DUMP2|1554076803|B|xxx|265466|78.164.7.128/25|265466 262761 263444 6762 2914 9121|INCOMPLETE|xxx|0|0||NAG||

Esempii di annunzii per u principiu di aprile 2019

NTT in u percorsu per u prefissu /25 face soprattuttu suspettu. LG NTT ùn era micca cunnisciutu di sta strada à u mumentu di l'incidentu. Allora iè, qualchì operatore crea un AS_PATH tutale per questi prefissi! A verificazione di altri routers revela un ASN particulari: AS263444. Dopu avè vistu altre rotte cù stu sistema autònumu, avemu scontru a seguente situazione:

TABLE_DUMP2|1554076800|B|xxx|265466|1.6.36.0/23|265466 262761 263444 52320 9583|IGP|xxx|0|0||NAG||
TABLE_DUMP2|1554076800|B|xxx|265466|1.6.38.0/23|265466 262761 263444 52320 9583|IGP|xxx|0|0||NAG||
TABLE_DUMP2|1554076800|B|xxx|265466|1.23.143.0/25|265466 262761 263444 22356 6762 9498 9730 45528|IGP|xxx|0|0||NAG||
TABLE_DUMP2|1554076800|B|xxx|265466|1.23.143.128/25|265466 262761 263444 22356 6762 9498 9730 45528|IGP|xxx|0|0||NAG||
TABLE_DUMP2|1554076800|B|xxx|265466|1.24.0.0/17|265466 262761 263444 6762 4837|IGP|xxx|0|0||NAG||
TABLE_DUMP2|1554076800|B|xxx|265466|1.24.128.0/17|265466 262761 263444 6762 4837|IGP|xxx|0|0||NAG||
TABLE_DUMP2|1554076800|B|xxx|265466|1.26.0.0/17|265466 262761 263444 6762 4837|IGP|xxx|0|0||NAG||
TABLE_DUMP2|1554076800|B|xxx|265466|1.26.128.0/17|265466 262761 263444 6762 4837|IGP|xxx|0|0||NAG||
TABLE_DUMP2|1554076800|B|xxx|265466|1.64.96.0/20|265466 262761 263444 6762 3491 4760|IGP|xxx|0|0||NAG||
TABLE_DUMP2|1554076800|B|xxx|265466|1.64.112.0/20|265466 262761 263444 6762 3491 4760|IGP|xxx|0|0||NAG||

Pruvate à indovinà ciò chì hè sbagliatu quì

Sembra chì qualchissia hà pigliatu u prefissu da a strada, u divisu in dui parti, è hà annunziatu a strada cù u listessu AS_PATH per quelli dui prefissi.

TABLE_DUMP2|1554076800|B|xxx|263444|1.6.36.0/23|263444 52320 9583|IGP|xxx|0|0|32:12595 52320:21311 65444:20000|NAG||
TABLE_DUMP2|1554076800|B|xxx|263444|1.6.38.0/23|263444 52320 9583|IGP|xxx|0|0|32:12595 52320:21311 65444:20000|NAG||
TABLE_DUMP2|1554076800|B|xxx|61775|1.6.36.0/23|61775 262761 263444 52320 9583|IGP|xxx|0|0|32:12595 52320:21311 65444:20000|NAG||
TABLE_DUMP2|1554076800|B|xxx|61775|1.6.38.0/23|61775 262761 263444 52320 9583|IGP|xxx|0|0|32:12595 52320:21311 65444:20000|NAG||
TABLE_DUMP2|1554076800|B|xxx|265466|1.6.36.0/23|265466 262761 263444 52320 9583|IGP|xxx|0|0||NAG||
TABLE_DUMP2|1554076800|B|xxx|265466|1.6.38.0/23|265466 262761 263444 52320 9583|IGP|xxx|0|0||NAG||
TABLE_DUMP2|1554076800|B|xxx|28172|1.6.36.0/23|28172 52531 263444 52320 9583|IGP|xxx|0|0||NAG||
TABLE_DUMP2|1554076800|B|xxx|28172|1.6.38.0/23|28172 52531 263444 52320 9583|IGP|xxx|0|0||NAG||

Esempi di rotte per una di e coppie di prefissi divisi

Parechje quistioni sorgenu à una volta. Qualchissia hà veramente pruvatu stu tipu d'intercepzioni in pratica? Qualchissia hà pigliatu sti rotte ? Chì prefissi sò stati affettati ?

Hè quì chì a nostra catena di fallimenti principia è ancu una altra volta di delusione cù u statu attuale di a salute di Internet.

A strada di u fallimentu

Prima cose prima. Cumu pudemu determinà quali routers accettanu tali rotte interceptate è quale u trafficu puderia esse rerouted oghje? Avemu pensatu chì avemu principiatu cù /25 prefissi perchè "simplicemente ùn ponu micca avè distribuzione globale". Comu pudete intuisce, eramu assai sbagliati. Questa metrica hè stata troppu rumorosa è e rotte cù tali prefissi ponu appare ancu da l'operatori Tier-1. Per esempiu, NTT hà circa 50 tali prefissi, chì distribuisce à i so clienti. Per d 'altra banda, sta metrica hè male perchè tali prefissi ponu esse filtrati se l'operatore usa filtrà i picculi prefissi, in tutti i sensi. Per quessa, stu metudu ùn hè micca adattatu per truvà tutti l'operatori chì u trafficu hè statu ridirettu per un tali incidente.

Un'altra bona idea chì avemu pensatu era di guardà Riceve. In particulare per e rotte chì violanu a regula maxLength di u ROA currispundente. In questu modu, pudemu truvà u numeru di diverse ASN d'origine cù status Invalid chì eranu visibili per un AS determinatu. Tuttavia, ci hè un prublema "picculu". A media (mediana è modalità) di stu numeru (u nùmeru d'ASN d'urighjini diffirenti) hè di circa 150 è, ancu s'ellu filtremu i picculi prefissi, ferma sopra à 70. Stu statu di l'affari hà una spiegazione assai simplice: ci sò solu un pochi operatori chì anu digià utilizatu filtri ROA cù una pulitica "reset Invalid routes" à i punti di ingressu, perchè induve una strada cù una violazione ROA appare in u mondu reale, pò propagate in tutte e direzzione.

L'ultimi dui avvicinamenti permettenu di truvà l'operatori chì anu vistu u nostru incidente (perchè era abbastanza grande), ma in generale ùn sò micca applicabili. Va bè, ma pudemu truvà l'intrusu ? Chì sò e caratteristiche generale di sta manipulazione AS_PATH? Ci sò uni pochi ipotesi basi:

  • U prefissu ùn era statu vistu in ogni locu prima;
  • ASN d'origine (ricordatu: primu ASN in AS_PATH) hè validu;
  • L'ultimu ASN in AS_PATH hè l'ASN di l'attaccante (in casu chì u so vicinu verifica l'ASN di u vicinu in tutte e rotte entranti);
  • L'attaccu vene da un solu fornitore.

Sì tutti i supposizioni sò curretti, allora tutte e rotte sbagliate presentanu l'ASN di l'attaccante (eccettu l'ASN d'origine) è, cusì, questu hè un puntu "criticu". Trà i veri pirate di l'altru era AS263444, ancu s'ellu ci era altri. Ancu quandu avemu scartatu i rotte incidenti da cunsiderazione. Perchè? Un puntu criticu pò esse criticu ancu per rotte currette. Pò esse sia u risultatu di una poca cunnessione in una regione o limitazioni in a nostra propria visibilità.

In u risultatu, ci hè un modu per detectà un attaccu, ma solu s'ellu sò tutte e cundizioni di sopra, è solu quandu l'intercepzione hè abbastanza grande per passà i limiti di monitoraghju. Se certi di sti fattori ùn sò micca scontri, allora pudemu identificà i prefissi chì anu patitu di tali intercepzioni? Per certi operatori - sì.

Quandu un attaccante crea una strada più specifica, un tali prefissu ùn hè micca annunziatu da u veru pruprietariu. Se tenete una lista dinamica di tutti i so prefissi da ellu, allora diventa pussibule di fà un paragone è truvà rotte più specifiche distorte. Cugliemu sta lista di prefissi utilizendu e nostre sessioni BGP, perchè ci sò datu micca solu a lista completa di rotte visibili per l'operatore avà, ma ancu una lista di tutti i prefissi chì vulete publicità à u mondu. Sfurtunatamente, ci sò avà parechje decine d'utilizatori di Radar chì ùn anu micca cumpletu l'ultima parte currettamente. Avemu avvisà li prestu è pruvà à risolve stu prublema. Tutti l'altri ponu unisce à u nostru sistema di surviglianza avà.

Se turnemu à l'incidentu uriginale, l'attaccante è l'area di distribuzione sò stati rilevati da noi per circà i punti critichi. Sorprendentemente, AS263444 ùn hà micca mandatu rotte fabbricate à tutti i so clienti. Ancu s'ellu ci hè un momentu straneru.

BGP4MP|1554905421|A|xxx|263444|178.248.236.0/24|263444 6762 197068|IGP|xxx|0|0|13106:12832 22356:6453 65444:20000|NAG||
BGP4MP|1554905421|A|xxx|263444|178.248.237.0/24|263444 6762 197068|IGP|xxx|0|0|13106:12832 22356:6453 65444:20000|NAG||

Un esempiu recente di un tentativu di intercepte u nostru spaziu di indirizzu

Quandu sò stati creati più specifichi per i nostri prefissi, un AS_PATH creatu apposta hè statu utilizatu. Tuttavia, questu AS_PATH ùn puderia micca esse pigliatu da alcuna di e nostre rotte precedenti. Ùn avemu mancu cumunicazione cù AS6762. Fighjendu à l'altri rotte in l'incidentu, alcuni anu avutu un veru AS_PATH chì era usatu prima, mentre chì altri ùn anu micca, ancu s'ellu s'assumiglia à u veru. Cambià AS_PATH in più ùn hà micca sensu praticu, postu chì u trafficu serà redirettu à l'attaccante in ogni modu, ma e rotte cù un AS_PATH "cattivu" ponu esse filtrati da ASPA o qualsiasi altru mecanismu d'ispezione. Quì pensemu à a motivazione di u hijacker. Attualmente ùn avemu micca abbastanza infurmazione per cunfirmà chì questu incidente era un attaccu pianificatu. Tuttavia, hè pussibule. Pruvemu d'imaginà, ancu s'ellu hè sempre ipoteticu, ma potenzalmentu abbastanza reale, una situazione.

Attaccu perfettu

Chì avemu ? Diciamu chì site un fornitore di transitu chì trasmette rotte per i vostri clienti. Se i vostri clienti anu parechje presenza (multihome), allora riceverete solu una parte di u so trafficu. Ma u più trafficu, più u vostru ingressu. Allora si cuminciate à publicità prefissi di subnet di sti stessi rotte cù u listessu AS_PATH, riceverete u restu di u so trafficu. In u risultatu, u restu di i soldi.

ROA aiutarà quì? Forse sì, se decide di piantà di usà completamente lunghezza max. Inoltre, hè assai indesevule per avè registri ROA cù prefissi intersecting. Per certi operatori, tali restrizioni sò inaccettabili.

In cunsiderà altri meccanismi di sicurezza di routing, ASPA ùn aiuterà micca ancu in questu casu (perchè usa AS_PATH da una strada valida). BGPSec ùn hè ancu micca una opzione ottima per via di i tassi d'adopzione bassi è a pussibilità restante di attacchi di downgrade.

Allora avemu un guadagnu chjaru per l'attaccu è una mancanza di sicurità. Gran mischju!

Chì deve fà?

U passu ovvi è più drasticu hè di rivisione a vostra pulitica di routing attuale. Rompe u vostru spaziu di indirizzu in i pezzi più chjuchi (senza sovrapposizioni) chì vulete publicità. Firma ROA per elli solu, senza aduprà u paràmetru maxLength. In questu casu, u vostru POV attuale pò salvà da un tali attaccu. Tuttavia, di novu, per certi operatori stu approcciu ùn hè micca ragiunate per via di l'usu esclusivu di rotte più specifiche. Tutti i prublemi cù u statu attuale di u ROA è l'ogetti di a strada seranu descritti in unu di i nostri materiali futuri.

Inoltre, pudete pruvà à monitorà tali intercepzioni. Per fà questu, avemu bisognu di informazioni affidate nantu à i vostri prefissi. Cusì, se stabilisce una sessione BGP cù u nostru cullettore è ci furnisce infurmazioni nantu à a vostra visibilità in Internet, pudemu truvà u scopu per altri incidenti. Per quelli chì ùn sò ancu cunnessi à u nostru sistema di surviglianza, per cumincià, una lista di rotte solu cù i vostri prefissi serà abbastanza. Sì avete una sessione cun noi, verificate chì tutte e vostre rotte sò state mandate. Sfurtunatamente, vale a pena ricurdà, perchè certi operatori scurdanu un prefissu o dui è cusì interferiscenu cù i nostri metudi di ricerca. S'ellu hè fattu bè, averemu dati affidabili nantu à i vostri prefissi, chì in u futuru ci aiuterà à identificà automaticamente è detectà questu (è altri) tipi di intercepzioni di trafficu per u vostru spaziu di indirizzu.

Sè diventate cuscenti di una tale interceptazione di u vostru trafficu in tempu reale, pudete pruvà à contru à voi stessu. U primu approcciu hè di publicità e rotte cù questi prefissi più specifichi. In casu di un novu attaccu à sti prefissi, repite.

U sicondu approcciu hè di punisce l'attaccante è quelli per quale ellu hè un puntu criticu (per boni rotte) tagliendu l'accessu di e vostre rotte à l'attaccante. Questu pò esse fattu aghjunghjendu l'ASN di l'attaccante à l'AS_PATH di i vostri vechji rotte è cusì furzà à evità chì AS utilizendu u mecanismu di deteczione di loop integratu in BGP. per u vostru propiu bè.

Source: www.habr.com

Add a comment