Статья опубликована в рамках: Научного журнала «Инновации в науке» № 12(88)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал
ОЦЕНКА УЯЗВИМОСТЕЙ ПРОТОКОЛА BGP
АННОТАЦИЯ
В данной статье рассматривается протокол динамической маршрутизации BGP. Приводятся опасности данного протокола, дается оценка его уязвимостей. Показаны примеры, связанные с нарушением работы протокола.
Ключевые слова: протокол BGP, уязвимости, маршрутизация, провайдеры.
На сегодняшний день одни из основных протоколов на основе которого строится топология всего Интернета является протокол динамической маршрутизации BGP (Border Gateway Protocol). В основном BGP используется для объединения сетей автоматического обмена маршрутной информации между ними. Главной целью протокола BGP является сокращение транзитного трафика. Протокол BGP предназначен для обмена информацией о достижимости подсетей между автономными системами. Для оценки и причины уязвимостей протокола для начала рассмотрим для чего он применяется.
Протокол BGP был построен на тот случай, если какая-либо из сетей Интернета дает сбой, то протокол ожидает время обновления, для пересылки всем своим соседям информации о возникшей проблеме, это, в свою очередь, значительно снижает нагрузку на сеть. Недостатки работы протокола показывают уязвимости BGP и соответственно обязывают приступить к их исправлению. Так как протокол BGP работает по протоколу TCP на 173 порту и устанавливает ВНЕШНИЕ маршруты, а также прослушивает 179 порт, то соответственно BGP уязвим для атак на TCP. Также протокол имеет относительно низкое время сходимости. Протокол BGP еще можно назвать дистанционно-векторным протоколом, так как между маршрутизаторами передается не информация о состоянии линков, а сами маршруты.
Рассмотрим опасности данного протокола, которые обоснованы тремя ведущими уязвимостями:
1.BGP не содержит внутреннего механизма обеспечения крепкой обороны единства и актуальности данных, а еще аутентификации партнеров для извещений, передаваемых меж узлами BGP.
2.Отсутствует устройство испытания возможностей полномочий AS (autonomous system) для анонсируемой информации NLRI (Информация сетевого уровня о доступности сети).
3.Отсутствует устройство обеспечения достоверности атрибутов пути, анонсируемых AS (autonomous system).
Рассмотрим первую из выше перечисленных уязвимостей. Данная уязвимость запирается неотъемлемой помощью в спецификации BGP. Впоследствии развертывания единство сообщения и аутентификация партнеров станут обеспечены. Механизм подразумевает, собственно, что метод MD5 считается безвредным, а разделяемая тайна защищена и довольно непросто предсказуема [2].
Так как протокол BGP используется для объединения сетей и обменом информацией между ними, то рассмотрим типы сообщений BGP и уязвимости, связанные с ними.
У BGP имеются 4 типа сообщений:
- OPEN
- KEEPALIVE
- NOTIFICATION
- UPDATE
Внешние атакующие имеют все шансы применить неверные сообщения OPEN, KEEPALIVE, NOTIFICATION или же UPDATE для нарушения соединений среди партнеров BGP. Они имеют все шансы применить сообщения UPDATE для нарушения маршрутизации без разрыва соединений среди партнеров. Внешняя атака может не соблюсти ассоциации меж партнерами методом вставки неверных пакетов TCP, которые не соблюдают обработку соединений TCP. В целом способности внешних атакующих по использованию неверных извещений BGP и TCP ограничены (но не предотвращаются полностью), из-за обработки порядковых номеров TCP.
Партнеры BGP имеют все шансы сами разорвать соединения между собой в любой момент, применяя для сообщения NOTIFICATION. Внедрение извещений OPEN, KEEPALIVE или же UPDATE не провоцирует вспомогательного риска. Впрочем, партнеры BGP имеют все шансы не соблюсти картину маршрутизации (что вполне реально), применяя сообщения UPDATE, имеющие неверную информацию о маршрутах. В частности, неверные атрибуты ATOMIC_AGGREGATE, NEXT_HOP и AS_PATH, а также неточный смысл NLRI в сообщениях UPDATE могут дать все шансы не соблюсти маршрутизацию. Внедрение не мешает данному типу атак со стороны узлов BGP.
Каждое вышеперечисленное сообщение протокола BGP начинается со стандартного заголовка. Узел BGP будет закрывать соединение, освобождать все выделенные для BGP ресурсы, удалять все маршруты, полученные через это соединение, запускать процесс принятия решений для установки новой картины маршрутов и возвращаться в состояние «Idle», только в том случае, если в заголовке сообщения есть синтаксические ошибки.
Операция подавления «колебаний партнера» выполняется в зависимости от ее реализации. Данный процесс может действовать на время, по истечении которого будет возобновляться прерванное соединение с партнером. Глобальное нарушение картины маршрутизации может быть вызвано подменом сообщения внешней атаки, включая в них ошибки заголовков [3].
Известно, что BGP несет ответственность за обмен информацией среди автономных систем (сокращенно «AS») и так чтобы данные передавались по наилучшему маршруту.
В случае, когда пользователь вносит адрес сайта в строку браузера, то тут DNS-сервер изменяет данною строчку в IP- адресе. Маршрутизатор делает запрос на таблицу BGP, с целью узнать маршрут, по которому удобнее всего посылать информацию.
Рисунок 1. «Пример таблицы BGP»
Данная таблица (рис.1) [1], можно сказать, является своего рода таблоидом объявлений, не подлежащих оплате, таблоидом в котором сеть провайдера и многие остальные сети способны вкладывать в него «сообщения». Именно в завершающих сообщениях известен диапазон адресов, данные которых могут транслироваться по сети. Если рассмотреть возможность где есть множество вариантов адресных диапазонов, то BGP избирает более тесные адресные диапазоны. Исходя из этого, для того чтобы в сеть правонарушителя начали поступать данные, перехватанного трафика, необходимо разместить объявления с более тесным адресным диапазоном. Это показывает, как пропадают пакеты с данными. Для обнаружения пропавшей информации в сети присутствуют несколько AS, которые настроены на опознание «поддельных» маршрутов.
Маршрутизация между автономными системами на основе протокола BGP является одним из наиболее уязвимых элементов Интернета. Это объясняется, во-первых, тяжелыми последствиями неверной работы BGP- маршрутизаторов провайдеров, когда маршруты во многих частях Интернета вдруг исчезают или оказываются ложными для значительной части пользователей. Во-вторых, причина повышенной уязвимости протокола BGP по сравнению с внутренними протоколами маршрутизации OSPF или IS-IS является то, что «собеседники» BGP-маршрутизатора находятся за пределами административной ответственности его организации и поэтому возможностей для проверки достоверности маршрутных объявлений BGP намного меньше, чем в случае внутренних протоколов, когда администратор всегда может проверить конфигурацию любого маршрутизатора и понять причины некорректного или подозрительного поведения.
О значительной части крупных инцидентов, произошедших в Интернете по "вине" протокола BGP, трудно сказать, так как неизвестно произошел ли этот инцидент из-за ошибки конфигурирования маршрутизатора персоналом провайдера или же эта была спланированная и осуществленная атака.
Описывая уязвимости BGP - маршрутизации появляется новое действующее лицо провайдер-злоумышленник (malicious ISP), который вольно или невольно создает проблемы для остальных провайдеров.
Возьмем, например, первый и широко-известный инцидент с BGP - маршрутизацией, который очень ярко выявил уязвимости BGP, которые затем много раз проявляли себя в аналогичных ситуациях. Такой инцидент произошел 25 апреля 1997 года. В этом случае многие провайдеры обнаружили, что в их маршрутизациях исчезли маршруты, списывающие путь к сетям Интернет. Оказалось, что виновником данного инцидента был единственный маршрутизатор одного клиента провайдера AS7007, который после реконфигурирования начал генерировать некорректные объявления не о своих сетях, причем с более специфическим адресом, чем адреса этих сетей в маршрутизаторах своего провайдера и большинства других провайдеров интернета, в результате чего их записи были вытеснены из таблиц маршрутизации этой более специфической описью.
Инцидент с AS7007 был первой масштабной демонстрацией уязвимости маршрутизации на основе протокола BGP, который был разработан, как и другие протоколы стека TCP/IP, в расчете на доброю волю всех пользователей Интернета и не имел никакой защиты от ошибок или недоброго умысла.
В дальнейшем подобные случаи повторялись достаточно регулярно, например, еще один инцидент с известным видеохостинговым сайтом «Youtube», который случился в 2008 году. В этом случае «Pakistan Telecom» пытался заблокировать доступ к «Youtubе» для пользователей Пакистана, но вместо этого допустил утечку специфических маршрутов к «Youtube» в Интернет. Подобные инциденты являются следствием того, что маршрутное объявление BGP формируется шаг за шагом многими провайдерами, при этом достоверность информации каждого шага проверить невозможно, так как у провайдера имеется полная свобода действий при обработки маршрутного объявления и передаче его соединением провайдерам.
В данной статье были рассмотрены некоторые уязвимости, то есть слабые места работы протокола динамической маршрутизации BGP, которые помогли провайдерам усовершенствовать протокол для дальнейшей работы в сети Интернет. Выявлено, что основные уязвимости находятся в сообщениях при передаче информации между соседями, а также в маршрутизации между AS. На основе двух рассмотренных инцидентов, связанных с протоколом динамической маршрутизации BGP можно сделать вывод о несовершенстве его работы. На примере BGP-маршрутизации можно увидеть насколько незащищенным может быть протокол, при постороннем вмешательстве в его работу.
Список литературы:
- «Understanding the BGP Table Version - Part 1: Introduction to BGP Table Version» https://www.networkworld.com
- «RFC 4272 — Анализ уязвимостей протокола BGP» http://muff.kiev.ua
- «BGP или «протокол на трёх салфетках» http://blog.tran.su
Оставить комментарий