13. märtsil esitas RIPE töörühm kuritarvituste vastu vaadata BGP-rikkumist (hjjack) RIPE poliitika rikkumisena. Kui ettepanek vastu võetakse, saaks rünnaku alla sattunud internetiteenuse pakkuja saata eraldi taotluse, et paljastada kurjategija. Kui ekspertgrupp kogub piisavalt kinnitavaid tõendeid, loetakse selline LIR, mis on BGP-rikkumise allikas, rikkumiks ja tal võidakse ära võtta LIR-i staatus. Oli ka mõned argumendid muudatused.
Käesolevas väljaandes soovime tuua näite rünnakust, kus kahtluse alla ei olnud mitte ainult tõeline kurjategija, vaid ka kogu kannatanud prefixide loetelu. Veelgi enam, selline rünnak tõstatab taas küsimusi tulevaste selliste rünnakute motiivide üle.
Viimase paari aasta jooksul on meedias BGP-rikkumistest kajastatud ainult MOAS (Multiple Origin Autonomous System) tüüpi konflikte. MOAS on üksikjuhtum, kus kaks erinevat autonoomset süsteemi kuulutavad vastuolulisi prefixe koos vastavate ASN-i numbritega AS_PATH-is (esimene ASN AS_PATH-is, edaspidi tekstis - origin ASN). Kuid me saame nimetada vähemalt liiklustõkestamist, mis võimaldab kurjategijal manipuleerida AS_PATH atribuudiga erinevatel eesmärkidel, sealhulgas tänapäevaste filtreerimis- ja jälgimismeetodite vältimiseks. Tuntud rünnaku tüüp on viimane sellise rikkumise tüüp, kuid mitte vähem tähtis. On täiesti võimalik, et just sellist rünnakut oleme jälginud viimastel nädalatel. See sündmus on seletatav ja piisavalt tõsiste tagajärgedega.
Need, kes otsivad TL;DR versiooni, võivad kerida alaosse „Täiuslik rünnak“.
Võrgustiku taust
(et te paremini mõistaksite antud juhtumis osalenu protsesse)
Kui soovite paketti saata ja teil on mitu prefixi marsruudil, mis sisaldavad siht IP-aadressi, kasutate marsruuti pikema prefixi jaoks. Kui aga marsruudil on mitu erinevat marsruuti ühele prefixile, valite parima (vastavalt parima marsruudi valimise mehhanismile).
Olemasolevad lähenemisviisid filtreerimisele ja jälgimisele püüavad analüüsida marsruute ja teha otsuseid, analüüsides AS_PATH atribuutit. Marsruutija võib selle atribuudi muuta milleks iganes reklaamimise ajal. Lihtne omaniku ASN-i lisamine AS_PATH-i algusesse (nagu originaal ASN) võib olla piisav, et mööda minna praegustest allika kontrolli mehhanismidest. Veelgi enam, kui rünnatava ASN-i ja teie vahel on marsruut, tekib võimalus selle marsruudi AS_PATH-i väljavõtmiseks ja kasutamiseks teie muudes reklaamides. Iga AINULT AS_PATH-i kontrollimine teie loodud reklaamide puhul läbib lõpuks kontrolli.
On veel mitmeid väärikaid mainimispiiranguid. Esiteks, kui teie marsruut filtreeritakse ülespoole suunatud teenusepakkuja poolt, võib teie marsruut ikkagi olla filtreeritud (isegi õigete AS_PATH-ide korral), kui eelistus ei kuulu teie kliendi koni, mis on ülesse suunatud konfigureeritud. Teiseks — valideeritud AS_PATH võib muutuda kehtetuks, kui loodud marsruut reklaamitakse vale suundades ja seega rikub marsruudipoliitikat. Ja viimasena — iga marsruut, mille eelistus rikub ROA pikkust, võib olla kehtetu.
Eps
Mõni nädal tagasi saime kaebuse ühelt kasutajalt. Me nägime marsruute tema originaal ASN-iga ja eelistustega /25, samas kui kasutaja kinnitas, et ta ei reklaami neid.
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||
Reklaamide näited aprilli algusest 2019
NTT puhul eelistus /25 teeb selle eriti kahtlaseks. Incidendi ajal ei teadnud LG NTT sellest marsruudist midagi. Nii et jah, mõni operaator loob terve AS_PATH nende eelistuste jaoks! Kontrollimine teistel marsruutijatel võimaldab tuvastada ühe erilise ASN-i: AS263444. Vaadates teiste selle autonoomse süsteemi marsruutide poole, sattusime järgmisse olukorda:
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||
Proovige ära arvata, mis siin valesti on
Tundub, et keegi on võtnud marsruudist eelistuse, jaganud selle kaheks ja reklaaminud marsruudi sama AS_PATH-iga nende kahe eelistuse jaoks.
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||
Marsruutide näited ühe jagatud eelistuse paari kohta
Tõuseb mitmeid küsimusi. Kas keegi on tõeliselt proovinud sellist tüüpi haaranguid praktikas? Kas keegi on neid marsruute vastu võtnud? Millised eelistused olid mõjutatud?
Siit algab meie ebaõnne ahel ja veel üks pettumuste voor Interneti praegustes oludes.
Ebaõnne tee
Vaatame asju järjekorras. Kuidas saame kindlaks teha, millised ruuterid on võtnud vastu sellised ülekasutatud marsruudid ja kelle liiklus võib juba täna ümber suunata? Me mõtlesime alustada prefiksidega /25, kuna need 'lihtsalt ei saa omada globaalset levikut'. Kuidas arvata — eksisime oluliselt. See mõõdik osutus liiga mürakaks ja selliste prefiksite marsruudid võivad ilmneda isegi Tier-1 operaatoridelt. Näiteks, NTT-l on umbes 50 sellist prefiksit, mida nad jagavad oma klientide vahel. Teiselt poolt on see mõõdik halb, kuna sellised prefiksid võivad olla filtreeritud juhul, kui operaator rakendab , kõikides suundades. Seetõttu ei sobi selline meetod kõigi operaatorite leidmiseks, kelle liiklus on sellise Incidendi tõttu ümber suunatud.
Veel üks hea idee oli uurida . Eriti marsruute, mis rikuvad vastava ROA maxLength reeglit. Nii saaksime leida erinevate originaali ASNide arvu, millel on Invalid olek, mis olid nähtavad antud AS-i kaudu. Sellegipoolest on olemas "väike" probleem. Selle arvu (erinevate originaal ASNide arvu) keskmine (mediaan ja mood) on umbes 150 ja isegi kui filtreerime väiksed prefiksid, jääb see üle 70. See olukord on üsna lihtsasti seletatav: on vaid mõned operaatorid, kes rakendavad juba ROA filtreid poliitikaga 'kehtetute marsruutide seadmine tagasi' sissesõidupunktides, seetõttu, kus iganes reaalses maailmas ilmub marsruut, mis rikub ROA, võib see levida kõikides suundades.
Viimased kaks lähenemist võimaldavad leida operaatoreid, kes nägid meie juhtumit (kuna see oli piisavalt suur), kuid üldiselt ei ole need rakendatavad. Hea, aga kas saame leida ründaja? Millised on sellise AS_PATH manipuleerimise tavalised omadused? On mitmeid põhiteesi:
- Prefiksit pole enne märgatud;
- Originaal ASN (meenutame: esimene ASN AS_PATHis) on kehtiv;
- Viimane ASN AS_PATHis on ründaja ASN (kui tema naaber kontrollib naabri ASN-i kõigis sisenenud marsruutides);
- Rünnak tuleb ühe teenusepakkuja käest.
Kui kõik eeldused on õiged, siis kätkeb kõigil ebaõigetel marsruutidel rünnaku ASN (välja arvatud originaal ASN) ja seega on see "kriitiline" koht. Tõeliste röövijate seas oli ka AS263444, kuigi oli ka teisi. Isegi kui heidame kõrvale juhtumi marsruudid. Miks? Kriitiline punkt võib jääda kriitiliseks isegi õigete marsruutide jaoks. See võib olla kas halb ühenduvus mõnes piirkonnas või meie enda nähtavuse piirangud.
Tulemus: on olemas viis tuvastada ründaja, kuid vaid juhul, kui kõik ülaltoodud tingimused on täidetud ja ainult siis, kui ülekuulamine on piisavalt suur, et ületada jälgimise läve. Kui mõni neist teguritest ei ole täidetud, kas saame eristada eeliseid, mis on sellise ülekuulamise tõttu kannatada saanud? Teatud operaatorite puhul – jah.
Kui ründaja loob more specific marsruudi, siis seda eelmist ei kuulutata tõelise omaniku poolt. Kui sul on sellelt dünaamiline nimekiri kõigist tema eelõigustest, on võimalik teha võrdlus ja leida moonutatud more specific marsruudid. Me kogume seda eelõiguste nimekirja meie BGP-seansside abil, kuna meile edastatakse mitte ainult täielik nimekiri marsruutidest, mida operaator hetkel näeb, vaid ka nimekiri kõigist eelõigustest, mida ta soovib maailmale kuulutada. Kahjuks on praegu mitu tosinat Radar'i kasutajat, kes viimane osa ei täida täielikult korrektselt. Peagi anname neile teada ja püüame selle probleemi lahendada. Kõik teised saavad liituda meie jälgimissüsteemiga juba praegu.
Kui naasta algse juhtumi juurde, siis nii ründaja kui ka leviala tuvastasime me kriitiliste punktide otsimise abil. Üllatav, kuid AS263444 ei saatnud vale marsruute kõigile oma klientidele. Kuigi on ka veelgi kummalisem punkt.
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||
Viimane näide meie aadressiruumi püüdmise katsest.
Kui meie prefiksite jaoks loodi more specific’id, kasutati spetsiaalselt loodud AS_PATH-i. Kuid seda AS_PATH-i ei saanud võtta üheltki meie varasemast marsruudist. Meil ei ole isegi ühendust AS6762-ga. Vaatame intsidendi teisi marsruute: mõned neist on varem kasutanud tõelist AS_PATH-i, teistel aga ei ole, isegi kui need näivad tõelisena. AS_PATH-i täiendav muutmine ei oma praktiliselt mingit mõtet, kuna igal juhul suunatakse liiklus ründajale, kuid „halva” AS_PATH-iga marsruudid võivad olla ASPA või mõne muu kontrollimise mehhanismi kaudu filtreeritud. Siin mõtleme röövli motivatsioonile. Hetkel puuduvad meil andmed, et kinnitada, et see intsident oli etteplaneeritud rünnak. Siiski on see võimalik. Proovime kujutada ette vähemalt hüpoteetilist, kuid potentsiaalselt üsna reaalset olukorda.
Ideaalne rünnak
Mida meil on? Oletame, et olete üleminekuteenuse pakkuja, kes edastab marsruute oma klientidele. Kui teie klientidel on mitmekesine kohalolek (multihome), saate te vaid osa nende liiklusest. Kuid mida rohkem liiklust, seda suurem on teie tulu. Seetõttu, kui hakkate reklaamima nende samade marsruutide alamvõrgu prefikseid sama AS_PATH-iga, saate ülejäänud osa nende liiklusest. Selle tulemusena ka ülejäänud raha.
Kas ROA siin aitaks? Võib-olla, jah, kui otsustate täielikult loobuda kasutamisest . Lisaks on selle juures äärmiselt soovimatu omada ROA-sid, millel on kattuvad prefiksid. Mõnede operaatorite jaoks on sellised piirangud vastuvõetamatud.
Vaadates muid marsruudikaitse mehhanisme, ei aita sel puhul ASPA samuti (kuna kasutatakse lubatud marsruudi AS_PATH-i). BGPSec pole endiselt optimaalseim lahendus madala vastuvõtmise protsendi ja jätkuva downgrade-rünnaku võimaluse tõttu.
Seega on meil selge kasu ründajale ja turvalisuse puudumine. Suurepärane segu!
Mida on vaja teha?
Ilmselt kõige radikaalsem samm on teie praeguse marsruutimise poliitika läbivaatamine. Jagage oma aadressiruumi võimalikult väikestesse osadesse (ilma ristumiste), mida kavatsete teavitada. Allkirjastage ROA ainult nende jaoks, vältides maxLength parameetri kasutamist. Sellisel juhul võib praegune POV teid sellise rünnaku eest päästa. Siiski, mõne operaatori jaoks ei pruugi selline lähenemine olla mõistlik, arvestades väga spetsiifiliste marsruutide erilist kasutamist. Kõik inimeste praeguse ROA ja marsruudiobjektide probleemid kirjeldatakse ühes meie tulevases materjalis.
Lisaks sellele võite proovida jälgida selliseid haaranguid. Selleks on meil vaja usaldusväärset teavet teie prefikside kohta. Seega, kui loote BGP sessiooni meie kollektoriga ja edastate meile teavet oma Interneti nähtavuse kohta – suudame leida ulatuse ka teiste intsidendide jaoks. Need, kes pole veel meie jälgimissüsteemiga ühendatud – alustuseks piisab meile teie prefiksite nimekirjast. Kui teil on meiega sessioon, palun kontrollige, kas kõik teie marsruudid on edastatud. Kahjuks tuleb sellest meelde tuletada, kuna osa operaatoritest unustavad ühe või kaks prefiksi, luues sellega takistusi meie otsingumeetoditele. Kui kõik õigesti teha, on meil usaldusväärsed andmed teie prefiksidest, mis aitavad tulevikus automaatselt tuvastada ja avastada selliseid (ja muid) liiklushaarangu tüüpe teie aadressiruumi jaoks.
Kui olete reaalajas teada saanud sellisest teie liikluse haarangust, võite proovida iseseisvalt vastupanu osutada. Esimene lähenemine on iseseisvalt teavitada marsruute nende spetsiifiliste prefiksidega. Juhul, kui rünnak uute prefiksite vastu kordub – korrake seda.
Teine lähenemine on karistada kurjategijat ja neid, kelle jaoks ta on kriitiline punkt (headest marsruutidest), katkestades teie marsruutide juurdepääsu kurjategijale. Seda saab teha, lisades kurjategija ASN AS_PATH-i teie vanades marsruutides, sundides neid vältima seda AS-i, kasutades BGP-s sisseehitatud tsüklite avastamise mehhanismi. .
Allikas: habr.com
