Све је јако лоше или је нова врста пресретања саобраћаја

13. марта радној групи за борбу против злоупотребе РИПЕ примљена је понуда сматрајте БГП отмицу (хјјацк) као кршење РИПЕ политике. Уколико би предлог био прихваћен, интернет провајдер који је нападнут пресретањем саобраћаја имао би могућност да пошаље посебан захтев за разоткривање нападача. Ако би тим за преглед прикупио довољно доказа, ЛИР који је био извор БГП пресретања би се сматрао уљезом и могао би му се одузети ЛИР статус. Било је и неких аргумената против овога Промене.

У овој публикацији желимо да прикажемо пример напада где није у питању само прави нападач, већ и цела листа погођених префикса. Штавише, овакав напад поново поставља питања о мотивима за будућа пресретања ове врсте саобраћаја.

Током последњих неколико година, само су сукоби попут МОАС-а (Аутономни систем вишеструког порекла) били покривени у штампи као БГП пресретања. МОАС је посебан случај где два различита аутономна система рекламирају конфликтне префиксе са одговарајућим АСН-овима у АС_ПАТХ (први АСН у АС_ПАТХ, у даљем тексту изворни АСН). Међутим, можемо барем назвати 3 додатна типа пресретање саобраћаја, омогућавајући нападачу да манипулише атрибутом АС_ПАТХ у различите сврхе, укључујући заобилажење савремених приступа филтрирању и надгледању. Познати тип напада Пилосова-Капели - последња врста таквог пресретања, али нимало по важности. Сасвим је могуће да је то управо такав напад који смо видели протеклих недеља. Такав догађај има разумљиву природу и прилично озбиљне последице.

Они који траже ТЛ;ДР верзију могу да се померају до титла „Перфецт Аттацк“.

Мрежна позадина

(да бисмо вам помогли да боље разумете процесе укључене у овај инцидент)

Ако желите да пошаљете пакет и имате више префикса у табели рутирања која садржи одредишну ИП адресу, тада ћете користити руту за префикс са најдужом дужином. Ако у табели рутирања постоји неколико различитих рута за исти префикс, ви ћете изабрати најбољу (према најбољем механизму за избор путање).

Постојећи приступи филтрирању и праћењу покушавају да анализирају руте и доносе одлуке анализом АС_ПАТХ атрибута. Рутер може да промени овај атрибут на било коју вредност током оглашавања. Једноставно додавање власника АСН-а на почетку АС_ПАТХ (као изворног АСН-а) може бити довољно да се заобиђу механизми за проверу тренутног порекла. Штавише, ако постоји рута од нападнутог АСН-а до вас, постаје могуће издвојити и користити АС_ПАТХ ове руте у вашим другим огласима. Свака провера ваљаности само за АС_ПАТХ за ваша направљена обавештења ће на крају проћи.

Још увек постоји неколико ограничења која вреди поменути. Прво, у случају филтрирања префикса од стране упстреам провајдера, ваша рута може и даље бити филтрирана (чак и са исправним АС_ПАТХ) ако префикс не припада вашем клијентском конусу конфигурисаном на узводном нивоу. Друго, важећи АС_ПАТХ може постати неважећи ако је креирана рута рекламирана у погрешним правцима и, на тај начин, крши смернице рутирања. На крају, свака рута са префиксом који крши РОА дужину може се сматрати неважећом.

Incident

Пре неколико недеља примили смо притужбу једног од наших корисника. Видели смо руте са његовим пореклом АСН и /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 то чини посебно сумњивим. ЛГ НТТ није знао за ову руту у време инцидента. Дакле, да, неки оператер креира цео АС_ПАТХ за ове префиксе! Провера на другим рутерима открива један одређени АСН: АС263444. Након што смо погледали друге руте са овим аутономним системом, наишли смо на следећу ситуацију:

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

Покушајте да погодите шта овде није у реду

Изгледа да је неко узео префикс са руте, поделио га на два дела и рекламирао руту са истим АС_ПАТХ за та два префикса.

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 таквих префикса, које дистрибуира својим клијентима. С друге стране, ова метрика је лоша јер се такви префикси могу филтрирати ако оператер користи филтрирање малих префикса, у свим правцима. Стога, овај метод није погодан за проналажење свих оператера чији је саобраћај преусмерен као резултат оваквог инцидента.

Још једна добра идеја за коју смо мислили да је погледамо ПОВ. Посебно за руте које крше правило макЛенгтх одговарајућег РОА. На овај начин смо могли да пронађемо број различитих изворних АСН-ова са статусом Неважећи који су били видљиви датом АС-у. Међутим, постоји "мали" проблем. Просек (медијана и мод) овог броја (број АСН-ова различитог порекла) је око 150 и, чак и ако филтрирамо мале префиксе, остаје изнад 70. Ово стање ствари има врло једноставно објашњење: постоји само неколико оператера који већ користе РОА филтере са политиком „ресетовања неважећих рута“ на улазним тачкама, тако да где год се рута са кршењем РОА појави у стварном свету, може да се шири у свим правцима.

Последња два приступа нам омогућавају да пронађемо оператере који су видели наш инцидент (пошто је био прилично велики), али генерално нису применљиви. У реду, али можемо ли пронаћи уљеза? Које су опште карактеристике ове АС_ПАТХ манипулације? Постоји неколико основних претпоставки:

  • Префикс се нигде раније није видео;
  • Изворни АСН (подсетник: први АСН у АС_ПАТХ) је важећи;
  • Последњи АСН у АС_ПАТХ је нападачев АСН (у случају да његов сусед проверава суседов АСН на свим долазним рутама);
  • Напад потиче од једног провајдера.

Ако су све претпоставке тачне, онда ће све нетачне руте представљати нападачев АСН (осим изворног АСН-а) и, према томе, ово је „критична“ тачка. Међу правим отмичарима био је и АС263444, мада је било и других. Чак и када смо одбацили путеве инцидента из разматрања. Зашто? Критична тачка може остати критична чак и за исправне руте. То може бити или резултат лоше повезаности у региону или ограничења у нашој видљивости.

Као резултат тога, постоји начин да се открије нападач, али само ако су испуњени сви горе наведени услови и само када је пресретање довољно велико да пређе прагове за праћење. Ако неки од ових фактора нису испуњени, можемо ли онда идентификовати префиксе који су претрпели такво пресретање? За одређене оператере - да.

Када нападач креира одређенију руту, прави власник не оглашава такав префикс. Ако из њега имате динамичку листу свих његових префикса, онда постаје могуће направити поређење и пронаћи искривљене конкретније руте. Ову листу префикса прикупљамо користећи наше БГП сесије, јер нам је дата не само потпуна листа рута које су тренутно видљиве оператеру, већ и листа свих префикса које жели да рекламира свету. Нажалост, сада постоји неколико десетина корисника Радара који не заврше тачно последњи део. Ускоро ћемо их обавестити и покушати да решимо овај проблем. Сви остали могу одмах да се придруже нашем систему за праћење.

Ако се вратимо на првобитни инцидент, и нападача и подручје дистрибуције смо открили тражењем критичних тачака. Изненађујуће, АС263444 није послао измишљене руте свим својим клијентима. Иако постоји чуднији тренутак.

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

Недавни пример покушаја пресретања нашег адресног простора

Када су направљени конкретнији за наше префиксе, коришћен је посебно креиран АС_ПАТХ. Међутим, овај АС_ПАТХ није могао бити преузет ни са једне од наших претходних рута. Немамо чак ни комуникацију са АС6762. Гледајући друге руте у инциденту, неки од њих су имали прави АС_ПАТХ који је раније коришћен, док други нису, чак и ако изгледа као прави. Промена АС_ПАТХ додатно нема никаквог практичног смисла, пошто ће саобраћај ионако бити преусмерен на нападача, али руте са „лошим“ АС_ПАТХ могу бити филтриране помоћу АСПА или било којег другог механизма инспекције. Овде размишљамо о мотивацији отмичара. Тренутно немамо довољно информација да потврдимо да је овај инцидент био планирани напад. Ипак, могуће је. Покушајмо да замислимо, иако још увек хипотетичку, али потенцијално сасвим реалну ситуацију.

Перфецт Аттацк

Оно што имамо? Рецимо да сте транзитни провајдер који емитује руте за своје клијенте. Ако ваши клијенти имају вишеструко присуство (мултихоме), онда ћете добити само део њиховог саобраћаја. Али што је већи промет, већи је ваш приход. Дакле, ако почнете да оглашавате префиксе подмреже ових истих рута са истим АС_ПАТХ, добићете остатак њиховог саобраћаја. Као резултат тога, остатак новца.

Да ли ће РОА помоћи овде? Можда да, ако одлучите да га потпуно престанете користити максимална дужина. Поред тога, веома је непожељно имати РОА записе са префиксима који се укрштају. За неке оператере таква ограничења су неприхватљива.

Узимајући у обзир друге механизме безбедности рутирања, АСПА ни у овом случају неће помоћи (јер користи АС_ПАТХ са важеће руте). БГПСец још увек није оптимална опција због ниске стопе усвајања и преостале могућности напада на ниже верзије.

Дакле, имамо јасну корист за нападача и недостатак сигурности. Греат мик!

Шта да радим?

Очигледан и најдрастичнији корак је да преиспитате своју тренутну политику рутирања. Разбијте свој адресни простор на најмање делове (без преклапања) које желите да оглашавате. Потпишите РОА само за њих, без коришћења параметра макЛенгтх. У овом случају, ваш тренутни ПОВ вас може спасити од таквог напада. Међутим, опет, за неке оператере овај приступ није разуман због искључиве употребе специфичнијих рута. Сви проблеми са тренутним стањем РОА и објеката руте биће описани у једном од наших будућих материјала.

Поред тога, можете покушати да пратите таква пресретања. Да бисмо то урадили, потребне су нам поуздане информације о вашим префиксима. Стога, ако успоставите БГП сесију са нашим сакупљачем и пружите нам информације о вашој видљивости на Интернету, можемо пронаћи простор за друге инциденте. За оне који још нису повезани са нашим системом за праћење, за почетак ће бити довољна листа рута само са вашим префиксима. Ако имате сесију са нама, проверите да ли су све ваше руте послате. Нажалост, ово вреди запамтити јер неки оператери забораве префикс или два и тако ометају наше методе претраживања. Ако се уради исправно, имаћемо поуздане податке о вашим префиксима, који ће нам у будућности помоћи да аутоматски идентификујемо и откријемо ову (и друге) врсте пресретања саобраћаја за ваш адресни простор.

Ако постанете свесни таквог пресретања вашег саобраћаја у реалном времену, можете покушати сами да му се супротставите. Први приступ је да сами оглашавате руте са овим специфичнијим префиксима. У случају новог напада на ове префиксе, поновите.

Други приступ је да казните нападача и оне за које је он критична тачка (за добре руте) тако што ћете прекинути приступ ваших рута нападачу. Ово се може урадити додавањем нападачевог АСН-а на АС_ПАТХ ваших старих рута и на тај начин их присилити да избегну тај АС користећи уграђени механизам за детекцију петље у БГП-у за твоје добро.

Извор: ввв.хабр.цом

Додај коментар