Gjithçka është shumë e keqe ose një lloj i ri i përgjimit të trafikut

13 mars grupit të punës kundër abuzimit RIPE është marrë një ofertë konsideroni rrëmbimin e BGP (hjjack) si shkelje të politikës RIPE. Nëse propozimi do të pranohej, ofruesi i internetit i sulmuar nga përgjimi i trafikut do të kishte mundësinë të dërgonte një kërkesë të veçantë për të ekspozuar sulmuesin. Nëse ekipi i rishikimit mblidhte prova të mjaftueshme mbështetëse, LIR që ishte burimi i përgjimit të BGP do të konsiderohej si ndërhyrës dhe mund të hiqej nga statusi i tij LIR. Kishte edhe disa argumente kundër kësaj ndryshimet.

Në këtë botim duam të tregojmë një shembull të një sulmi ku nuk flitej vetëm për sulmuesin e vërtetë, por edhe për të gjithë listën e prefikseve të prekura. Për më tepër, një sulm i tillë ngre sërish pikëpyetje për motivet e përgjimeve të ardhshme të këtij lloj trafiku.

Gjatë dy viteve të fundit, vetëm konfliktet si MOAS (Sistemi Autonom i Origjinës së Shumëfishtë) janë mbuluar në shtyp si përgjime BGP. MOAS është një rast i veçantë ku dy sisteme të ndryshme autonome reklamojnë parashtesa konfliktuale me ASN-të përkatëse në AS_PATH (ASN-ja e parë në AS_PATH, më poshtë referuar si ASN e origjinës). Megjithatë, ne mund të përmendim të paktën 3 lloje shtesë përgjimi i trafikut, duke lejuar një sulmues të manipulojë atributin AS_PATH për qëllime të ndryshme, duke përfshirë anashkalimin e qasjeve moderne për filtrim dhe monitorim. Lloji i njohur i sulmit Pilosova-Kapely - lloji i fundit i një përgjimi të tillë, por aspak në rëndësi. Është shumë e mundur që ky është pikërisht lloji i sulmit që kemi parë gjatë javëve të fundit. Një ngjarje e tillë ka një natyrë të kuptueshme dhe pasoja mjaft të rënda.

Ata që kërkojnë versionin TL;DR mund të lëvizin te titrat "Perfect Attack".

Sfondi i rrjetit

(për t'ju ndihmuar të kuptoni më mirë proceset e përfshira në këtë incident)

Nëse dëshironi të dërgoni një paketë dhe keni parashtesa të shumta në tabelën e rrugëzimit që përmban adresën IP të destinacionit, atëherë do të përdorni rrugën për prefiksin me gjatësinë më të madhe. Nëse ka disa rrugë të ndryshme për të njëjtin prefiks në tabelën e rrugëzimit, ju do të zgjidhni më të mirën (sipas mekanizmit më të mirë të përzgjedhjes së shtigjeve).

Qasjet ekzistuese të filtrimit dhe monitorimit përpiqen të analizojnë rrugët dhe të marrin vendime duke analizuar atributin AS_PATH. Ruteri mund ta ndryshojë këtë atribut në çdo vlerë gjatë reklamës. Thjesht shtimi i ASN-së së pronarit në fillim të AS_PATH (si ASN e origjinës) mund të jetë e mjaftueshme për të anashkaluar mekanizmat aktualë të kontrollit të origjinës. Për më tepër, nëse ka një rrugë nga ASN e sulmuar drejt jush, bëhet e mundur të nxirret dhe të përdoret AS_PATH e kësaj rruge në reklamat tuaja të tjera. Çdo kontroll i vërtetimit vetëm AS_PATH për njoftimet e tua të krijuara do të kalojë përfundimisht.

Ka ende disa kufizime që ia vlen të përmenden. Së pari, në rast të filtrimit të prefiksit nga ofruesi në rrjedhën e sipërme, itinerari juaj mund të filtrohet (edhe me AS_PATH të saktë) nëse prefiksi nuk i përket konit të klientit tuaj të konfiguruar në rrjedhën e sipërme. Së dyti, një AS_PATH e vlefshme mund të bëhet e pavlefshme nëse rruga e krijuar reklamohet në drejtime të pasakta dhe, në këtë mënyrë, shkel politikën e itinerarit. Së fundi, çdo rrugë me një parashtesë që shkel gjatësinë ROA mund të konsiderohet e pavlefshme.

Incident

Disa javë më parë morëm një ankesë nga një prej përdoruesve tanë. Ne pamë rrugë me origjinën e tij ASN dhe prefikset /25, ndërsa përdoruesi pretendonte se nuk i kishte reklamuar.

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

Shembuj të njoftimeve për fillimin e prillit 2019

NTT në shtegun për prefiksin /25 e bën atë veçanërisht të dyshimtë. LG NTT nuk ishte në dijeni të kësaj rruge në momentin e incidentit. Pra, po, disa operatorë krijon një AS_PATH të tërë për këto parashtesa! Kontrollimi në ruterat e tjerë zbulon një ASN të veçantë: AS263444. Pasi shikuam rrugët e tjera me këtë sistem autonom, hasëm situatën e mëposhtme:

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

Mundohuni të merrni me mend se çfarë nuk shkon këtu

Duket se dikush e ka marrë prefiksin nga itinerari, e ka ndarë në dy pjesë dhe e ka reklamuar itinerarin me të njëjtën AS_PATH për ato dy parashtesa.

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

Shembuj rrugësh për një nga çiftet e prefikseve të ndarë

Disa pyetje lindin njëherësh. A e ka provuar ndokush këtë lloj përgjimi në praktikë? A ka marrë dikush këto rrugë? Cilat parashtesa u prekën?

Këtu fillon vargu ynë i dështimeve dhe një raund tjetër zhgënjimi me gjendjen aktuale të shëndetit të internetit.

Rruga e dështimit

Gjërat e para në fillim. Si mund të përcaktojmë se cilët ruter pranuan rrugë të tilla të përgjuara dhe trafiku i kujt mund të ridrejtohej sot? Ne menduam se do të fillonim me parashtesa /25 sepse ato "thjesht nuk mund të kenë shpërndarje globale". Siç mund ta merrni me mend, gabuam shumë. Kjo metrikë doli të ishte shumë e zhurmshme dhe rrugët me parashtesa të tilla mund të shfaqen edhe nga operatorët Tier-1. Për shembull, NTT ka rreth 50 parashtesa të tilla, të cilat ua shpërndan klientëve të vet. Nga ana tjetër, kjo metrikë është e keqe sepse parashtesa të tilla mund të filtrohen nëse operatori përdor filtrimi i parashtesave të vogla, në të gjitha drejtimet. Prandaj, kjo metodë nuk është e përshtatshme për të gjetur të gjithë operatorët, trafiku i të cilëve është ridrejtuar si rezultat i një incidenti të tillë.

Një ide tjetër e mirë që menduam ishte ta shikonim POV. Sidomos për rrugët që shkelin rregullin e gjatësisë maksimale të ROA-së përkatëse. Në këtë mënyrë ne mund të gjenim numrin e ASN-ve me origjinë të ndryshme me status të pavlefshëm që ishin të dukshme për një AS të caktuar. Megjithatë, ka një problem "të vogël". Mesatarja (mediana dhe modaliteti) e këtij numri (numri i ASN-ve me origjinë të ndryshme) është rreth 150 dhe, edhe nëse filtrojmë parashtesa të vogla, ajo mbetet mbi 70. Kjo gjendje ka një shpjegim shumë të thjeshtë: ekzistojnë vetëm një pak operatorë që përdorin tashmë filtra ROA me politikën e "rivendosjes së rrugëve të pavlefshme" në pikat e hyrjes, kështu që kudo që një rrugë me shkelje ROA shfaqet në botën reale, ajo mund të përhapet në të gjitha drejtimet.

Dy qasjet e fundit na lejojnë të gjejmë operatorë që e panë incidentin tonë (pasi ishte mjaft i madh), por në përgjithësi ato nuk janë të zbatueshme. Mirë, por a mund ta gjejmë ndërhyrësin? Cilat janë tiparet e përgjithshme të këtij manipulimi AS_PATH? Ka disa supozime themelore:

  • Parashtesa nuk ishte parë askund më parë;
  • Origjina ASN (kujtesë: ASN-ja e parë në AS_PATH) është e vlefshme;
  • ASN-ja e fundit në AS_PATH është ASN-ja e sulmuesit (në rast se fqinji i tij kontrollon ASN-në ​​e fqinjit në të gjitha rrugët hyrëse);
  • Sulmi vjen nga një ofrues i vetëm.

Nëse të gjitha supozimet janë të sakta, atëherë të gjitha rrugët e pasakta do të paraqesin ASN-në ​​e sulmuesit (përveç origjinës ASN) dhe, kështu, kjo është një pikë "kritike". Ndër rrëmbyesit e vërtetë ishte AS263444, megjithëse kishte të tjerë. Edhe kur ne hoqëm nga shqyrtimi rrugët e incidentit. Pse? Një pikë kritike mund të mbetet kritike edhe për rrugët e duhura. Mund të jetë ose rezultat i lidhjes së dobët në një rajon ose kufizimeve në dukshmërinë tonë.

Si rezultat, ekziston një mënyrë për të zbuluar një sulmues, por vetëm nëse plotësohen të gjitha kushtet e mësipërme dhe vetëm kur përgjimi është mjaft i madh për të kaluar pragjet e monitorimit. Nëse disa nga këta faktorë nuk plotësohen, atëherë a mund të identifikojmë prefikset që pësuan nga një përgjim i tillë? Për operatorë të caktuar - po.

Kur një sulmues krijon një rrugë më specifike, një parashtesë e tillë nuk reklamohet nga pronari i vërtetë. Nëse keni një listë dinamike të të gjitha prefikseve të saj prej saj, atëherë bëhet e mundur të bëni një krahasim dhe të gjeni rrugë më specifike të shtrembëruara. Ne e mbledhim këtë listë të prefikseve duke përdorur sesionet tona BGP, sepse na jepet jo vetëm lista e plotë e rrugëve të dukshme për operatorin tani, por edhe një listë e të gjitha prefikseve që ai dëshiron t'i reklamojë botës. Fatkeqësisht, tani ka disa dhjetëra përdorues të Radarit që nuk e përfundojnë saktë pjesën e fundit. Ne do t'i njoftojmë së shpejti dhe do të përpiqemi ta zgjidhim këtë problem. Të gjithë të tjerët mund t'i bashkohen sistemit tonë të monitorimit që tani.

Nëse kthehemi te incidenti origjinal, si sulmuesi ashtu edhe zona e shpërndarjes u zbuluan nga ne duke kërkuar për pika kritike. Çuditërisht, AS263444 nuk dërgoi rrugë të fabrikuara për të gjithë klientët e saj. Edhe pse ka një moment të panjohur.

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

Një shembull i fundit i një përpjekjeje për të përgjuar hapësirën tonë të adresave

Kur u krijuan më specifike për prefikset tona, u përdor një AS_PATH i krijuar posaçërisht. Megjithatë, kjo AS_PATH nuk mund të ishte marrë nga asnjë nga rrugët tona të mëparshme. Ne nuk kemi as komunikim me AS6762. Duke parë rrugët e tjera në incident, disa prej tyre kishin një AS_PATH të vërtetë që ishte përdorur më parë, ndërsa të tjerët jo, edhe nëse duket si e vërteta. Ndryshimi i AS_PATH gjithashtu nuk ka ndonjë kuptim praktik, pasi trafiku do të ridrejtohet gjithsesi te sulmuesi, por rrugët me një AS_PATH "të keq" mund të filtrohen nga ASPA ose ndonjë mekanizëm tjetër inspektimi. Këtu mendojmë për motivimin e rrëmbyesit. Aktualisht nuk kemi informacion të mjaftueshëm për të konfirmuar se ky incident ishte një sulm i planifikuar. Megjithatë, është e mundur. Le të përpiqemi të imagjinojmë një situatë, megjithëse ende hipotetike, por potencialisht mjaft reale.

Sulmi perfekt

Çfarë kemi ne? Le të themi se jeni një ofrues tranziti që transmeton rrugë për klientët tuaj. Nëse klientët tuaj kanë prani të shumëfishtë (multihome), atëherë ju do të merrni vetëm një pjesë të trafikut të tyre. Por sa më shumë trafik, aq më shumë të ardhurat tuaja. Pra, nëse filloni të reklamoni prefikset e nënrrjetit të të njëjtave rrugë me të njëjtën AS_PATH, do të merrni pjesën tjetër të trafikut të tyre. Si rezultat, pjesa tjetër e parave.

A do të ndihmojë ROA këtu? Ndoshta po, nëse vendosni të ndaloni plotësisht përdorimin e tij gjatesia maksimale. Përveç kësaj, është shumë e padëshirueshme që të ketë regjistrime ROA me prefikse të kryqëzuara. Për disa operatorë, kufizime të tilla janë të papranueshme.

Duke marrë parasysh mekanizmat e tjerë të sigurisë së rrugëtimit, ASPA nuk do të ndihmojë as në këtë rast (sepse përdor AS_PATH nga një rrugë e vlefshme). BGPSec nuk është ende një opsion optimal për shkak të normave të ulëta të adoptimit dhe mundësisë së mbetur të sulmeve të uljes së klasifikimit.

Pra, ne kemi një përfitim të qartë për sulmuesin dhe mungesë sigurie. Përzierje e shkëlqyer!

Çfarë duhet të bëj?

Hapi i dukshëm dhe më drastik është të rishikoni politikën tuaj aktuale të rrugëtimit. Ndani hapësirën tuaj të adresës në pjesët më të vogla (pa mbivendosje) që dëshironi të reklamoni. Nënshkruani ROA vetëm për ta, pa përdorur parametrin maxLength. Në këtë rast, POV-ja juaj aktuale mund t'ju shpëtojë nga një sulm i tillë. Megjithatë, përsëri, për disa operatorë kjo qasje nuk është e arsyeshme për shkak të përdorimit ekskluziv të rrugëve më specifike. Të gjitha problemet me gjendjen aktuale të ROA dhe objekteve të rrugës do të përshkruhen në një nga materialet tona të ardhshme.

Përveç kësaj, mund të përpiqeni të monitoroni përgjime të tilla. Për ta bërë këtë, ne kemi nevojë për informacion të besueshëm në lidhje me prefikset tuaja. Kështu, nëse krijoni një seancë BGP me koleksionistin tonë dhe na jepni informacion në lidhje me dukshmërinë tuaj në internet, ne mund të gjejmë hapësirën për incidente të tjera. Për ata që nuk janë ende të lidhur me sistemin tonë të monitorimit, për të filluar, një listë e itinerareve vetëm me prefikset tuaja do të jetë e mjaftueshme. Nëse keni një seancë me ne, ju lutemi kontrolloni që të gjitha rrugët tuaja janë dërguar. Fatkeqësisht, kjo vlen të mbahet mend sepse disa operatorë harrojnë një ose dy parashtesë dhe kështu ndërhyjnë në metodat tona të kërkimit. Nëse bëhet si duhet, ne do të kemi të dhëna të besueshme për prefikset tuaja, të cilat në të ardhmen do të na ndihmojnë të identifikojmë dhe zbulojmë automatikisht këtë (dhe lloje të tjera) të përgjimit të trafikut për hapësirën tuaj të adresave.

Nëse viheni në dijeni të një përgjimi të tillë të trafikut tuaj në kohë reale, mund të përpiqeni ta kundërshtoni vetë. Qasja e parë është të reklamoni vetë rrugët me këto parashtesa më specifike. Në rast të një sulmi të ri në këto parashtesa, përsërisni.

Qasja e dytë është të ndëshkoni sulmuesin dhe ata për të cilët ai është një pikë kritike (për rrugë të mira) duke ndërprerë aksesin e rrugëve tuaja te sulmuesi. Kjo mund të bëhet duke shtuar ASN-në ​​e sulmuesit në AS_PATH të rrugëve tuaja të vjetra dhe në këtë mënyrë i detyroni ata të shmangin atë AS duke përdorur mekanizmin e integruar të zbulimit të ciklit në BGP për të mirën tuaj.

Burimi: www.habr.com

Shto një koment