Представьте, что кто угодно может захватить 1300 IP-адресов у крупного провайдера, перенаправить трафик, который должен идти через чужие службы DNS и украсть криптовалюту на $150 000. Бред? Но в апреле 2018-ого года такую аферу провернули с Amazon.

Причина восходит к BGP, протоколу маршрутизации, склеивающему весь Интернет воедино. Самое интересное, что он работает на доверии. И именно это привело к появлению BGP hijacking’а, умышленному или случайному захвату чужих IP-адресов. И если вы думаете, что случай с Amazon уникален, то вынуждены вас расстроить — Интернет куда хрупче, чем кажется на первый взгляд. Всю ситуацию раскрывает исследование APNIC, одного из пяти мировых Интернет-регистраторов.

Статья переведена с сайта APNIC (ссылка на оригинал). Знаком * отмечены редакторские вставки.

Автор статьи Франческо Сасси — аспирант в группе Systems Lab Римского университета Сапиенца. В сферу его научных интересов входят компьютерные системы и сетевая безопасность.

Параллельные жизни автономных систем (AS): распределение ASN в сравнении с BGP

Интернет включает в себя тысячи взаимосвязанных автономных систем (ASes).

Эти автономные системы существуют в двух измерениях - административном и операционном. Региональные Интернет-регистраторы (RIRs, * RIR на практике - база данных, содержащая информацию для координации действий интернет провайдеров) управляют первым, а BGP (Border Gateway Protocol/протокол граничного шлюза), *BGP - протокол для выбора кротчайшего пути до точки) - вторым.

Эти два измерения фактически живут в параллели. Тем не менее, каждое из них влияет друг на друга:

  • Для объявления префиксов в BGP (операционное), автономные системы должны получить ASN (номер автономной сети, * фактически ASN - id сети провайдера), который идентифицирует их уникальным образом (административное).

  • Если ASN не используется долгое время (операционное), например, несколько месяцев, Региональные Интернет-регистраторы могут отозвать его (административное), * что критично для 16битных номеров.

  • Когда RIR отзывает номер автономной сети (административное), его нельзя использовать в BGP (операционное). * Это не автоматизированный процесс, т.е. если вышеназначенный провайдер не уведомлен, что ASN переназначена, то все продолжит работать.

Хотя эти взаимодействия между передачей ASN и BGP могут казаться незамысловатыми, реальность на самом деле более сложная.

В нашей недавней исследовательской работе мы в Римском Университете Ла Сапиенца в сотрудничестве с CAIDA (UC San Diego) и MIT провели первое в своем роде исследование о том, как автономные сети появляются и ведут себя в этих двух измерениях. Мы стремились определить взаимосвязь этих двух измерений во времени и необычное поведение ASNs в обоих измерениях.

Выстраивая параллельные жизни

Чтобы выстроить административное измерение, в рамках этого исследования мы обработали все файлы передачи, опубликованные всеми RIRs с 2003 года. Эти файлы представляют собой снапшоты состояний интернет-ресурсов, включая ASNs.

Мы считали ASN административно „живым“ в данный день, если он отображался как „выделенный“ или „назначенный“ в соответствующем файле передачи, что означало, что номер автономной сети был передан организации в этот день. Как только мы находили некоторые противоречия в этих файлах (например, что ASN выделены сразу двум регистратором в одно и тоже время, что пропущены или дублированы записи и т.д.), мы начинали тщательный процесс реставрации, связанный с Региональными Интернет-регистраторами (RIRs), чтобы лучше понять их практику и снять неоднозначность в наиболее странных случаях.

Что касается операционного измерения, мы обработали данные BGP из Информационной службы маршрутизации RIPE и компиляторы Просмотров маршрутов BGP, используя CAIDA BGPStream, собирая более чем 930 миллиардов записей дампа RIB и 2,3 триллиона апдейтов. Мы считали ASN активным в плане BGP, если он появлялся в AS-PATH.

С учетом этих двух измерений мы разработали две линзы, которые можно было использовать вместе или по отдельности.

При индивидуальном использовании мы могли анализировать статус ASNs - когда они были „живы“, как много „жизней“ у них было, - а также исторические тенденции, включая описание эволюции Интернета по географическому принципу (дополнительные сведения смотрите в нашем докладе).

Однако при совместном использовании эти линзы становятся настолько мощными, что они позволяют нам находить интересные результаты при поиске несостыковок между двумя направлениями. Например, ошибки „большого пальца“ - это ошибки конфигурации из-за опечаток или ошибок операторов.

Опасайтесь больших пальцев … больших пальцев … больших пальцев!

В ходе нашего исследования мы обнаружили, что Региональные Интернет-регистраторы никогда не выделяли какой-либо организации 868 ASNs в BGP. Мы вручную исследовали почти 30% из них, найдя очевидные доказательства случаев неверной конфигурации.

Большинство опечаток „больших пальцев“, что мы обнаружили (76%), вызвали ошибки в добавлении к началу AS-PATH. При добавлении оператор может не отделить повторяющиеся инстансы ASN в пути. На рис. 1 показано два таких инстанса, где у S-PATHS с адресом начала AS32026 и AS28730 есть сосед, который фактически является их повтором.

*Пример:

В оставшихся 24% случаев мы наблюдали конфликты автономных сетей с несколькими источниками (MOAS), включая номера автономных сетей, что отличаются одной цифрой. К удивлению мы обнаружили, что эти события могут сохраняться несколько месяцев. Например, AS419333 появилась в BGP почти 10 месяцев назад (между ноябрем 2017 года и сентябрем 2018 года), став причиной MOAS с AS41933. Другой примером была AS363690, приведшая к MOAS с AS393690 почти на семь месяцев (между ноябрем 2018 года и июнем 2019 года).

Поиск статуса распределения ASNs, маршрутизируемых в BGP, может быть быстрым методом для определения опечаток „большого пальца“ и предоставлять операторам своевременные предупреждения о наличии ошибки в конфигурации.

Самозахват бездействующих ASNs

Налаживание двух линз также дает возможность определить ASNs, причастных к вредоносному поведению. Например, злоумышленник, который хочет незаметно перехватить префиксы BGP, может искать ASNs, которые в последнее время не были активны.

Мы подтвердили 76 таких случаев, используя собранную информацию из почтовых списков сетевых операторов, таких как NANOG, оповещений Twitter такими группами сетевой безопасности, как Spamhaus, мониторов маршрутизации, такими как BGPmon (*закрылись), и из прошлой работы.

Рисунок 3 показывает число префиксов, которые возникли с течением времени в некоторых из самых ярких случаев „спящих“ ASNs, что мы нашли, которые неожиданно стали активными в BGP. Коричневая линия показывает поведение AS10512, один из наиболее иллюстративных случаев самозахвата „спящей“ сети.

Между декабрем 2017 года и январем 2018 года AS10512 угнала префиксы Spectrum (AS11426), крупного провайдера широкополосного доступа в США. AS10512 была выделена более 17 лет назад до этого инцидента и никогда не объявляла префиксы BGP. Затем она была захвачена и использована для внезапного создания префиксов 60 /16.

Мы также заметили AS7449 (пурпурная линия), просыпающейся в BGP одновременно с AS10512 после многолетнего бездействия. Копаясь глубже в странном совпадении, мы обнаружили, что обе ASNs имели одинаковый прямой входной поток данных, AS203040, ASN печально известная как BGP Hijack Factory. Наиболее вероятно, что S203040 создала и поделилась со своими соседями фальшивыми BGP объявлениями с этими (угнанными) ASNs в качестве источников и собой в качестве первого хопа, маскируя себя под их транзит.

Читать: Shutting down the BGP Hijack Factory

Мы также выявили другую похожую атаку, включающую AS28071 и AS262916, которая поделилась тем же прямым входным потоком данных (AS52302)), который был отмечен как вредоносный в списке рассылки операторов Латинской Америки.

Восстановление неиспользуемых номеров ASN имеет значение

Как показано, угонщики всегда на шаг впереди, они тщательно выбирают бездействующие ASNs, чтобы сделать свои атаки более незаметными. В ходе нашего исследования мы обнаружили две категории ASNs, кажущихся бездействующими (выделенными, но не используемыми), которые могут использовать угонщики:

  1. ASNs со значительным лагом между окончанием активности BGP и их восстановлением, обычно больше 10 месяцев.

  2. ASNs, которые принадлежат организациям, которые сохраняли свои ASN-распределения, даже если они не используют их в BGP. Примеры таких организаций - Департамент защиты и воздушных сил США и компании, которые получили большие блоки ASN-распределений в ранние годы Интернета.

Эти результаты показывают, что более устойчивые к сбоям принципы по восстановлению ASNs, которые не использовались в течение длительного времени, принесут пользу экосистеме маршрутизации.

*А теперь представьте, что это может коснуться вас напрямую … Весь Интернет состоит из тысяч взаимосвязанных автономных систем (ASes).

А они существуют в двух измерениях - административном и операционном. RIRs и BGP.

Комментарии (3)


  1. CherryPah
    22.04.2022 16:54

    На скрине где aspath 3363 3362 3363 вполне может быть настроено осмысленно одним владельцем обеих AS (соседние номера намекают на единого noc), для удлинения пути и приоретизации трафика через другую нитку. Пиринговые войны как они есть.


    1. Kotofeus
      22.04.2022 19:43

      Насчет "войн" не знаю, но добавление prepends в AS-PATH очень распространенный прием, и наверное менее инвазивный нежели изменение weight.


    1. apkotelnikov
      23.04.2022 02:59

      Втретившийся два раза не подряд номер ASN в AS-PATH можно только "сгенерировать" на чем нибудь софтовом (exa/go bgp к примеру). Ибо одно из основных свойств BGP при получении маршрутной информации проверить нет ли своего номера ASN в AS-PATH и если есть, игнорировать префикс с таким AS-PATH для устранения routing loop.