BGP hijacking

BGP hijacking (англ. BGP hijacking; также известен как угон префикса, угон маршрута или угон IP-адресов) — это несанкционированное присвоение групп IP-адресов путём искажения таблиц маршрутизации Интернета, которые поддерживаются с помощью протокола пограничного шлюза (Border Gateway Protocol, BGP)[1].

Предпосылки

Интернет — это глобальная сеть, позволяющая любому подключённому устройству, идентифицируемому по уникальному IP-адресу, обмениваться данными с любым другим устройством в мире. Это достигается передачей данных от одного маршрутизатора к другому, при этом каждый пакет шаг за шагом приближается к своему назначению, пока не будет доставлен. Для этого каждый маршрутизатор должен иметь актуальные таблицы маршрутизации. На глобальном уровне отдельные IP-адреса объединяются в префиксы, которые анонсируются и принадлежат автономным системам (АС). Таблицы маршрутизации между автономными системами поддерживаются с помощью протокола BGP (Border Gateway Protocol).

Группа сетей, работающих по единой внешней политике маршрутизации, называется автономной системой. Например, Sprint, Verizon и AT&T — каждая из них является своей автономной системой (АС). Каждая АС обладает уникальным идентификатором (AS-номером). BGP — стандартный протокол маршрутизации для обмена информацией о маршрутировании между автономными системами.

Каждая АС с помощью BGP объявляет (анонсирует) те префиксы, к которым может доставлять трафик. Например, если префикс находится внутри АС 64496, эта система будет сообщать своим провайдерам и/или пиринговым партнёрам, что может доставлять весь трафик, адресованный .

Хотя для BGP существуют расширения безопасности и сторонние базы данных для проверки маршрутов, по умолчанию BGP доверяет всем объявлениям маршрутов от пиров. Многие интернет-провайдеры не применяют строгую проверку сессий BGP.

Механизм

Угон IP-адресов может происходить намеренно или по ошибке несколькими способами:

  • Автономная система объявляет, что она владеет префиксом, который на самом деле ей не принадлежит.
  • Автономная система объявляет более конкретный префикс, чем настоящий анонсер.
  • Автономная система заявляет, что может доставить трафик к угнанному префиксу по более короткому маршруту, неважно, существует ли этот маршрут.

Общим последствием всех этих действий является нарушение нормальной маршрутизации сети: пакеты уходят в неверный сегмент сети и оказываются либо в бесконечных петлях (после чего отбрасываются), либо попадают под контроль злоумышленной АС.

Обычно интернет-провайдеры фильтруют BGP-трафик, разрешая анонсы IP-пространства только от своих клиентов. Однако история инцидентов угона показывает, что это соблюдается не всегда.

Инфраструктура публичных криптографических ключей ресурсов (RPKI) разработана для аутентификации исходных маршрутов через криптографическую цепочку сертификатов, подтверждающих право владения диапазонами адресов, однако внедрена пока не широко. После полноценного внедрения, угон IP через ошибочные или злонамеренные объявления должен стать обнаруживаемым и фильтруемым.

Угон IP-адресов иногда используется злоумышленниками для получения адресов в целях рассылки спама или проведения распределённых атак отказа в обслуживании (DDoS).

Когда маршрутизатор распространяет ошибочную информацию BGP о маршрутизации — намеренно или случайно — это определяется рабочей группой по техническим стандартам Интернета (IETF) в RFC 7908 как утечка маршрута. Эти утечки характеризуются как «распространение объявлений маршрутов за пределы их предполагаемой области действия. Иными словами, объявление одной автономной системы (АС) относительно изученного маршрута BGP другой АС противоречит политике получателя, отправителя и/или одной из промежуточных АС по пути». Причиной таких утечек служит давняя «системная уязвимость маршрутизационной системы протокола BGP»[2].

Угон BGP и проблемы транзитных АС

Подобно атакам TCP reset, перехват сессии подразумевает вторжение во внутреннюю BGP-сессию, когда злоумышленник успешно маскируется под одного из участников. Для атаки требуется та же информация, что и для reset-атаки, однако цель может быть иной: например, изменение маршрутов пира для прослушивания, блокировки трафика или анализа трафика.

По умолчанию пиры BGP стремятся добавить все полученные маршруты в свою таблицу маршрутизации и впоследствии анонсировать их дальше другим пирующим соседям. Это может привести к ситуации, когда организации с двумя и более подключениями случайно транслируют полученные из одной АС префиксы другой, и конечный потребитель оказывается новым «лучшим» маршрутом для данных префиксов.

Например, клиент с маршрутизатором Cisco, настроенным на пиринг одновременно с AT&T и Verizon и не использующим фильтрацию, может случайно связать двух крупнейших провайдеров между собой. В результате некоторые или все потоки трафика будут перенаправлены через клиента (например, по линии T1), вместо использования выделенных скоростных каналов между провайдерами. Аналогичные последствия возможны для иных организаций, пирующих с этими двумя провайдерами.

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

Суть BGP-угона заключается в выявлении интернет-провайдера, не фильтрующего анонсы (умышленно или по недосмотру), либо выявлении провайдера с уязвимой внутренней организацией сессий BGP, подверженных атакам типа «человек посередине». После выявления злоумышленник может объявить в BGP любой желаемый префикс, осуществив перехват некоторого или всего трафика. Это может стать как инструментом атаки на инфраструктуру провайдера, так и средством отказа в обслуживании (DoS) или имитации другого объекта. Отдельные атаки могут приводить к полной потере связи целых автономных систем.

В начале 2008 года, как сообщалось, трафик по меньшей мере восьми американских университетов был на 90 минут перенаправлен в Индонезию — этот инцидент не получил широкой огласки. В феврале 2008 года большая часть адресов YouTube была перенаправлена в Пакистан в результате решения Пакистанской комиссии по телекоммуникациям (PTA) заблокировать доступ к сайту внутри страны, однако путь к сервису был случайно «вычеркнут» из глобальной таблицы BGP.

Хотя механизмы фильтрации и защиты по MD5/TTL доступны практически во всех реализациях BGP (тем самым предотвращая корневые причины большинства атак), в реальности провайдеры практически никогда не фильтруют анонсы от других провайдеров — не существует единого и эффективного способа определить допустимые префиксы для каждой АС. Наказание за допуск неправильной маршрутизирующей информации варьируется: от простой фильтрации со стороны иных провайдеров до полного разрыва BGP-сессии с соседом (и прекращения пиринга); повторяющиеся инциденты обычно приводят к постоянному разрыву отношений. Даже если из-за одной мутной АС крупный провайдер отключит небольшого нарушителя, глобальная таблица BGP обычно перестраивается, и трафик будет маршрутизироваться через другие пути, пока все пиры не примут меры, либо пока ошибочная АС не устранит проблему.

Положительное применение концепции — механизм BGP-anycast: он часто используется для корневых DNS-серверов, позволяя нескольким узлам использовать один IP-адрес и обеспечивая дублирование и дополнительную защиту от DoS-атак без публикации сотен различных IP-адресов. Отличие состоит в том, что каждая точка реально владеет данными и правильно обслуживает запросы пользователей.

Публичные инциденты

  • Апрель 1997: инцидент AS 7007[3].
  • 24 декабря 2004: TTNet (Турция) осуществила массовый угон префиксов[4].
  • 7 мая 2005: сбой в работе Google.
  • 22 января 2006: Con Edison Communications угнала крупный сегмент адресов[5].
  • 24 февраля 2008: попытка блокировки YouTube в Пакистане привела к отключению сервиса по всему миру[6].
  • 11 ноября 2008: бразильский провайдер CTBC слил свою внутреннюю таблицу в глобальную BGP-сеть[7]. Инцидент длился более 5 минут, но был выявлен роут-сервером RIPE и практически не распространился за пределы клиентов самого провайдера.
  • 8 апреля 2010: китайский провайдер угнал значительную часть интернет-трафика[8].
  • Июль 2013: компания Hacking Team помогла полиции Италии восстановить доступ к заражённым устройствам после того, как у провайдера Santrex (префикс 46.166.163.0/24) отобрали маршруты. Совместно с Aruba S.p.A. (AS31034) они добились появления префикса в BGP для восстановления контроля[9].
  • Февраль—май 2014: атаки на биткоин- и криптовалютные майнинговые пулы через канадского провайдера; в 22 инцидентах трафик перенаправлялся на 30 секунд, похищены средства.
  • Январь 2017: цензура порно в Иране вызвала глобальные сбои в браузерах.
  • Апрель 2017: компания Rostelecom (AS12389) объявила в BGP 37 префиксов других АС, включая адреса финансовых институтов (MasterCard, Visa), телекоммуникационные компании и др. Инцидент длился 7 минут, но неясно, был ли трафик перехвачен[10][11].
  • Декабрь 2017: российская AS DV-LINK-AS (AS39523) объявила 80 крупных префиксов, в том числе адреса Google, Apple, Facebook, Microsoft, Twitch, NTT Communications, Riot Games и др.[12].
  • Апрель 2018: примерно 1 300 адресов Amazon Web Services, относящихся к Amazon Route 53, были угнаны через провайдера eNet (либо его клиента), а несколько пиринговых операторов, в том числе Hurricane Electric, неконтролируемо ретранслировали анонсы.
  • Июль 2018: телекоммуникационная компания Ирана (AS58224) объявила в BGP 10 префиксов Telegram Messenger.
  • Ноябрь 2018: подразделение China Telecom в США объявило адреса Google.
  • Май 2019: трафик публичного DNS Тайваня (TWNIC) был перенаправлен на бразильский AS268869.
  • Июнь 2019: большой объём европейского мобильного трафика был перенаправлен через China Telecom (AS4134)[13]. По данным, швейцарский провайдер SafeHost (AS21217) объявил около 40 000 маршрутов, изученных от других пиров, своему провайдеру China Telecom, который их ретранслировал[14].
  • Февраль 2021: Cablevision Mexico (AS28548) поначалу ошибочно слила 282 префикса, создав конфликты для 763 AS в 80 странах, позднее согласно данным Isolario было объявлено 7200 IPv4-префиксов для AS1874 — пострадали более 1290 AS в более чем 100 странах[15].
  • Апрель 2021: крупная утечка маршрутов из Индии: свыше 30 000 BGP-префиксов были объявлены через Vodafone Idea Ltd (AS55410), что вызвало 13-кратный всплеск трафика; затронуты адреса по всему миру, преимущественно в США (Google, Microsoft, Akamai, Cloudflare)[16].
  • Февраль 2022: злоумышленники угнали BGP-префиксы корейской криптобиржи, выпустили сертификат на домен через ZeroSSL и похитили криптовалюту на 1,9 млн долл.
  • Март 2022: RTComm угнала префикс, используемый Twitter.

Примечания

  1. Zhang, Zheng; Zhang, Ying; Hu, Y. Charlie; Mao, Z. Morley Практические методы защиты от угона BGP-префиксов (англ.). University of Michigan. Дата обращения: 24 июня 2024.
  2. Sriram, Kotikalapudi; Montgomery, Doug; McPherson, Danny R.; Osterweil, Eric; Dickson, Brian Определение проблемы и классификация утечек маршрутов BGP (июнь 2016). Дата обращения: 24 июня 2024.
  3. 7007: из первых уст. Дата обращения: 24 июня 2024. Архивировано 27 февраля 2009 года.
  4. Renesys Blog: Инциденты — почти катастрофа масштаба Интернета. Дата обращения: 24 июня 2024. Архивировано 28 февраля 2008 года.
  5. Con-Ed угоняет сеть — Dyn Research. Renesys.com (23 января 2006). Дата обращения: 24 июня 2024. Архивировано 8 марта 2013 года.
  6. Инцидент угона YouTube: исследование RIPE NCC. Дата обращения: 24 июня 2024. Архивировано 5 апреля 2008 года.
  7. Утечка в Бразилии — Dyn Research. Renesys.com. Дата обращения: 24 июня 2024. Архивировано 23 апреля 2013 года.
  8. Toonk, Andree Китайский провайдер захватил до 10 % Интернета. BGPmon.net (8 апреля 2010). Дата обращения: 24 июня 2024. Архивировано 15 апреля 2019 года.
  9. Как Hacking Team помогла итальянским спецслужбам с BGP-угоном (англ.). bgpmon.net. Дата обращения: 24 июня 2024. Архивировано 18 октября 2017 года.
  10. BGP Hijacking: анализ недавних инцидентов (англ.). noction.com (24 апреля 2018). Дата обращения: 24 июня 2024.
  11. BGPstream и странный случай AS12389 (англ.). bgpmon.net. Дата обращения: 24 июня 2024. Архивировано 21 октября 2020 года.
  12. Рождённые угонять. Qrator.Radar. Дата обращения: 24 июня 2024.
  13. Два часа значительная часть европейского мобильного трафика шла через Китай. ZDNet. Дата обращения: 24 июня 2024.
  14. Анализ крупного инцидента с утечкой маршрутов BGP. Дата обращения: 24 июня 2024.
  15. Siddiqui, Aftab Крупная утечка маршрутов от AS28548 — ещё один BGP-оптимизатор? (13 февраля 2021). Дата обращения: 24 июня 2024.
  16. Siddiqui, Aftab Крупная утечка маршрутов BGP от AS55410 (26 апреля 2021). Дата обращения: 24 июня 2024.

Литература

  • Murphy, Sean (январь 2006). “BGP Security Vulnerabilities Analysis”. RFC 4272 [англ.]. Дата обращения 2024-06-24. Проверьте дату в |date= (справка на английском)
  • Butler, Kevin (май 2010). “A Survey of BGP Security Issues and Solutions”. Proceedings of the IEEE [англ.]. 98 (7): 1005—1028. DOI:10.1109/JPROC.2010.2042410. Проверьте дату в |date= (справка на английском)

Ссылки

  • Qrator.Radar: система мониторинга BGP-соединений и безопасности в реальном времени.
  • Cyclops: инструмент аудита BGP-сетей по угонам префиксов и утечкам маршрутов, разработан UCLA.
  • NetViews: система визуализации топологии BGP и мониторинга угона IP в реальном времени от Университета Мемфиса (архив).
  • Is BGP Safe Yet?: список провайдеров, внедривших инфраструктуру публичных ключей ресурсов (RPKI).

Категории