13-мартта RIPE зомбулукка каршы жумушчу тобуна
Бул басылмада биз чабуулдун мисалын көрсөткүбүз келет, анда чыныгы чабуулчу гана эмес, ошондой эле жабыр тарткан префикстердин толук тизмеси. Мындан тышкары, мындай чабуул трафиктин бул түрүнө келечекте бөгөт коюунун мотивдери жөнүндө кайрадан суроолорду жаратат.
Акыркы эки жылдын ичинде басма сөздө MOAS (Multiple Origin Autonomous System) сыяктуу чыр-чатактар гана BGP тосмолору катары чагылдырылган. MOAS - бул эки башка автономдуу система AS_PATH ичиндеги тиешелүү ASN'лер менен карама-каршы келген префикстерди жарнамалаган өзгөчө учур (AS_PATH ичиндеги биринчи ASN, мындан ары ASN түпнуска деп аталат). Бирок, биз жок дегенде атай алабыз
TL;DR версиясын издегендер "Perfect Attack" субтитрине сыдырса болот.
Тармактык фон
(бул окуяга байланыштуу процесстерди жакшыраак түшүнүүгө жардам берүү үчүн)
Эгер сиз пакетти жөнөткүңүз келсе жана сизде көздөгөн IP дареги камтылган маршруттук таблицада бир нече префикстер болсо, анда сиз эң узун узундуктагы префикс үчүн маршрутту колдоносуз. Маршруттук таблицада бир эле префикс үчүн бир нече түрдүү маршруттар бар болсо, сиз эң жакшысын тандайсыз (мыкты жол тандоо механизмине ылайык).
Учурдагы чыпкалоо жана мониторинг ыкмалары AS_PATH атрибутун талдоо аркылуу маршруттарды талдоо жана чечимдерди кабыл алууга аракет кылат. Роутер жарнама учурунда бул атрибутту каалаган мааниге өзгөртө алат. Жөн гана AS_PATH башталышында ээсинин ASN'ин кошуу (ASN баштапкы катары) учурдагы келип чыгууну текшерүү механизмдерин айланып өтүү үчүн жетиштүү болушу мүмкүн. Андан тышкары, чабуулга учураган ASNден сизге багыт бар болсо, бул маршруттун AS_PATH жолун башка жарнамаларыңызда чыгарып, колдонууга болот. Түзүлгөн жарыяларыңыз үчүн AS_PATH гана текшерүү текшерүүлөрү акыры өтүп кетет.
Дагы эле айта кете турган бир нече чектөөлөр бар. Биринчиден, жогорудагы провайдер тарабынан префикстерди чыпкалоодо, эгер префикс жогоруда конфигурацияланган кардар конуска таандык болбосо, маршрутуңуз дагы эле чыпкаланышы мүмкүн (туура AS_PATH болсо да). Экинчиден, жарактуу AS_PATH жараксыз болуп калышы мүмкүн, эгерде түзүлгөн маршрут туура эмес багытта жарыяланып, ошентип, маршруттук саясатты бузса. Акырында, ROA узундугун бузган префикси бар бардык маршруттар жараксыз деп табылышы мүмкүн.
окуя
Бир нече жума мурун биз колдонуучуларыбыздын биринен арыз алдык. Биз анын ASN жана /25 префикстери бар маршруттарды көрдүк, ал эми колдонуучу аларды жарнамалаган эмес деп ырастады.
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||
2019-жылдын апрель айынын башталышы үчүн жарыялардын мисалдары
/25 префиксинин жолунда NTT аны өзгөчө шектүү кылат. Окуя болгон учурда LG NTT бул каттам тууралуу кабарсыз болгон. Ооба, кээ бир оператор бул префикстер үчүн бүтүндөй AS_PATH түзөт! Башка роутерлерди текшерүү бир ASNди көрсөтөт: AS263444. Бул автономдуу система менен башка маршруттарды карап чыккандан кийин, биз төмөнкү жагдайга туш болдук:
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||
Бул жерде эмне болуп жатканын болжолдоого аракет кылыңыз
Кимдир бирөө маршруттан префиксти алып, аны экиге бөлүп, ошол эки префикс үчүн ошол эле AS_PATH менен маршрутту жарнамалаган окшойт.
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||
Бөлүнгөн префикс жуптарынын бири үчүн мисал маршруттары
Бир эле учурда бир нече суроолор туулат. Кимдир бирөө чындыгында бул түрдөгү интервенцияны иш жүзүндө сынап көрдү беле? Кимдир бирөө бул жолдорду басып өттү? Кандай префикстер таасир этти?
Мына ушул жерден биздин каталар башталып, Интернеттин ден соолугунун учурдагы абалына көңүл калуунун дагы бир айлампасы башталат.
ийгиликсиздиктин жолу
Биринчи нерселер биринчи. Кайсы роутерлор ушундай тосулган каттамдарды кабыл алганын жана бүгүн кимдин трафиги өзгөрүшү мүмкүн экенин кантип аныктай алабыз? Биз /25 префикстеринен баштайлы деп ойлодук, анткени алар "жөн эле глобалдык жайылтууга ээ боло албайт". Сиз ойлогондой, биз абдан жаңылганбыз. Бул метрика өтө ызы-чуу болуп чыкты жана мындай префикстерге ээ маршруттар 1-тиркеме операторлорунан да пайда болушу мүмкүн. Мисалы, НТТде 50гө жакын ушундай префикстер бар, аларды өз кардарларына таратат. Башка жагынан алып караганда, бул көрсөткүч жаман, анткени оператор колдонсо, мындай префикстерди чыпкалоого болот
Биз ойлогон дагы бир жакшы идея карап көрөлү
Акыркы эки ыкма биздин окуяны көргөн операторлорду табууга мүмкүндүк берет (анткени ал абдан чоң болгон), бирок жалпысынан алар колдонулбайт. Макул, бирок кирүүчүнү таба алабызбы? Бул AS_PATH манипуляциясынын жалпы өзгөчөлүктөрү кандай? бир нече негизги божомолдор бар:
- Префикс мурда эч жерде көрүнгөн эмес;
- Origin ASN (эске салуу: AS_PATH ичиндеги биринчи ASN) жарактуу;
- AS_PATH ичиндеги акыркы ASN - чабуулчунун ASN'и (эгер анын кошунасы кошунасынын ASNын бардык кирүүчү каттамдар боюнча текшерсе);
- Кол салуу бир провайдерден келип чыгат.
Эгерде бардык божомолдор туура болсо, анда бардык туура эмес маршруттар чабуулчунун ASNин көрсөтөт (ASN келип чыгышынан тышкары) жана, демек, бул "критикалык" чекит. Чыныгы барымтачылардын арасында AS263444 болгон, бирок башкалар да болгон. Биз окуянын жолдорун кароодон алып салганда да. Неге? Критикалык чекит туура каттамдар үчүн да маанилүү бойдон калышы мүмкүн. Бул же аймактагы начар байланыштын натыйжасы же биздин көрүү мүмкүнчүлүгүбүздүн чектөөлөрү болушу мүмкүн.
Натыйжада, чабуулчуну аныктоонун жолу бар, бирок жогоруда айтылган шарттардын бардыгы аткарылганда гана жана бөгөт коюу мониторингдин босогосунан өтүү үчүн жетиштүү болгондо гана. Эгерде бул факторлордун айрымдары аткарылбаса, анда биз мындай тосмодон жапа чеккен префикстерди аныктай алабызбы? Кээ бир операторлор үчүн - ооба.
Чабуулчу конкреттүү маршрутту түзгөндө, мындай префикс чыныгы ээси тарабынан жарнамаланбайт. Эгерде сизде анын бардык префикстеринин динамикалык тизмеси болсо, анда салыштыруу жасап, бурмаланган конкреттүү маршруттарды табууга болот. Биз бул префикстердин тизмесин BGP сеанстарыбыздын жардамы менен чогултабыз, анткени бизге азыр операторго көрүнгөн каттамдардын толук тизмеси гана эмес, ошондой эле ал дүйнөгө жарыялагысы келген бардык префикстердин тизмеси берилген. Тилекке каршы, азыр акыркы бөлүгүн туура толтурбаган бир нече ондогон радар колдонуучулары бар. Биз аларга жакында кабарлап, бул маселени чечкенге аракет кылабыз. Башкалардын баары азыр биздин мониторинг системабызга кошула алышат.
Эгерде биз баштапкы окуяга кайрылсак, кол салган адамды да, бөлүштүрүүчү аймакты да критикалык пункттарды издөө аркылуу аныктадык. Таң калыштуусу, AS263444 өзүнүн бардык кардарларына жасалма маршруттарды жөнөткөн эмес. Бейтааныш учур болсо да.
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||
Биздин дарек мейкиндигин кармап калуу аракетинин акыркы мисалы
Биздин префикстерибиз үчүн конкреттүүлөрү түзүлгөндө, атайын түзүлгөн AS_PATH колдонулган. Бирок, бул AS_PATH мурунку маршруттарыбыздын биринен да алынышы мүмкүн эмес. AS6762 менен байланышыбыз да жок. Окуядагы башка маршруттарды карап көрсөк, алардын айрымдарында мурда колдонулган чыныгы AS_PATH бар болчу, ал эми башкалары чыныгыдай көрүнсө дагы, андай эмес. Кошумча AS_PATH өзгөртүү эч кандай практикалык мааниге ээ эмес, анткени трафик баары бир чабуулчуга багытталат, бирок "жаман" AS_PATH менен маршруттарды ASPA же башка текшерүү механизми аркылуу чыпкалоого болот. Бул жерде биз учакты басып алган адамдын мотивациясы жөнүндө ойлонобуз. Учурда бул окуянын пландалган кол салуу болгонун тастыктоо үчүн бизде жетиштүү маалымат жок. Ошого карабастан, бул мүмкүн. Келгиле, гипотетикалык, бирок потенциалдуу реалдуу жагдайды элестеткенге аракет кылалы.
Perfect Attack
Бизде эмне бар? Сиз кардарларыңыз үчүн транзиттик транзиттик провайдерсиз дейли. Эгерде сиздин кардарларыңыз бир нече үйгө ээ болсо (көп үй), анда сиз алардын трафигинин бир бөлүгүн гана аласыз. Бирок трафик канчалык көп болсо, ошончолук кирешеңиз көбөйөт. Ошентип, эгер сиз ошол эле AS_PATH менен ушул эле маршруттардын субнет префикстерин жарнамалай баштасаңыз, алардын трафигинин калган бөлүгүн аласыз. Натыйжада, калган акча.
ROA бул жерде жардам береби? Балким, ооба, эгер сиз аны толугу менен колдонууну токтотууну чечсеңиз
Башка маршруттук коопсуздук механизмдерин эске алганда, ASPA бул учурда да жардам бербейт (анткени ал жарактуу маршруттан AS_PATH колдонот). BGPSec дагы эле оптималдуу вариант эмес, анткени кабыл алуу темптери төмөн жана чабуулдарды төмөндөтүү мүмкүнчүлүгүнөн улам.
Ошентип, биз чабуулчу үчүн ачык пайдабыз жана коопсуздуктун жоктугу. Улуу микс!
Мен эмне кылышым керек?
Ачык жана эң катуу кадам - учурдагы маршруттук саясатыңызды карап чыгуу. Дарек мейкиндигиңизди жарнак кылгыңыз келген эң кичинекей бөлүктөргө бөлүңүз (кайталанбайт). maxLength параметрин колдонбостон, алар үчүн гана ROA кол коюңуз. Бул учурда, сиздин учурдагы POV сизди ушундай чабуулдан куткара алат. Бирок, дагы бир жолу, кээ бир операторлор үчүн бул ыкма бир кыйла конкреттүү маршруттарды эксклюзивдүү колдонуудан улам акылга сыярлык эмес. ROA жана маршруттук объекттердин учурдагы абалы менен байланышкан бардык көйгөйлөр биздин келечектеги материалдарыбыздын биринде баяндалат.
Мындан тышкары, сиз мындай тосмолорду көзөмөлдөөгө аракет кыла аласыз. Бул үчүн бизге префикстериңиз тууралуу ишенимдүү маалымат керек. Ошентип, эгерде сиз биздин коллекционер менен BGP сессиясын түзүп, интернетте көрүнүү мүмкүнчүлүгүңүз тууралуу маалымат берсеңиз, биз башка окуялардын чөйрөсүн таба алабыз. Биздин мониторинг тутумубузга али кошула элек адамдар үчүн, баштоо үчүн, сиздин префикстериңиз менен гана каттамдардын тизмеси жетиштүү болот. Эгерде сизде биз менен сессияңыз болсо, бардык каттамдарыңыз жөнөтүлгөнүн текшериңиз. Тилекке каршы, муну эстен чыгарбоо керек, анткени кээ бир операторлор бир же эки префиксти унутуп, ошону менен биздин издөө ыкмаларыбызга тоскоолдук кылышат. Эгер туура аткарылса, биз сиздин префикстериңиз тууралуу ишенимдүү маалыматка ээ болобуз, алар келечекте сиздин дарек мейкиндигиңиз үчүн трафиктин бул (жана башка) түрлөрүн автоматтык түрдө аныктоого жана аныктоого жардам берет.
Эгер сиз реалдуу убакытта трафикиңиздин мындай бөгөттөлүп жатканын байкасаңыз, ага өзүңүз каршы турууга аракет кылсаңыз болот. Биринчи ыкма - бул конкреттүү префикстер менен маршруттарды өзүңүз жарнамалоо. Бул префикстерге жаңы чабуул жасалган учурда, кайталаңыз.
Экинчи ыкма чабуулчуну жана ал үчүн маанилүү болгондорду жазалоо (жакшы маршруттар үчүн) чабуулчуга каттамдарыңыздын кирүү мүмкүнчүлүгүн кесип салуу. Бул чабуулчунун ASN'ин эски маршруттарыңыздын AS_PATH'ине кошуу менен жасалышы мүмкүн жана ошентип, BGPде орнотулган циклди аныктоо механизминин жардамы менен аларды ASдан качууга мажбурлайт.
Source: www.habr.com