Барлығы өте нашар немесе трафикті тоқтатудың жаңа түрі

13 наурыз RIPE теріс пайдаланумен күрес жөніндегі жұмыс тобына ұсыныс түсті BGP ұрлауды (hjjack) RIPE саясатын бұзу ретінде қарастырыңыз. Егер ұсыныс қабылданса, трафикті тоқтату арқылы шабуылға ұшыраған интернет-провайдер шабуылдаушыны әшкерелеу үшін арнайы сұрау жіберу мүмкіндігіне ие болар еді. Тексеру тобы жеткілікті дәлелдемелерді жинаса, BGP кедергісінің көзі болған LIR зиянкес болып саналады және оның LIR мәртебесінен айырылуы мүмкін. Біраз даулар да болды бұған қарсы өзгерістер.

Бұл жарияланымда біз шабуылдың мысалын көрсеткіміз келеді, мұнда тек нақты шабуылдаушы ғана емес, сонымен бірге зардап шеккен префикстердің бүкіл тізімі де бар. Сонымен қатар, мұндай шабуыл трафиктің осы түрін болашақта ұстаудың себептері туралы тағы да сұрақтар тудырады.

Соңғы екі жылда баспасөзде тек MOAS (Multiple Origin Autonomous System) сияқты қақтығыстар BGP кедергілері ретінде жарияланды. MOAS - екі түрлі автономды жүйе AS_PATH ішіндегі сәйкес ASN-мен қайшы келетін префикстерді жарнамалайтын ерекше жағдай (AS_PATH ішіндегі бірінші ASN, бұдан әрі бастапқы ASN деп аталады). Дегенмен, біз кем дегенде атай аламыз 3 қосымша түрі шабуылдаушыға әртүрлі мақсаттар үшін, соның ішінде сүзгілеу мен бақылаудың заманауи тәсілдерін айналып өту үшін AS_PATH төлсипатын басқаруға мүмкіндік беретін трафикті тоқтату. Белгілі шабуыл түрі Пилосова-Капели - мұндай ұстаудың соңғы түрі, бірақ маңыздылығы мүлде емес. Соңғы аптада біз көрген шабуылдың дәл осындай болуы әбден мүмкін. Мұндай оқиғаның түсінікті сипаты және айтарлықтай ауыр салдары бар.

TL;DR нұсқасын іздейтіндер «Мінсіз шабуыл» субтитріне айналдыра алады.

Желі фоны

(осы оқиғаға қатысты процестерді жақсырақ түсінуге көмектесу үшін)

Егер сіз пакетті жібергіңіз келсе және сізде тағайындалған 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-деңгейдегі операторлардан да пайда болуы мүмкін. Мысалы, NTT-де 50-ге жуық осындай префикстер бар, ол өз клиенттеріне таратады. Екінші жағынан, бұл көрсеткіш нашар, себебі оператор пайдаланса, мұндай префикстерді сүзуге болады шағын префикстерді сүзу, барлық бағытта. Сондықтан бұл әдіс осындай оқиға нәтижесінде трафигі қайта бағытталған барлық операторларды табу үшін жарамайды.

Біз ойлаған тағы бір жақсы идея қарау болды POV. Әсіресе сәйкес ROA maxLength ережесін бұзатын маршруттар үшін. Осылайша біз берілген AS-ке көрінетін Жарамсыз күйі бар әртүрлі бастапқы ASN санын таба аламыз. Дегенмен, «кішігірім» мәселе бар. Бұл санның орташа (медиана және режимі) (әртүрлі шығу тегі ASN саны) шамамен 150 және тіпті кішігірім префикстерді сүзгіден өткізсек те, ол 70-тен жоғары болып қалады. Бұл жағдайдың өте қарапайым түсіндірмесі бар: тек бар. Кіру нүктелерінде «Жарамсыз маршруттарды қалпына келтіру» саясаты бар ROA-сүзгілерін пайдаланатын бірнеше операторлар, осылайша ROA бұзылған маршрут нақты әлемде қай жерде пайда болса, ол барлық бағытта тарай алады.

Соңғы екі тәсіл біздің оқиғаны көрген операторларды табуға мүмкіндік береді (өйткені ол өте үлкен болды), бірақ олар жалпы қолданылмайды. Жарайды, бірақ біз бұзушыны таба аламыз ба? Бұл 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 немесе кез келген басқа тексеру механизмі арқылы сүзуге болады. Бұл жерде біз ұшақты ұрлаушының мотивациясы туралы ойлаймыз. Бұл оқиғаның жоспарланған шабуыл екенін растау үшін бізде қазір жеткілікті ақпарат жоқ. Дегенмен, бұл мүмкін. Әлі де гипотетикалық болса да, бірақ әбден мүмкін болатын жағдайды елестетуге тырысайық.

Керемет шабуыл

Бізде не бар? Сіз өзіңіздің клиенттеріңіз үшін маршруттарды тарататын транзиттік провайдерсіз делік. Егер сіздің клиенттеріңізде бірнеше қатысу болса (көп үй), онда сіз олардың трафигінің бір бөлігін ғана аласыз. Бірақ трафик неғұрлым көп болса, соғұрлым сіздің табысыңыз көп болады. Сонымен, егер сіз сол маршруттардың ішкі желі префикстерін бірдей AS_PATH арқылы жарнамалай бастасаңыз, олардың трафигінің қалған бөлігін аласыз. Нәтижесінде ақшаның қалған бөлігі.

ROA осы жерде көмектеседі ме? Мүмкін иә, егер сіз оны пайдалануды толығымен тоқтатуды шешсеңіз maxLength. Бұған қоса, қиылысатын префикстері бар ROA жазбаларының болуы өте қажет емес. Кейбір операторлар үшін мұндай шектеулер қабылданбайды.

Басқа маршруттау қауіпсіздік механизмдерін ескере отырып, ASPA бұл жағдайда да көмектеспейді (өйткені ол жарамды маршруттан AS_PATH пайдаланады). BGPSec әлі де қабылдаудың төмен қарқынына және төмендетілген шабуылдардың қалған мүмкіндігіне байланысты оңтайлы нұсқа емес.

Сонымен, бізде шабуылдаушы үшін айқын пайда және қауіпсіздіктің жоқтығы бар. Тамаша микс!

Мен не істеуім керек?

Ағымдағы бағыттау саясатын қайта қарау айқын және ең күрделі қадам болып табылады. Мекенжай кеңістігін жарнамалағыңыз келетін ең кішкентай бөліктерге (қабаттасуларсыз) бөліңіз. maxLength параметрін пайдаланбай, тек олар үшін ROA белгісін қойыңыз. Бұл жағдайда ағымдағы POV сізді осындай шабуылдан құтқара алады. Дегенмен, тағы да айта кетейін, кейбір операторлар үшін бұл тәсіл нақтырақ маршруттарды эксклюзивті пайдалануға байланысты ақылға қонымды емес. ROA және маршрут объектілерінің ағымдағы күйіне қатысты барлық мәселелер біздің болашақ материалдарымыздың бірінде сипатталатын болады.

Сонымен қатар, сіз осындай ұстауды бақылауға тырысуға болады. Ол үшін префикстеріңіз туралы сенімді ақпарат қажет. Осылайша, біздің коллекторымызбен BGP сеансын орнатып, бізге Интернеттің көріну мүмкіндігі туралы ақпарат берсеңіз, біз басқа оқиғалардың ауқымын таба аламыз. Біздің бақылау жүйемізге әлі қосылмағандар үшін, бастау үшін тек сіздің префикстеріңіз бар маршруттар тізімі жеткілікті болады. Бізбен сеансыңыз болса, барлық маршруттарыңыздың жіберілгенін тексеріңіз. Өкінішке орай, мұны есте ұстаған жөн, себебі кейбір операторлар бір немесе екі префиксті ұмытып, іздеу әдістеріне кедергі жасайды. Егер дұрыс орындалса, бізде префикстер туралы сенімді деректер болады, бұл болашақта мекенжай кеңістігіңіз үшін трафикті тоқтатудың осы (және басқа да) түрлерін автоматты түрде анықтауға және анықтауға көмектеседі.

Егер сіз нақты уақыт режимінде трафикті бұзғаны туралы білсеңіз, оған өзіңіз қарсы тұруға тырысуға болады. Бірінші әдіс - осы нақты префикстермен маршруттарды өзіңіз жарнамалау. Осы префикстерге жаңа шабуыл жасалған жағдайда қайталаңыз.

Екінші тәсіл - шабуылдаушыны және ол үшін маңызды нүктені (жақсы маршруттар үшін) шабуылдаушыға сіздің маршруттарыңыздың кіруін кесу арқылы жазалау. Мұны ескі маршруттарыңыздың AS_PATH жолына шабуылдаушының ASN-ін қосу арқылы жасауға болады және осылайша оларды BGP жүйесіндегі кірістірілген циклды анықтау механизмі арқылы бұл AS-дан аулақ болуға мәжбүрлеуге болады. өзіңнің игілігің үшін.

Ақпарат көзі: www.habr.com

пікір қалдыру