Rambler's Top100
Статьи ИКС № 4 2019
Артем ГАВРИЧЕНКОВ  26 сентября 2019

Утечки трафика: можно ли починить фундамент Глобальной сети

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

У протокола динамической маршрутизации BGP (Border Gateway Protocol) юбилей: ему исполнилось 30 лет – согласитесь, солидный возраст для технологии. Но в повседневной жизни о BGP мало кто слышал, хотя все мы, не зная об этом, пользуемся протоколом каждый день. BGP – это невидимое и неосязаемое нечто, связывающее множество разрозненных сетей разных стран и компаний в единый глобальный интернет на уровне маршрутизации. По сути он является краеугольным камнем архитектуры современной Глобальной сети.

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

Так, 25 ноября 2018 г. для пользователей «Ростелекома» оказались недоступными тысячи сервисов. Среди них были Amazon, Youtube, «Вконтакте», онлайн-кинотеатр IVI и многие другие. Это был глобальный сбой в российском сегменте интернета, в результате которого пострадали более 5 тыс. операторов связи.

«Правда в том, что ложки нет»

Начнем с истории интернета. Самая важная вещь о нем, которую нужно знать: никакого интернета на самом деле нет.

Нет какого-то единого пространства как сущности, кому-то принадлежащей и кем-то управляемой. То, что мы называем интернетом, – это набор независимых и весьма разнообразных по своей природе сетей: не только сетей операторов связи, но и корпоративных систем, сетей доставки контента и многих других. Эти сети абсолютно самостоятельно принимают решение, с кем они хотят иметь отношения и на каких условиях.

Допустим, в 1985 г. сеть Alice Ltd подключилась к сети Bob & Co, а спустя 10 лет компания Bob & Co подписала договор о сотрудничестве с корпорацией Compaq Inc. Если в тот момент руководство компании Bob & Co разрешило фирмам Alice и Compaq обмениваться своими данными через сеть Bob & Co – вероятно, не бесплатно, – то с 1995 г. сеть Bob стала транзитной, а между IP-адресами сетей Alice и Compaq возникла связность. Множество таких, индивидуально принятых решений и формирует глобальную связность, которую мы привыкли называть интернетом.

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

Проблема в том, что BGP – протокол очень старый, он разрабатывался в конце 80-х годов. Тогда и вплоть до 1992 г. в интернете присутствовали в основном сети либо отдельных энтузиастов, либо крупных компаний, где работали достаточно квалифицированные сетевые инженеры. Авторы BGP не могли предвидеть, что в 1992 г. Тим Бернерс-Ли осчастливит весь свет, придумав «мировую паутину» – World Wide Web (WWW) – систему гипертекстовых веб-сайтов, из трафика которых сейчас по большей части и состоит интернет.

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

Хорошим примером служит протокол IPv6, идущий на смену старому протоколу IPv4. Его принято называть новым протоколом адресации, однако изобретен этот «новый» протокол был в 1996 г. Сегодня в числе внедряющих его инженеров и те, кто еще не родился, когда IPv6 начали вводить в эксплуатацию.

Что исправлять?

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

BGP используется для того, чтобы сообщать «миру», к каким сетям можно получить доступ через данную автономную систему. Он не подразумевает никакой аутентификации и верификации полученных маршрутов к сетям. Так вот, ничто не мешает оператору в условном Бутово объявить на весь мир, что он теперь является провайдером услуг связи для сетей Google и YouTube. Ввиду недостатков BGP сделать это можно случайно. И такие «случайности» происходят с завидной регулярностью. 
Небольшие операторы в результате тривиальной ошибки могут перенаправить на себя трафик магистральных каналов передачи данных целых континентов. В результате они не только выведут из строя собственные сети, но и создадут колоссальные проблемы для других. Такие инциденты принято называть утечками маршрутов (route leaks).

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

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

Один из последних инцидентов произошел 6 июня текущего года, когда трафик швейцарского дата-центра Safe Host, направленный в США, пошел «в обход» через China Telecom. В результате крупнейшие европейские сети (Swisscom, KPN, Bouygues Telecom, Numericable-SFR) были недоступны более двух часов.

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

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

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

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

Работа на годы вперед

Сейчас в мире насчитывается почти 60 тыс. операторов связи, при этом профессионализм их сетевых инженеров уже далеко не так высок, как раньше, да и взаимного доверия от специалистов с разных континентов вряд ли стоит ожидать.

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

Вот из-за этого разрыва между теорией и практикой и возникают проблемы, от которых мы все страдаем.

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

Сейчас в профессиональном сообществе готовится новая, наиболее эффективная в краткосрочной перспективе, итерация решения этого вопроса под названием ASPA (Autonomous System Provider Authorization), в разработке которой принимает участие и Qrator Labs. Поскольку причиной большинства утечек является некорректная настройка протокола, единственным способом «лечения» становится устранение условий, при которых ошибки инженеров способны влиять на других операторов связи. Опциональные механизмы фильтрации нужно встроить в сам протокол, тем самым упростив и автоматизировав его настройку. По сути, будет создан «автопилот автомобиля Tesla» для BGP: водителя целиком это не заменит, но существенно облегчит жизнь и снизит аварийность.

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

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

Артем Гавриченков, технический директор Qrator Labs
Заметили неточность или опечатку в тексте? Выделите её мышкой и нажмите: Ctrl + Enter. Спасибо!