1. Почему в BGP нет встроенной проверки происхождения

BGP был разработан для совместного Интернета, в котором всем участникам доверяли. Маршрутизатор принимает сообщение UPDATE и распространяет его без криптографической проверки того, что исходная AS действительно уполномочена объявлять эти IP-префиксы. Это означает, что любая AS — из-за неправильной конфигурации или злого умысла — может объявить чужие префиксы, и это объявление может распространиться по всему миру в течение нескольких минут.

Известные инциденты, ускорившие внедрение RPKI:

  • 2008 г. — «Пакистан Телеком»:PTCL случайно объявила о более конкретном префиксе для адресного пространства YouTube (208.65.153.0/24), заблокировав YouTube по всему миру примерно на 2 часа, прежде чем вышестоящие провайдеры отменили маршрут.
  • 2010 — «Чайна Телеком»:China Telecom создала около 50 000 префиксов, принадлежащих военным, государственным и коммерческим сетям США, в течение примерно 18 минут. Случайность или намеренность так и не были подтверждены.
  • 2018 г. — Взлом DNS Amazon Route 53:Злоумышленник использовал BGP для захвата адреса 205.251.196.0/24 (Amazon DNS), перенаправляя трафик криптовалютного кошелька для кражи средств. Атака использовала ОБНОВЛЕНИЕ BGP от eNet (AS10297).
  • 2019 г. — Европейский трафик перенаправлен через China Telecom:Европейский мобильный трафик (включая Vodafone и швейцарский Swisscom) был перенаправлен через China Telecom примерно на 2 часа из-за утечки маршрута BGP.

2. Иерархия доверия RPKI

РПКИ (RFC 6480) строит иерархию сертификатов X.509, отражающую способ делегирования пространства IP-адресов:

  1. ЯНАсодержит корневой якорь доверия. Он выдает сертификаты ресурсов пяти RIR (ARIN, RIPE NCC, APNIC, LACNIC, AFRINIC), каждый из которых охватывает свое адресное пространство.
  2. РИРывыдавать сертификаты своим членам (провайдерам Интернета, предприятиям) на адресное пространство, принадлежащее этим участникам.
  3. Членывыдавать сертификаты конечного объекта (EE) и подписыватьАвторизация источника маршрута(ROA) — подписанные свидетельства, разрешающие конкретному ASN создавать определенные префиксы.

Верификаторы загружают эту иерархию подписанных объектов из пяти репозиториев RIR (а также всех делегированных репозиториев), проверяют цепочку сертификатов и создают проверенную таблицу полезной нагрузки ROA (VRP). Затем маршрутизаторы запрашивают локальный кэш RPKI черезпротокол РТР (RFC 8210), чтобы получить эту таблицу и выполнить проверку происхождения входящих обновлений BGP.

3. Авторизация происхождения маршрута (ROA)

РОА (RFC 6482) — подписанный объект, содержащий три поля:

  • АСН: Автономная система, уполномоченная создать префикс.
  • Префикс: Авторизуемый префикс IP (IPv4 или IPv6).
  • максимальная длина: максимальная длина префикса, которую ASN имеет право объявлять. Если не указан, разрешен только точный префикс. Если для префикса /20 установлено, скажем, значение 24, ASN может также объявлять более конкретные значения между /20 и /24.
maxLength — распространенный вектор неправильной конфигурации.Установка maxLength = 32 (IPv4) или maxLength = 128 (IPv6) в ROA позволяет ASN объявлять любую более конкретную подсеть, включая маршруты хостов /32, которые могут быть использованы при перехвате. Рекомендация: установите для maxLength самый длинный префикс, который вы фактически объявляете (часто такой же, как длина префикса).

Один ROA может авторизовать несколько префиксов для одного и того же ASN, но один ROA не может авторизовать несколько ASN для одного префикса. Чтобы разрешить вторичному ASN (например, транзитному провайдеру или CDN) создавать ваш префикс, создайте отдельный ROA для этого ASN.

4. Состояния проверки

Когда маршрутизатор получает ОБНОВЛЕНИЕ BGP, он выполняет проверку источника (RFC 6811) против своей локальной таблицы VRP:

СостояниеСостояниеТипичное лечение с учетом местных предпочтений
ДействительныйПо крайней мере, один ROA охватывает префикс (префикс ⊆ префикс ROA И длина префикса ≤ maxLength), И ASN ROA соответствует исходному ASN BGP UPDATE.+20 или предпочтительно (обычно)
НеверныйПо крайней мере один ROA покрывает префикс, но ни один покрывающий ROA не имеет соответствующего ASN и maxLength ≥ объявленной длины префикса.Установить local-pref 0 или удалить (выбор оператора; RFC 6811 рекомендует разрешить, но отметить)
Не найденоНе существует ROA, охватывающего объявленный префикс.Без изменений (рассматривается так же, как и до существования RPKI)

Ключевое понимание:Неверныйявляется более сильным доказательством проблемы, чемНе найдено. NotFound просто означает, что владелец префикса еще не создал ROA. Недействительно означает, что существует ROA, говорящий, что этот ASN являетсянетавторизован — сильный сигнал о неправильной настройке или взломе.

5. Протокол РТР

Маршрутизаторы сами не проверяют цепочки сертификатов X.509 — это требует больших вычислительных затрат и требует хранения полного кэша RPKI. Вместо этого выделенныйвалидатор RPKI(Routinator, OctoRPKI, Fort, rpki-client) загружает и проверяет полный репозиторий RPKI и экспортирует только полученные проверенные полезные нагрузки ROA (VRP) на маршрутизаторы через протокол RTR (RFC 8210).

RTR использует TCP (порт 323, назначенный IANA; валидаторы, такие как Routinator, по умолчанию используют порт 3323, чтобы не требовать привилегий root) с механизмом инкрементной синхронизации: валидатор отправляет серийные номера, а маршрутизаторы запрашивают только дельту с момента последней синхронизации. Это обеспечивает низкую пропускную способность даже для больших таблиц VRP (в настоящее время около 400 000+ записей IPv4 по всему миру).

6. Развертывание и статистика

По состоянию на начало 2026 года развертывание RPKI достигло значительных масштабов:

  • Более 50% префиксов IPv4 с глобальной маршрутизацией имеют хотя бы один покрывающий ROA (по сравнению с примерно 10% в 2019 году).
  • Большинство интернет-провайдеров уровня 1 и уровня 2 теперь выполняют проверку происхождения маршрута и удаляют или деприоритизируют недействительные маршруты.
  • MANRS (Взаимосогласованные нормы безопасности маршрутизации) требует создания RPKI ROA в качестве предварительного условия для членства и публикует панель мониторинга соответствия для каждой AS.

Живая статистика:Монитор NIST RPKI, РОВ++, Статистика APNIC RPKI.

7. За пределами ROV: ASPA и BGPsec

Проверка происхождения маршрута RPKI только проверяет, чтопроисхождение ASNимеет право объявить префикс. Он не проверяет AS_PATH — злоумышленник все равно может создать ложный AS_PATH с легитимной исходной AS в конце. Два стандарта IETF решают эту проблему:

  • BGPsec (RFC 8205): Каждая AS на пути криптографически подписывает UPDATE, создавая нерушимую цепочку хранения. Требуется, чтобы все транзитные AS поддерживали BGPsec, что является существенным препятствием для развертывания. По состоянию на 2026 год используется редко.
  • АСПА(Авторизация поставщика автономной системы,проект-ietf-sidrops-aspa-профиль): AS подписывает объект со списком своих авторизованных вышестоящих поставщиков. Верификаторы могут обнаружить недопустимые пути без долин (например, клиент объявляет маршруты, как если бы он был поставщиком). Его проще развернуть, чем BGPsec, и он наберет обороты с 2025–2026 годов.

Ссылки

  • RFC 6480— Инфраструктура для поддержки безопасной интернет-маршрутизации (обзор RPKI)
  • RFC 6482— Профиль авторизации источника маршрута (ROA)
  • RFC 6811— Проверка происхождения префикса BGP
  • RFC 8210— Протокол RPKI для маршрутизатора, версия 1 (RTR).
  • RFC 8416— Упрощенное управление локальными номерными ресурсами Интернета с помощью RPKI (SLURM — локальное переопределение)
  • RFC 9286— Манифесты для инфраструктуры открытых ключей ресурсов (RPKI).
  • RFC 8205— Спецификация протокола BGPsec
  • МАНРС— Взаимосогласованные нормы безопасности маршрутизации
  • Портал Cloudflare RPKI— живой поиск ROA