Kõik on väga halvasti või uus liik liikluse pealtkuulamist

13. märtsil esitati RIPE töötajate rühmale ettepanek, et kaaluda BGP-manipulatsiooni (hjjack) RIPE poliitikarikkumisena. Kui ettepanek aktsepteeritakse, saaks internetiteenuse pakkuja, kes on langenud liiklustõrke ohvriks, esitada spetsiaalse taotluse ründaja paljastamiseks. Kui ekspertrühm kogub piisavalt tõendavaid aineid, loetakse BGP-manipulatsiooni allikas rikkumiseks ja tal võib toimuma LIR-i staatuse kaotus. Mõningaid argumente kaaluda BGP-ösitamise (hjjack) käsitlemist RIPE poliitika rikkumisena. Kui ettepanek vastu võetakse, saaks internetiteenuse pakkuja, keda rünnati liikluse jälgimise teel, esitada erilise taotluse kurjategija paljastamiseks. Kui eksperdirühm kogub piisavalt tõendavaid andmeid, võiks selle BGP-ösitamise allikas LIR olla rikkumisega süüdistatav ja tal oleks võimalik LIR staatust kaotada. Samuti esitati mõned argumendid oli ka sellise vastu. muudatused.

Selles väljaandes tahame näidata ründevaba näite, kus küsimusele ei olnud mitme ründaja seas mitte ainult tegelik pahatahtlik, vaid ka kogu kannatavate eelistuste loetelu. Veelgi enam, selline rünnak tõstatab jälle küsimusi tulevaste liiklustõkete motiivide üle.

Viimase paariaasta jooksul on pressis kajastatud BGP-manipulatsioone peamiselt MOAS (Multiple Origin Autonomous System) konfliktide osana. MOAS on erijuht, kus kaks erinevat autonoomset süsteemi kuulutavad vastuolulisi eelistusi vastava ASN-numbri jaotuskava AS_PATH sees (esimene ASN AS_PATHis, edaspidi — origin ASN). Kuid me saame tuua välja vähemalt 3 täiendavat tüüpi liiklustõkkeid, mis võimaldavad ründajal AS_PATH-i atribuuti erinevatel eesmärkidel manipuleerida, sealhulgas ka tänapäevaste filtreerimise ja jälgimise meetodite ümberhindamiseks. Tuntud rünnaku Pilosova-Kapela on viimane sellise rünnaku liik, kuid mitte sugugi vähemtähtis. Tõenäoliselt oleme just sellist rünnakut jälginud viimastel nädalatel. Sellisel juhul on seletatav olemus ja piisavalt tõsised tagajärjed.

Need, kes otsivad TL;DR versiooni, võivad kerida pealkirjani "Täiuslik rünnak".

Võrgutaust

(et saaksite paremini mõista selles intsidentis osalenud protsesse)

Kui soovite paketti saata ja teil on mitu eelistust marsruuditabelis, mis sisaldavad siht-IP-aadressi, kasutate marsruuti, millel on maksimaalne pikkus. Kui aga marsruuditabelis on mitmeid erinevaid marsruute sama eelistuse jaoks, valite parima (vastavalt parima marsruudi valimise mehhanismile).

Praegused filtreerimise ja jälgimise lähenemised püüavad analüüsida marsruute ja teha otsuseid, analüüsides AS_PATH atribuuti. Marsruuter võib selle atribuudi ainuekspositsioonis muuta igasuguste koondite kaudu. Lihtsast ASN-i omaniku lisamisest AS_PATHi alguses (nagu origin ASN) võib piisata, et mööda minna praegustest allika kontrollimismehhanismidest. Veelgi enam, kui ründamisel on marsruut rünnatava ASN-i juurde, on võimalus selle marsruudi AS_PATHi kätte saada ja kasutada oma teiste kuulutustes. Iga autentimisprotsess AS_PATH-i jaoks teie muudetud kuulutustes saavutatakse lõpuks.

Samuti on mõned väärilised mainimistsükkimised. Esiteks, kui ülemine pakkuja filtreerib eelistusi, võib teie marsruut ikkagi blokeerida (isegi korrektsest AS_PATH-ist), kui eelistus ei kuulu teie kliendi koondisse, mis on seadistatud ülesvoo pakkujaga. Teiseks — kehtiv AS_PATH võib muutuda kehtetuks, kui loodud marsruut kuulutatakse vale suunaga, ja sellega rikutakse marsruutimise poliitikat. Ja lõpuks — iga marsruut, mille eelisus rikub ROA pikkust, võib olla kehtetu.

Incidents

Mõni nädal tagasi saime kaebuse ühelt kasutajalt. Nägime marsruute tema origin ASN-iga ja eelistustega /25, samas kui kasutaja väitis, et ta pole neid kuulutanud.

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||

Aprilli alguse kuulutuste näited

NTT teel eelistuseks /25 teeb selle eriti kahtlaseks. Selle intsidentide käigus ei teadnud LG NTT sellest marsruudist midagi. Ehkki jah, mõni operaator genereerib terve AS_PATH nende eelistuste jaoks! Kontollides teistes marsruuterites, saate tuvastada ühe erilisi ASN: AS263444. Vaadates teisi marsruute selle autonoomse süsteemi kohta, oleme kokku puutunud järgmise olukorraga:

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 eelistuse marsruudist, jaganud selle kaheks ja kuulutanud marsruudi sama AS_PATHiga 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||

Näited marsruutidest ühe jagatud eelistuse paari jaoks

Tõstatub mitu küsimust. Kas keegi on tegelikult proovinud sellist tüüpi manipulatsioone praktikas? Kas keegi on neid marsruute vastu võtnud? Millised eelistused olid mõjutatud?

Siit algab meie ebaõnnestumiste jada ja veel üks pettumuste ring praeguste interneti tervise seisukohalt.

Ebaõnnestumiste tee

Kõigist asjadest järjekorras. Kuidas saame määrata, millised ruuterid on selliseid häkitud marsruute vastu võtnud ja kelle liiklust saab juba täna suunata? Otsustasime alustada prefixidest /25, kuna need „ei saa lihtsalt globaalselt levida“. Kuidas te võite arvata - me eksisime tugevalt. See mõõdik osutus ülemäära lärmakaks ja sellised marsruudid võivad ilmneda isegi Tier-1 operaatoritelt. Näiteks, NTT-l on umbes 50 sellist prefixit, mida see levitab oma klientidele. Teisest küljest on see mõõdik halb, kuna sellised prefixid võivad olla filtreeritud, kui operaator rakendab väikeste prefixide filtrit, igas suunas. Seetõttu ei sobi see meetod kõikide operaatorite leidmiseks, kelle liiklus suunati sellise juhtumi tulemusena.

Veel üks hea idee oli vaadata POV. Eriti marsruutide osas, mis rikuvad vastava ROA maxLength reeglit. Nii saaksime leida erinevate origin ASN-de arvu, millel on invalid staatus ja mis olid antud AS-i nähtavad. Siiski on olemas "väike" probleem. Selle arvu (erinevate origin ASN-de) keskmine väärtus (mediaan ja mood) on umbes 150 ja isegi kui filtreerime väikesed prefixid välja, jääb see üle 70. See olukord on täiesti lihtsasti seletatav: on vaid mõned operaatorid, kes juba rakendavad ROA filtreid poliitikaga “lülita Invalid marsruudid välja” sisenemise punktides, seega sõltumata sellest, kus reaalses maailmas ilmub ROA rikkuv marsruut, võib see liikuda igas suunas.

Viimane kaks lähenemist võimaldab leida operaatorid, kes nägid meie juhtumit (sest see oli piisavalt suur), kuid üldiselt ei ole need rakendatavad. Hästi, aga kas saame leida kurjategijat? Millised on sellise AS_PATH manipuleerimise peamised omadused? On mitmeid põhilisi oletusi:

  • Prefixit ei ole varem kuskil märgatud;
  • Origin ASN (meeldetuletuseks: esimene ASN AS_PATH-is) on kehtiv;
  • Viimane ASN AS_PATH-is on ründaja ASN (kui tema naaber kontrollib naabri ASN mõlemas suunas saabuvatel marsruutidel);
  • Rünnak toimub ühe teenusepakkuja kaudu.

Kui kõik oletused on õiged, siis on kõikide vigaste marsruutide puhul esindatud kurjategija ASN (välja arvatud origin ASN) ja seega on see „kriitiline“ punkt. Tõeliste röövijate seas oli ka AS263444, kuigi oli ka teisi. Isegi kui me kõrvaldame rünnaku marsruudid arutelust. Miks? Kriitiline punkt võib jääda kriitiliseks, isegi õigete marsruutide puhul. See võib olla tingitud kas kehvast ühenduvusest mingis piirkonnas või meie enda nähtavuse piirangutest.

Kokkuvõttes: on viis kurjategijat avastada, kuid ainult juhul, kui enamik ülaltoodud tingimusi on täidetud ja ainult siis, kui haarang on piisavalt suur, et ületada jälgimise lävendi. Kui mõned neist teguritest ei vasta, siis kas saame eristada prefixe, mis on kannatanud sellise häkkimise all? Teatud operaatorite puhul – jah.

Kui ründaja loob more specific marsruudi, siis sellist prefixit ei kuulutata tõelise omanikuna. Kui teil on dünaamiline loend kõigist tema prefixidest, pakub see võimalust teha võrdlus ja leida moonutatud more specific marsruute. Kogume seda prefixide loendit läbi meie BGP sessioonide, kuna me saame mitte ainult täieliku nimekirja marsruutidest, mis operaatoril on praegu nähtavad, vaid ka loendi kõigist prefixidest, mida ta soovib maailmale kuulutada. Kahjuks on praegu mitukümmend Radar kasutajat, kes viimasest osast ei ole täielikult õiged. Peagi teavitame neid ja püüame selle probleemi lahendada. Teised võivad aga meie jälgimissüsteemiga liituda juba praegu.

Kui tagasi minna algse juhtumi juurde, siis nii ründaja kui ka leviala avastasime me kriitiliste punktide otsimise kaudu. Üllatav, kuid AS263444 ei saatnud vale marsruute kõigile oma klientidele. Kuigi on ka veelgi kummalisem aspekt.

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||

Hiljutine näide meie aadressiruumi ülevõtmise katsetest

Kui meie eelfikse jaoks loodi more specific'id, kasutati spetsiaalselt loodud AS_PATH'i. Kuid see AS_PATH'i ei saanud võtta üheltki meie varasemast marsruudist. Meil ei ole isegi ühendust AS6762-ga. Vaatame teisi marsruute intsidentis: mõnel neist oli tõeline AS_PATH, mida kasutati varem, teistel aga mitte, isegi kui see nägi välja nagu tõeline. AS_PATH'i täiendav muutmine ei oma mingit praktilist mõtet, kuna igal juhul suunatakse liiklus ründajale, kuid marsruudid, millel on "halb" AS_PATH, võivad olla ASPA või mõne muu kontrollimehhanismi poolt filtreeritud. Siin mõtleme ründaja motivatsioonile. Praegu puuduvad meil andmed, et väita, et see intsident oli plaanitud rünnak. Siiski — see on võimalik. Proovime kujutada ette isegi hüpoteetilist, kuid potentsiaalselt üsna reaalset olukorda.

Ideaalne rünne

Mida me omame? Oletame, et olete ülemteenuse pakkuja, kes edastab marsruute oma klientidele. Kui teie klientidel on mitmekordne kohalolek (multihome), siis saate ainult osa nende liiklusest. Kuid mida rohkem liiklust — seda rohkem tulu. Seetõttu, kui hakkate kuulutama nende samade marsruutide alaverkide eelfikse koos sama AS_PATH'iga, saate ülejäänud osa nende liiklusest. Tulemuseks on ülejäänud osa rahast.

Kas ROA aitab siin? Võib-olla, jah, kui otsustate täielikult loobuda kasutamisest maxLength. Lisaks on äärmiselt soovimatu omada ROA kirjeid, millel on kattuvad eelfiksid. Mõne operaatori jaoks on sellised piirangud vastuvõetamatud.

Vaadates muid marsruuditeenuste turvameetodeid, ei aita ASPA ka selles olukorras (kuna kasutatakse lubatud marsruudi AS_PATH'i). BGPSec ei ole endiselt optimaalne variant madala vastuvõtu protsendi ja jääva downgrade-rünnaku võimaluse tõttu.

Seega on meil ründajale selge kasum ja julgeoleku puudus. Suurepärane segu!

Mida teha?

Silm nähtav ja radikaalne samm on ülevaadata teie praegune marsruudi poliitika. Jagage oma aadressiruumi võimalikult väikesteks tükkideks (ilma üksteisega kattuvata), mida soovite kuulutada. Allkirjastage ROA ainult nende jaoks, mitte kasutades maxLength parameetrit. Sellisel juhul võib praegune POV teid kaitsta sarnase rünnaku eest. Kuid siiski, mõne operaatori jaoks ei ole selline lähenemine mõistlik, kuna nad kasutavad peamiselt more specific marsruute. Kõik praeguse ROA ja marsruudi objektide probleemid kirjeldatakse meie tulevastes materjalides.

Lisaks saate jälgida selliseid katkestusi. Selleks on meil vaja usaldusväärset teavet teie eelfikside kohta. Seega, kui loote BGP-seansi meie kollektsiooniga ja edastate meile teavet oma Interneti-nähtavuse kohta — saame leida leviala ka teiste intsidentide jaoks. Neile, kes ei ole veel meie jälgimisse süsteemis ühendatud — alguseks piisab meile ainult teie eelfikside marsruutide nimekirjast. Kui teil on meiega seanss, siis palun kontrollige, et kõik teie marsruudid oleksid edastatud. Kahjuks tuleb seda meelde tuletada, kuna mõned operaatorid unustavad ühe või kaks eelfikse ja loovad sellega takistusi meie otsingumeetoditele. Kui kõik õigesti teha, siis on meil usaldusväärseid andmeid teie eelfikside kohta, mis tulevikus aitavad automaatselt määrata ning tuvastada selliseid (ja teisi) liikluse katkestamise tüüpe teie aadressiruumi jaoks.

Kui saate reaalajas teada sellisest teie liikluse katkestamisest, võite proovida iseseisvalt vastu seista. Esimene lähenemine — kuulutada marsruute nende more specific eelfiksidega ise. Uue rünnaku korral nende eelfikside vastu — korrake.

Teine lähenemine — karistada ründajat ja neid, kelle jaoks ta on kriitiline punkt (heade marsruutide jaoks), katkestades teie marsruutide ligipääsu ründajale. Seda saab teha, lisades ründaja ASN teie vanade marsruutide AS_PATH'i ja sundides neid vältima seda AS'i, kasutades BGP sisseehitatud tsüklite tuvastamise mehhanismi. enda huvides.

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster