Александр Азимов, сетевой архитектор Qrator Labs
Александр Азимов,
сетевой архитектор Qrator Labs
© ComNews
30.07.2018

Для многих слово "Интернет" чаще всего означает единое информационное пространство. На самом же деле все не так просто: Интернет представляет собой набор взаимосвязанных сетей операторов связи (автономных систем), обменивающихся между собой информацией о доступности IP-адресов и строящих сетевые маршруты ко всем сервисам в мире на основании полученных данных.

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

Основа основ глобальной сети

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

Рассмотрим несколько примеров крупных инцидентов, имевших место в Рунете. 22 сентября 2017 года автономная система, принадлежащая банку HomeCredit, перенаправила на свою сеть трафик более 55 тысяч сетей, сделав "дугу" между крупными транзитными операторами "ТрансТелеКом" и "ВымпелКом" и приведя к недоступности этих сетей для значительного числа пользователей в РФ. Большинство затронутых сетей принадлежали интернет-провайдерам из США, Китая, Бразилии, Японии, Мексики, Канады и России, устранение этой аномалии заняло более двух часов. В декабре того же года новый российский оператор DV-LINK-AS отпраздновал день своего рождения, стянув на себя трафик крупнейших контент-генераторов, таких как Google, Facebook, Mail.ru, Vkontakte и многих других, приведя к их частичной недоступности. Инцидент длился снова более двух часов, в результате чего трафик крупнейших компаний перенаправлялся на прежде неизвестного интернет-провайдера.

Но самым значительным инцидентом прошлого года стала аномалия, созданная корпорацией Google. Ошибка конфигурации в сети Google перенаправила на себя трафик между японскими операторами и операторами в США. В результате на несколько часов доступ к большинству ресурсов в мире для пользователей в Японии оказался затруднен.

Крупные инциденты редко остаются незамеченными, но менее крупные аномалии, приводящие к проблемам у определенных сервисов, могут длиться даже больше недели. По данным системы глобального мониторинга BGP Qrator.Radar, в мире ежедневно фиксируется несколько тысяч подобных инцидентов.

Кто виноват и что делать?

В чем же заключается корень проблемы и почему нельзя просто взять и исправить протокол? Дело в том, что протокол BGP разрабатывался в конце 1980-х годов, когда общее количество операторов связи исчислялось десятками. На тот момент протоколы, стандарты и системы создавались на базе доверия организаций друг к другу, и все ошибки операторов связи (тогда еще не шла речь о злонамеренной активности) быстро исправлялись "по звонку". Этот процесс хорошо работал, пока операторов было 10, 20, 50. Однако за прошедшее время ситуация существенно изменилась. Количество операторов сильно возросло - сейчас их почти 60 тысяч, а средняя квалификация их персонала снизилась. Специалисты, писавшие 20 лет назад стандарт BGP, предполагали, что настраивать его будут такие же хорошие инженеры, как они сами, и во главу угла была поставлена гибкость. Однако квалификация сетевых инженеров, особенно в быстрорастущих регионах, не успевает за развитием технологий.

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

Не ошибкой единой

Еще большую угрозу несет злонамеренная активность. Поскольку протокол BGP создавался для управления трафиком, то он также становится идеальным инструментом для нелегитимного его перехвата.

В подобных случаях даже шифрование не является панацеей. В случае веб-сервисов существует возможность открыть нешифрованное соединение с пользователем, оставив шифрованное соединение с сервисом, и таким образом получить все данные конечных пользователей, включая логины и пароли. Подобная атака не так давно была осуществлена путем перенаправления трафика, в результате чего были похищены логины и пароли клиентов криптобиржи. Используя протокол BGP, злоумышленники смогли перенаправить трафик DNS-сервиса Amazon на свой хост и на несколько часов подменить выдачу А записей DNS сайта MyEtherWallet.com на подготовленный фишинговый сайт. Ничего не подозревающие пользователи вводили там свои учетные данные, которые становились известны злоумышленникам. В результате за пару часов было украдено 215 ETH (около $137 тысяч).

В поисках решения

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

Быстро решить данную проблему невозможно, ведь вместо единого Интернета существует множество отдельных сетей, у каждой из которых - собственные настройки BGP-маршрутизации. Поскольку причиной большинства утечек является неправильная настройка протокола, единственным способом решения становится устранение условий, при которых ошибки инженеров способны влиять на других операторов связи. Нужно ограничить сверхгибкость BGP: опциональные механизмы фильтрации встроить в сам протокол, тем самым снизив сложность его настройки. Мы в Qrator Labs совместно с рядом международных специалистов стараемся внести свой вклад в улучшение технической составляющей Интернета и развиваем инициативу по внесению изменений в стандарт протокола BGP в рамках международной организации IETF (Internet Engineering Task Force) - Инженерного совета Интернета. Эта организация представляет собой большое профессиональное сообщество сетевых архитекторов, операторов, вендоров, исследователей со всего мира, влияющих на эволюцию архитектуры Интернета и его функционирование. Расширение BGP, находящееся в стадии черновика стандарта, предоставит механизм для автоматического обнаружения утечек и предотвращения их распространения.

Реализация этой задачи займет годы даже в случае полного успеха и принятия профессиональным сообществом. Поскольку нужно менять сам протокол, то должно пройти время, чтобы система стала эффективной: соответствующие изменения должны быть внедрены значительным числом операторов в мире или, по крайней мере, самыми крупными из них.

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

Мнения авторов рубрики "Точка зрения" могут не совпадать с позицией редакции ComNews.ru, не влияют на выбор и освещение новостей в других частях газеты