Перехват протокола BGP, заражающий сети, вызван целой чередой нелепых ошибок, которые совсем не смешны.
Что мы можем узнать из взлома BGP, который отравил производственное программное обеспечение? Многое.
Источник: Getty Images Источник: Getty Images
Хакеры осуществили атаку на цепочку поставок, установив вредоносное ПО в сетях с помощью необычной техники: захвата участка интернет-пространства, где обновляется программное обеспечение для управления облачными ресурсами, используемое хостинг-провайдерами, центрами обработки данных и другими крупными инфраструктурными компаниями.
В ходе хорошо скоординированной операции неизвестные злоумышленники использовали уязвимости в системе безопасности маршрутизации хостинг-провайдера Hetzner Online и в процессе получения действительных TLS-сертификатов. Эти недостатки позволили злоумышленникам успешно осуществить перехват протокола BGP (Border Gateway Protocol) и получить контроль над IP-адресами, назначенными компании Softaculous. Компания, базирующаяся в Объединенных Арабских Эмиратах, является разработчиком платформы для установки и управления веб-программным обеспечением, а также разработчиком Virtualizor, платформы управления виртуализированными средами.
Компания Softaculous использовала IP-адреса для распространения обновлений и размещения клиентского и платежного сайтов. Получив контроль над захваченным пространством, злоумышленник теперь использовал адреса для распространения вредоносного ПО, маскирующегося под обновления, среди ничего не подозревающих пользователей.
Глупые, предотвратимые ошибки
Основной причиной взлома стала ненадлежащая настройка безопасности маршрутизации у хостинг-провайдера Softaculous, Hetzner Online. Успеху атаки способствовало и множество других ошибок. Наиболее примечательно то, что Softaculous не соблюдал один из наиболее распространенных шагов безопасности в разработке программного обеспечения, а именно проверку обновлений программного обеспечения с помощью цифровой подписи кода.
«В период инцидента установка Virtualizor, трафик которой был перенаправлен, могла получить вредоносный пакет обновления с сервера злоумышленника», — предупредила компания Softaculous в понедельник. «Наши клиенты для обновления продуктов еще не проводили криптографическую проверку пакетов обновлений, поэтому модифицированный пакет не был бы отклонен по этой причине. Мы считаем, что пострадало лишь небольшое количество серверов, но мы не можем предоставить окончательный список, поэтому, пожалуйста, рассматривайте каждый сервер Virtualizor как подлежащий проверке ниже».
Нестрогая конфигурация, использованная Hetzner Online, позволила злоумышленникам периодически перенаправлять трафик в течение двух периодов на протяжении 33 часов. Hetzner Online восстановила адресное пространство через 12 часов после начала перехвата, объявив правильный путь. Затем Hetzner Online прекратила объявлять путь, и злоумышленник повторил тот же перехват во второй раз. На этот раз Hetzner потребовалось почти 10 часов, чтобы отреагировать. В течение этого времени перехват оставался активным.
Как и Hetzner Online, Softaculous и Zet.net, транзитный узел, расположенный ниже по потоку от Hetzner Online, не смогли должным образом отслеживать свои системы и, как следствие, не обнаружили захват сети до тех пор, пока он не продолжался с перерывами в течение 22 часов. Также возникают вопросы относительно другого хостинг-провайдера, Nexon Host, чья инфраструктура каким-то образом способствовала распространению вредоносного объявления.
Бен Картрайт-Кокс, эксперт по BGP и создатель пакета BGP Tools, назвал эти ошибки «глупыми, предотвратимыми просчетами». Компании Softaculous, Hetzner и Zet.net не сразу ответили на вопросы, отправленные по электронной почте.
Краткая история BGP
Атаки по протоколу BGP нацелены на основы, обеспечивающие единство всемирной сети Интернет. Интернет раздроблен на множество автономных систем (АС). Каждая АС представляет собой независимую сеть, которой выделена часть из 3,7 миллиардов общедоступных адресов в рамках протокола IPv4. BGP выступает в роли связующего звена, объединяющего все эти АС и позволяющего каждой из них подключаться к любой другой.
Чтобы адрес, назначенный автономной системе (АС), например, в Германии, мог достигать IP-адресов в Северной Америке, АС должна «объявить» маршрут, по которому должен следовать заданный диапазон IP-адресов. Эти объявления маршрутизации представляют собой записи в глобальной таблице маршрутизации, используемой всеми АС и хостинг-провайдерами, которые их обслуживают. На заре существования Интернета BGP работал на основе доверия. Провайдеры просто предполагали, что объявления действительны и сделаны добросовестно.
На протяжении многих лет злоумышленники неоднократно злоупотребляли этим доверием, делая объявления для IP-адресов, которые они не имели законного права контролировать. Злоумышленники — связанные как с государствами, так и с группами, преследующими финансовые интересы, — использовали уязвимость системы для того, чтобы в некоторых случаях передавать петабайты конфиденциальных данных через сети, которые они контролировали.
В конечном итоге, архитекторы интернета разработали ряд мер для предотвращения подобных перехватов. Наиболее известной из них является RPKI (инфраструктура открытых ключей ресурсов) ROV (проверка происхождения маршрута). RPKI ROV использует криптографические записи, называемые авторизациями происхождения маршрута (ROA), для подтверждения правильного происхождения и длины маски префикса маршрутов в BGP. Автономные системы, использующие RPKI ROV, будут отклонять маршруты, не соответствующие информации, содержащейся в ROA, предотвращая распространение перехватов по всему интернету.
Как всё произошло
Атака началась за несколько минут до 21:00 UTC в пятницу, когда небольшой фрагмент IP-пространства Softaculous попал в глобальную таблицу маршрутизации. Этот новый IP-префикс, обозначенный как 162.55.80.0/24, был объявлен по пути: AS6204 (Zet.net), AS62390 (Nexon Host) и AS24940 (Hetzner Online).
Этот диапазон IP-адресов, содержащий 256 адресов, использовался для размещения конечной точки обновления программного обеспечения Softaculous, а также клиентского и биллингового сайтов. Это пространство представляло собой более конкретный фрагмент гораздо большего пространства 162.55.0.0/16, которое обычно инициировалось AS24940. Согласно сообщению эксперта по BGP Дуга Мадори, объявление, вероятно, исходило от NexonHost (AS62390), возможно, в результате взлома его инфраструктуры или использования клиентом уязвимостей в его системе безопасности.
Протоколы, такие как RPKI, предотвращают маршрутизацию адресов крупными операторами, созданных мошенническим путем или по ошибке, но сбои в маршрутизации и неспособность должным образом отслеживать трафик позволили захвату сети периодически происходить на протяжении большей части выходных. Мэдори, руководитель отдела интернет-анализа в Infoblox, продолжил:
Перехват маршрута также включал путь AS с поддельным источником. Поскольку злоумышленник добавил 24940 в качестве самого правого номера ASN в пути, он был признан действительным по RPKI по двум причинам: ROA требовал, чтобы источником был AS24940, а также потому, что допускал длину префикса от 24 до 16. В результате этот маршрут был действителен по RPKI и не подвергался риску быть отброшен AS, которые отклоняют недействительные по RPKI маршруты.
И Картрайт-Кокс, и Мэдори заявили, что Хетцнер настроил эти параметры таким образом, что взлом прошел незамеченным благодаря этим мерам безопасности.
Диапазоны IP-адресов измеряются в блоках, размер которых обозначается косой чертой, за которой следует число. Несколько парадоксально, но чем больше число в конце, тем меньше блок. Это связано с тем, что система основана на 32 битах, составляющих основу стандарта IPv4. Блок /24 обозначает 2(32-24), или 256 адресов. Блок /16 обозначает 2(32-16), или 65 536 IP-адресов.
Компания Hetzner Online настроила в RPKI параметр, позволяющий считать допустимыми субпрефиксы размером до /24. В сочетании с тем фактом, что захваченный маршрут содержал путь AS, подстроенный под источник в ROA, новый маршрут злоумышленника с меньшим префиксом смог обойти защиту RPKI.
«Поскольку не существовало маршрута для 162.55.80.0/24, с которым можно было бы конкурировать, он распространялся настолько далеко, насколько позволяли другие механизмы фильтрации маршрутов», — написал Мадори. «И поскольку это был более специфический маршрут, любой трафик, предназначенный для этого диапазона IP-адресов, предпочитал бы его легитимному маршруту (162.55.0.0/16) из-за предпочтения маршрутизаторами совпадения с самым длинным префиксом».
Картрайт-Кокс кратко описала этот недостаток следующим образом: «Компания Hetzner допустила объявление более точных диапазонов IP-адресов (/24 вместо /16), что позволило злоумышленнику выдать себя за них и автоматически выигрывать в принятии решений по маршрутизации».
Обход проверки TLS-сертификата
Уменьшенный диапазон IP-адресов также позволил злоумышленникам обойти общепринятые в отрасли меры проверки запросов на TLS-сертификаты. Как правило, запрашивающая сторона должна продемонстрировать, что она контролирует домен над географически распределенным набором конечных точек. Let's Encrypt, центр сертификации, выдавший сертификаты, использованные при взломе, требует, чтобы кворум таких центров вернул положительный результат, прежде чем сертификат будет выдан.
Нацелившись на меньший диапазон /24, злоумышленник распространил свою атаку по всему миру, «заставив запросы на проверку подлинности (и весь остальной трафик) достигать сервера злоумышленника вместо легитимного оператора домена», — говорится в электронном письме Let's Encrypt. Компания также отметила, что привязка учетных записей к центрам сертификации (CAA), которая ограничивает допустимых эмитентов и методы проверки подлинности, «значительно затруднила бы задачу злоумышленнику».
Остается неясным, сколько пользователей Virtualizor получили вредоносное обновление и что делало вредоносное ПО после установки. Softaculous настоятельно рекомендует всем своим пользователям проверить свои системы на наличие признаков компрометации.
Этот инцидент — один из немногих случаев использования перехвата BGP для распространения вредоносного ПО. Один из таких случаев произошёл в 2015 году, когда группа хакеров-наёмников Hacking Team использовала его против цели, которую им было поручено заразить. Другой случай произошёл в 2022 году, когда злоумышленники перехватили IP-адреса, принадлежащие Amazon. Злоумышленники использовали эти IP-адреса для размещения смарт-контракта, который выкачал около 235 000 долларов в биткоинах у людей, пытавшихся посетить криптовалютную биржу Celer Bridge.
К счастью, случаи перехвата BGP-трафика становятся всё менее распространёнными благодаря широкому внедрению RPKI. События этих выходных демонстрируют, что достаточно одной ошибки, чтобы эти средства защиты вышли из строя.
Источник: arstechnica.com
Оцените материал:
Присоединяйтесь и подпишитесь на рассылку самых свежих новостей по Email
Получайте свежие новости и идеи на почту. Без спама — только самое интересное.
Нажимая «Подписаться», вы соглашаетесь с политикой конфиденциальности.
