13. martÄ RIPE ļaunprÄtÄ«gas izmantoÅ”anas apkaroÅ”anas darba grupai
Å ajÄ publikÄcijÄ mÄs vÄlamies parÄdÄ«t uzbrukuma piemÄru, kurÄ bija runa ne tikai par patieso uzbrucÄju, bet arÄ« visu ietekmÄto prefiksu sarakstu. TurklÄt Å”Äds uzbrukums atkal rada jautÄjumus par Å”Äda veida satiksmes pÄrtverÅ”anas motÄ«viem nÄkotnÄ.
PÄdÄjo pÄris gadu laikÄ presÄ kÄ BGP pÄrtverÅ”ana ir atspoguļota tikai tÄdi konflikti kÄ MOAS (vairÄkas izcelsmes autonomÄ sistÄma). MOAS ir Ä«paÅ”s gadÄ«jums, kad divas dažÄdas autonomas sistÄmas reklamÄ konfliktÄjoÅ”us prefiksus ar atbilstoÅ”iem ASN laukÄ AS_PATH (pirmais ASN laukÄ AS_PATH, turpmÄk saukts par izcelsmes ASN). TomÄr mÄs varam vismaz nosaukt
Tie, kas meklÄ TL;DR versiju, var ritinÄt lÄ«dz apakÅ”virsrakstam "Perfect Attack".
TÄ«kla fons
(lai palÄ«dzÄtu jums labÄk izprast ar Å”o incidentu saistÄ«tos procesus)
Ja vÄlaties nosÅ«tÄ«t paketi un marÅ”rutÄÅ”anas tabulÄ ir vairÄki prefiksi, kas satur galamÄrÄ·a IP adresi, tad marÅ”ruts tiks izmantots prefiksam ar garÄko garumu. Ja marÅ”rutÄÅ”anas tabulÄ vienam un tam paÅ”am prefiksam ir vairÄki dažÄdi marÅ”ruti, jÅ«s izvÄlÄsities labÄko (pÄc labÄkÄ ceļa izvÄles mehÄnisma).
EsoÅ”Äs filtrÄÅ”anas un uzraudzÄ«bas pieejas mÄÄ£ina analizÄt marÅ”rutus un pieÅemt lÄmumus, analizÄjot AS_PATH atribÅ«tu. ReklÄmas laikÄ marÅ”rutÄtÄjs var mainÄ«t Å”o atribÅ«tu uz jebkuru vÄrtÄ«bu. VienkÄrÅ”i pievienojot Ä«paÅ”nieka ASN AS_PATH sÄkumÄ (kÄ sÄkotnÄjÄ ASN), var pietikt, lai apietu paÅ”reizÄjos izcelsmes pÄrbaudes mehÄnismus. TurklÄt, ja ir marÅ”ruts no uzbrukuma ASN uz jums, kļūst iespÄjams izvilkt un izmantot Ŕī marÅ”ruta AS_PATH citÄs jÅ«su reklÄmÄs. Jebkura jÅ«su izstrÄdÄto paziÅojumu validÄcijas pÄrbaude, kas paredzÄta tikai AS_PATH, tiks izturÄta.
JoprojÄm ir daži ierobežojumi, par kuriem ir vÄrts pieminÄt. PirmkÄrt, ja prefiksu filtrÄ augÅ”Äjais pakalpojumu sniedzÄjs, jÅ«su marÅ”ruts joprojÄm var tikt filtrÄts (pat ar pareizo AS_PATH), ja prefikss nepieder jÅ«su klienta konusam, kas konfigurÄts augÅ”tecÄ. OtrkÄrt, derÄ«gs AS_PATH var kļūt nederÄ«gs, ja izveidotais marÅ”ruts tiek reklamÄts nepareizos virzienos un tÄdÄjÄdi pÄrkÄpj marÅ”rutÄÅ”anas politiku. Visbeidzot, jebkurÅ” marÅ”ruts ar prefiksu, kas pÄrkÄpj ROA garumu, var tikt uzskatÄ«ts par nederÄ«gu.
Incidents
Pirms dažÄm nedÄļÄm mÄs saÅÄmÄm sÅ«dzÄ«bu no viena no mÅ«su lietotÄjiem. MÄs redzÄjÄm marÅ”rutus ar viÅa izcelsmes ASN un /25 prefiksiem, savukÄrt lietotÄjs apgalvoja, ka viÅÅ” tos nereklamÄ.
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||
PaziÅojumu piemÄri 2019. gada aprīļa sÄkumam
NTT prefiksa /25 ceÄ¼Ä padara to Ä«paÅ”i aizdomÄ«gu. LG NTT incidenta brÄ«dÄ« nezinÄja par Å”o marÅ”rutu. TÄtad, jÄ, daži operatori Å”iem prefiksiem izveido visu AS_PATH! PÄrbaudot citus marÅ”rutÄtÄjus, tiek atklÄts viens konkrÄts ASN: AS263444. Apskatot citus marÅ”rutus ar Å”o autonomo sistÄmu, mÄs saskÄrÄmies ar Å”Ädu situÄciju:
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||
MÄÄ£iniet uzminÄt, kas Å”eit ir nepareizi
Å Ä·iet, ka kÄds paÅÄma prefiksu no marÅ”ruta, sadalÄ«ja to divÄs daļÄs un reklamÄja marÅ”rutu ar to paÅ”u AS_PATH Å”iem diviem prefiksiem.
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||
MarÅ”rutu piemÄri vienam no sadalÄ«tajiem prefiksu pÄriem
VienlaicÄ«gi rodas vairÄki jautÄjumi. Vai kÄds tieÅ”Äm ir izmÄÄ£inÄjis Å”o pÄrtverÅ”anas veidu praksÄ? Vai kÄds ir izgÄjis Å”os marÅ”rutus? KÄdi prefiksi tika ietekmÄti?
Å eit sÄkas mÅ«su neveiksmju virkne un vÄl viena vilÅ”anÄs kÄrta par paÅ”reizÄjo interneta veselÄ«bas stÄvokli.
Neveiksmes ceļŔ
PirmÄs lietas vispirms. KÄ mÄs varam noteikt, kuri marÅ”rutÄtÄji pieÅÄma Å”Ädus pÄrtvertos marÅ”rutus un kuru satiksmi Å”odien varÄtu novirzÄ«t? MÄs domÄjÄm, ka sÄksim ar /25 prefiksiem, jo āātiem "vienkÄrÅ”i nevar bÅ«t globÄla izplatÄ«Å”ana". KÄ jau nojauÅ”at, mÄs ļoti kļūdÄ«jÄmies. Å Ä« metrika izrÄdÄ«jÄs pÄrÄk trokÅ”Åaina, un marÅ”ruti ar Å”Ädiem prefiksiem var parÄdÄ«ties pat no 1. lÄ«meÅa operatoriem. PiemÄram, NTT ir aptuveni 50 Å”Ädu prefiksu, ko tÄ izplata saviem klientiem. No otras puses, Ŕī metrika ir slikta, jo Å”Ädus prefiksus var filtrÄt, ja operators izmanto
VÄl viena laba ideja, ko mÄs domÄjÄm, bija apskatÄ«t
PÄdÄjÄs divas pieejas ļauj mums atrast operatorus, kuri redzÄja mÅ«su incidentu (jo tas bija diezgan liels), taÄu kopumÄ tÄs nav piemÄrojamas. Labi, bet vai mÄs varam atrast iebrucÄju? KÄdas ir Ŕīs AS_PATH manipulÄcijas vispÄrÄ«gÄs iezÄ«mes? Ir daži pamata pieÅÄmumi:
- Prefikss iepriekÅ” nekur nebija redzÄts;
- Origin ASN (atgÄdinÄjums: pirmais ASN pa AS_PATH) ir derÄ«gs;
- PÄdÄjais AS_PATH ASN ir uzbrucÄja ASN (ja kaimiÅÅ” pÄrbauda kaimiÅa ASN visos ienÄkoÅ”ajos marÅ”rutos);
- Uzbrukuma avots ir viens pakalpojumu sniedzÄjs.
Ja visi pieÅÄmumi ir pareizi, tad visos nepareizajos marÅ”rutos tiks parÄdÄ«ts uzbrucÄja ASN (izÅemot sÄkotnÄjo ASN), un tÄdÄjÄdi tas ir "kritisks" punkts. Starp patiesajiem nolaupÄ«tÄjiem bija AS263444, lai gan bija arÄ« citi. Pat tad, kad mÄs izmetÄm incidentu marÅ”rutus no izskatÄ«Å”anas. KÄpÄc? Kritiskais punkts var palikt kritisks pat pareiziem marÅ”rutiem. Tas var bÅ«t vai nu slikta savienojuma rezultÄts reÄ£ionÄ, vai mÅ«su paÅ”u redzamÄ«bas ierobežojumi.
RezultÄtÄ ir veids, kÄ atklÄt uzbrucÄju, taÄu tikai tad, ja ir izpildÄ«ti visi iepriekÅ” minÄtie nosacÄ«jumi un tikai tad, ja pÄrtverÅ”ana ir pietiekami liela, lai pÄrsniegtu uzraudzÄ«bas sliekÅ”Åus. Ja daži no Å”iem faktoriem nav izpildÄ«ti, vai mÄs varam noteikt prefiksus, kas cieta no Å”Ädas pÄrtverÅ”anas? AtseviŔķiem operatoriem ā jÄ.
Kad uzbrucÄjs izveido konkrÄtÄku marÅ”rutu, patiesais Ä«paÅ”nieks Å”Ädu prefiksu nereklamÄ. Ja jums ir dinamisks visu tÄ prefiksu saraksts, tad kļūst iespÄjams veikt salÄ«dzinÄjumu un atrast izkropļotus, konkrÄtÄkus marÅ”rutus. MÄs apkopojam Å”o prefiksu sarakstu, izmantojot mÅ«su BGP sesijas, jo mums tiek dots ne tikai pilns operatoram Å”obrÄ«d redzamo marÅ”rutu saraksts, bet arÄ« visu to prefiksu saraksts, kurus tas vÄlas reklamÄt pasaulei. DiemžÄl tagad ir vairÄki desmiti radara lietotÄju, kuri nepabeidz pareizi pÄdÄjo daļu. MÄs viÅiem drÄ«zumÄ paziÅosim un mÄÄ£inÄsim atrisinÄt Å”o problÄmu. Visi pÄrÄjie Å”obrÄ«d var pievienoties mÅ«su uzraudzÄ«bas sistÄmai.
Ja atgriežamies pie sÄkotnÄjÄ incidenta, gan uzbrucÄju, gan izplatÄ«Å”anas apgabalu mÄs atklÄjÄm, meklÄjot kritiskos punktus. PÄrsteidzoÅ”i, AS263444 nesÅ«tÄ«ja izdomÄtus marÅ”rutus visiem saviem klientiem. Lai gan ir sveÅ”Äks brÄ«dis.
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||
Nesens piemÄrs mÄÄ£inÄjumam pÄrtvert mÅ«su adreÅ”u telpu
Kad mÅ«su prefiksiem tika izveidoti specifiskÄki, tika izmantots Ä«paÅ”i izveidots AS_PATH. TomÄr Å”o AS_PATH nevarÄja Åemt no neviena no mÅ«su iepriekÅ”Äjiem marÅ”rutiem. Mums pat nav saziÅas ar AS6762. AplÅ«kojot citus incidentÄ iekļautos marÅ”rutus, dažiem no tiem bija Ä«sts AS_PATH, kas tika izmantots iepriekÅ”, savukÄrt citiem nebija, pat ja tas izskatÄs pÄc Ä«stÄ. Mainot AS_PATH papildus nav nekÄdas praktiskas jÄgas, jo satiksme tik un tÄ tiks novirzÄ«ta uzbrucÄjam, taÄu marÅ”rutus ar āsliktuā AS_PATH var filtrÄt ar ASPA vai jebkuru citu pÄrbaudes mehÄnismu. Å eit mÄs domÄjam par nolaupÄ«tÄja motivÄciju. PaÅ”laik mums nav pietiekami daudz informÄcijas, lai apstiprinÄtu, ka Å”is incidents bija plÄnots uzbrukums. TomÄr tas ir iespÄjams. MÄÄ£inÄsim iztÄloties, lai arÄ« hipotÄtisku, bet potenciÄli diezgan reÄlu situÄciju.
IdeÄls uzbrukums
Kas mums ir? PieÅemsim, ka esat sabiedriskÄ transporta pakalpojumu sniedzÄjs, kas saviem klientiem apraida marÅ”rutus. Ja jÅ«su klientiem ir vairÄkas klÄtbÅ«tnes (vairÄkas mÄjas), jÅ«s saÅemsiet tikai daļu no viÅu trafika. Bet jo vairÄk satiksmes, jo lielÄki jÅ«su ienÄkumi. TÄtad, ja sÄkat reklamÄt Å”o paÅ”u marÅ”rutu apakÅ”tÄ«kla prefiksus ar to paÅ”u AS_PATH, jÅ«s saÅemsiet pÄrÄjo to trafiku. RezultÄtÄ pÄrÄjÄ nauda.
Vai ROA Å”eit palÄ«dzÄs? VarbÅ«t jÄ, ja nolemjat pilnÄ«bÄ pÄrtraukt tÄ lietoÅ”anu
Å emot vÄrÄ citus marÅ”rutÄÅ”anas droŔības mehÄnismus, ASPA arÄ« Å”ajÄ gadÄ«jumÄ nepalÄ«dzÄs (jo izmanto AS_PATH no derÄ«ga marÅ”ruta). BGPSec joprojÄm nav optimÄls risinÄjums zemÄ pieÅemÅ”anas lÄ«meÅa un atlikuÅ”Äs pazeminÄÅ”anas uzbrukumu iespÄjas dÄļ.
TÄtad mums ir skaidrs ieguvums uzbrucÄjam un droŔības trÅ«kums. Lielisks maisÄ«jums!
Ko man darīt?
AcÄ«mredzamÄkais un radikÄlÄkais solis ir pÄrskatÄ«t savu paÅ”reizÄjo marÅ”rutÄÅ”anas politiku. Sadaliet savu adreses vietu mazÄkÄs daļÄs (bez pÄrklÄÅ”anÄs), kuras vÄlaties reklamÄt. Parakstiet ROA tikai tiem, neizmantojot parametru maxLength. Å ajÄ gadÄ«jumÄ jÅ«su paÅ”reizÄjais POV var jÅ«s izglÄbt no Å”Äda uzbrukuma. TomÄr atkal dažiem operatoriem Ŕī pieeja nav saprÄtÄ«ga, jo tiek izmantoti tikai specifiskÄki marÅ”ruti. Visas problÄmas ar paÅ”reizÄjo ROA un marÅ”ruta objektu stÄvokli tiks aprakstÄ«tas vienÄ no mÅ«su turpmÄkajiem materiÄliem.
TurklÄt jÅ«s varat mÄÄ£inÄt uzraudzÄ«t Å”Ädu pÄrtverÅ”anu. Lai to izdarÄ«tu, mums ir nepiecieÅ”ama uzticama informÄcija par jÅ«su prefiksiem. TÄdÄjÄdi, ja jÅ«s izveidojat BGP sesiju ar mÅ«su savÄcÄju un sniedzat mums informÄciju par jÅ«su redzamÄ«bu internetÄ, mÄs varam atrast iespÄju citiem incidentiem. Tiem, kuri vÄl nav savienoti ar mÅ«su uzraudzÄ«bas sistÄmu, sÄkumÄ pietiks ar marÅ”rutu sarakstu tikai ar jÅ«su prefiksiem. Ja jums ir sesija ar mums, lÅ«dzu, pÄrbaudiet, vai visi jÅ«su marÅ”ruti ir nosÅ«tÄ«ti. DiemžÄl to ir vÄrts atcerÄties, jo daži operatori aizmirst vienu vai divus prefiksus un tÄdÄjÄdi traucÄ mÅ«su meklÄÅ”anas metodÄm. Ja tas tiks izdarÄ«ts pareizi, mums bÅ«s uzticami dati par jÅ«su prefiksiem, kas nÄkotnÄ palÄ«dzÄs mums automÄtiski identificÄt un atklÄt Å”o (un citus) trafika pÄrtverÅ”anas veidus jÅ«su adreÅ”u telpai.
Ja jÅ«s reÄllaikÄ pamanÄt Å”Ädu trafika pÄrtverÅ”anu, varat mÄÄ£inÄt to novÄrst pats. PirmÄ pieeja ir paÅ”am reklamÄt marÅ”rutus ar Å”iem specifiskÄkiem prefiksiem. Ja rodas jauns uzbrukums Å”iem prefiksiem, atkÄrtojiet.
Otra pieeja ir sodÄ«t uzbrucÄju un tos, kuriem viÅÅ” ir kritisks punkts (labiem marÅ”rutiem), pÄrtraucot piekļuvi jÅ«su marÅ”rutiem uzbrucÄjam. To var izdarÄ«t, pievienojot uzbrucÄja ASN jÅ«su veco marÅ”rutu AS_PATH un tÄdÄjÄdi piespiežot viÅus izvairÄ«ties no Ŕī AS, izmantojot BGP iebÅ«vÄto cilpas noteikÅ”anas mehÄnismu.
Avots: www.habr.com