Что такое утечки маршрутов (route leaks)?
Определение утечки маршрутов
Утечка маршрутов (BGP route leak) — это один из типов инцидентов BGP, связанный с распространением анонсов маршрутов за пределы их предполагаемой области применения, в результате чего трафик перенаправляется через автономную систему (AS), ответственную за инцидент. Утечки маршрутов могут быть как преднамеренными, так и случайными, но чаще всего возникают из-за ошибок в конфигурации.
Как правило, данная проблема возникает, когда меньшая автономная система (AS) ошибочно передает маршруты, полученные от одного провайдера другому провайдеру. Как результат, небольшой оператор может случайно перенаправить через себя трафик магистральных провайдеров, что приводит к ряду негативных последствий (о них поговорим ниже).
Что такое протокол граничного шлюза (BGP) и как он работает?
Протокол граничного шлюза (Border Gateway Protocol, BGP) — это основной протокол маршрутизации, обеспечивающий обмен маршрутной информацией между автономными системами (AS) в интернете. Подобно системе почтовых индексов, BGP помогает направлять трафик, определяя, через какие сети он должен проходить, и оптимизировать маршруты с учетом текущего состояния сетей и политик маршрутизации.
Автономная система (Autonomous System, AS) — это совокупность IP-сетей, находящихся под управлением одной организации и использующих единую политику маршрутизации. Примерами AS могут служить интернет-провайдеры, корпоративные или университетские сети, а также сети государственных учреждений. Каждой AS присваивается уникальный номер автономной системы (Autonomous System Number, ASN), который используется для обмена маршрутной информацией между сетями.
Современный интернет состоит из десятков тысяч автономных систем, объединенных в сложную распределенную структуру. Без протокола вроде BGP найти оптимальный маршрут между ними было бы невозможно, поэтому BGP критически важен для устойчивой работы интернета.
Как работают утечки маршрутов и почему они происходят?
Утечку маршрутов можно сравнить с коротким замыканием в электрической цепи. В нормальных условиях маршруты BGP распространяются по заранее определенным политикам: провайдеры, клиенты и пиры обмениваются маршрутами в соответствии с соглашениями и логикой маршрутизации. Однако при утечке маршрутов трафик неожиданно перенаправляется по нежелательному направлению — как ток, который обходит основную цепь и идет по кратчайшему, но неправильному пути.
Обычно это происходит, когда небольшая автономная система (AS), получив маршруты от одного провайдера, по ошибке передает их другому провайдеру. В результате трафик между двумя крупными операторами может быть направлен через меньшую AS, которая не предназначена для обработки такого объема данных.
Последствия утечек маршрутов
Как и в случае короткого замыкания, утечка маршрутов не только нарушает нормальную работу системы, но и может повлечь за собой значительно более серьезные последствия, включая сбои в работе сервисов и риски безопасности.
- Увеличение задержки (RTT). Во время утечки маршрутов трафик может быть направлен по более длинному или менее эффективному направлению, что увеличивает сетевую задержку (RTT). Результатом может быть снижение качества работы сервисов, особенно чувствительных к задержкам — видеосвязи, онлайн-игр или финансовых систем.
- Перенаправление трафика через сторонние AS. Из-за утечки маршрутов трафик может быть направлен через нежелательные или вредоносные автономные системы, что создает условия для атак типа «человек посередине» (MitM) — с перехватом, анализом или подменой данных.
- Перегрузка сети и отказ в обслуживании (DoS). Перенаправление больших потоков данных через не предназначенную для этого AS может вызвать перегрузку, что в отдельных случаях приводит к отказу в обслуживании (DoS) и недоступности сервисов для легитимных пользователей.
Даже единичная утечка маршрутов может повлиять на значительные сегменты интернета. Именно поэтому крайне важно выявлять такие инциденты как можно раньше и оперативно на них реагировать.
Реальные примеры утечек маршрутов и их последствия
Утечки маршрутов — это не редкость и тем более не гипотетическая угроза: каждый день по всему миру фиксируются десятки подобных BGP-инцидентов. Ниже приведены несколько наиболее известных случаев, повлекших за собой серьезные последствия.
- Недоступность сервисов Google из-за утечки маршрутов в Нигерии. 12 ноября 2018 года ошибка в настройке маршрутизации у нигерийского провайдера MainOne (AS37282) привела к утечке маршрутов, в результате которой глобальный трафик к Google был перенаправлен через Китай, Россию и Нигерию. Из-за высокой нагрузки промежуточные сети не справились с объемом трафика, что сделало сервисы Google недоступными на 74 минуты для огромного количества пользователей.
- Глобальный сбой из-за утечки маршрутов в Малайзии. 12 июня 2015 года оператор Telekom Malaysia (AS4788) по ошибке начал анонсировать около 176 000 префиксов, полученных от клиентов и партнеров, провайдеру Level3 (AS3549). Level3, в свою очередь, распространил эти маршруты дальше своим клиентам и партнерам, из-за чего значительная часть мирового трафика была перенаправлена через Telekom Malaysia. Это привело к резкому росту задержек и массовым потерям пакетов, особенно в маршрутах между Азией и другими регионами. В результате инцидента пользователи по всему миру на протяжении двух часов сталкивались с серьезными сбоями и снижением скорости интернета.
Эти инциденты демонстрируют уязвимость глобальной маршрутизации — когда ошибка в настройках у одного оператора может вызвать серьезный сбой на другом конце мира.
Предотвращение и митигация утечек маршрутов BGP
Одной из ключевых уязвимостей протокола BGP является его доверительная модель: автономные системы обмениваются маршрутами, предполагая, что соседи передают только корректную информацию. Это упрощает глобальную маршрутизацию, но также создает риски — в том числе делает возможными утечки маршрутов, которые могут происходить как по ошибке, так и по злому умыслу.
Для защиты от BGP-перехватов (BGP hijacks) был разработан и уже достаточно широко применяется механизм RPKI ROA — система цифровых подписей, позволяющая проверить, авторизована ли AS анонсировать конкретный IP-префикс. Однако RPKI ROA не решает проблему утечек маршрутов.
Для предотвращения таких инцидентов требуется другой механизм — роли BGP (BGP Roles), описанный в стандарте RFC 9234. Он позволяет явно указывать тип отношений между соседними AS (например, провайдер-клиент) и на этой основе фильтровать аномальные маршруты. Однако данный механизм еще не получил широкого распространения, поэтому риск возникновения утечек маршрутов остается достаточно высоким. Как следствие, сетевым инженерам необходимо внимательно отслеживать инциденты и оперативно на них реагировать.
С этой задачей помогает справляться CURATOR.BGP — сервис мониторинга и аналитики BGP, который позволяет быстро обнаруживать сетевые аномалии, такие как утечки маршрутов и BGP-перехваты. Благодаря детальному анализу и системе уведомлений, CURATOR.BGP помогает своевременно выявлять инциденты, затрагивающие сеть заказчика, и минимизировать потенциальный ущерб.
Будьте в курсе наших новостей и продуктов!
Подпишитесь на ежемесячный обзор самых популярных идей Интернета от CURATOR!
Отправляя свой адрес электронной почты, вы соглашаетесь с политикой конфиденциальности