
Пример ссылки на удалённый бакет
termis
с государственного сайта, источникВ связи с развитием технологий каждый год появляются принципиально новые способы атаки, которые раньше никому в голову не приходили и/или не были возможны технически. Например, в 2025 году впервые в истории исследователи провели атаку через заброшенные бакеты S3. Это разновидность атаки на цепочку поставок, как пресловутый случай SolarWinds. Такие действия злоумышленников практически невозможно детектировать стандартными инструментами безопасности, поэтому те могут незаметно работать годами.
Взлом доверенных бакетов означает автоматический доступ к тысячам компаний и организаций, которые скачивают оттуда софт: обновления, исходный код, опенсорсные библиотеки и т. д.
Атака на цепочку поставок
Напомним, что в случае SolarWinds ключевым этапом было внедрение бэкдора в программное обеспечение SolarWinds. Это софт для мониторинга IT-инфраструктуры (CPU, RAM, сеть), который используют тысячи частных компаний и государственных учреждений, включая АНБ, Пентагон, Госдеп и проч. В общей сложности у них 300 000 клиентов по всему миру. Таким образом, взломав один сервер дистрибуции, злоумышленник (предположительно, Cozy Bear) получил прямой доступ к тысячам клиентов по всему миру.

Платформа SolarWinds Orion
Операция SolarWinds включала несколько этапов, в том числе два технически нетривиальных:
- Внедрение бэкдора внутрь обновлений SolarWinds. Заражённая DLL распространялась с обновлениями платформы SolarWinds Orion, которая служит для мониторинга корпоративной сети.
БиблиотекаSolarWinds.Orion.Core.BusinessLayer.dll
была подписана действительной цифровой подписью компании SolarWinds Worldwide, LLC:
- Оригинальный механизм сокрытия данных в служебном HTTP-трафике программы SolarWinds (covert signaling), процитируем из отчёта специалистов по безопасности:
В наблюдаемом трафике тела HTTP-ответов скрываются под доброкачественные XML, связанные со сборками .NET. Но на самом деле данные распределены по многим строкам GUID и HEX. Команды извлекаются из тел HTTP-ответов путём поиска hex-строк с использованием следующего регулярного выражения:
\{[0-9a-f-]{36}\}"|"[0-9a-f]{32}"|"[0-9a-f]{16}
. Командные данные распределены по нескольким строкам, замаскированным под строки GUID и HEX. Все совпадающие подстроки в ответе фильтруются на наличие символов не-HEX, объединяются вместе и декодируются HEX. Первое значение DWORD показывает фактический размер сообщения, за которым сразу же следует сообщение, а затем необязательные мусорные байты. Извлечённое декодируется однобайтным XOR с использованием первого байта сообщения, а затем разархивируется DEFLATE. Первый символ — это целое число ASCII, которое соответствует команде JobEngine с необязательными дополнительными аргументами, разделёнными пробелами.
Атака через заброшенные бакеты
В 2025 году специалисты по безопасности впервые продемонстрировали новый тип атаки на цепочку поставок: через заброшенные бакеты Amazon S3. Как и в случае с SolarWinds, это означает мгновенный и автоматический взлом сотен тысяч компаний и организаций, которые пользуются доверенным ресурсом (в данном случае бакетами).
Бакет в объектном хранилище Amazon S3 (bucket — ведро) — это контейнер для организации хранения объектов. Каждый объект в хранилище доступен по уникальному URL, а доступ можно гибко настроить на уровне бакета или отдельного объекта.
Например, объект в бакете
watchTowrs-finest-memes
на S3 может иметь адрес https://watchTowrs-finest-memes.s3.amazonaws.com/files/apt-1337.pdf
, а запросы на такой объект будут поступать в облачное хранилище со всего интернета, даже если сам бакет уже сменил владельца (когда старый владелец освобождает бакет, его может занять другой владелец, как с доменными именами).Группа исследователей из компании watchTowr Labs нашла около 150-ти заброшенных бакетов Amazon S3, которые ранее использовались в коммерческих и открытых программных продуктах, государственных системах США и конвейерах для развёртывания и обновления инфраструктуры.
По своей сути атака аналогична покупке заброшенных доменных имён, куда ещё могут обращаться с запросами старые клиенты. Вы просто находите в интернете «битые» ссылки — и регистрируете домены, подменяя содержимое по этим ссылкам на вредоносный контент.
Случайный скриншот на Google Images с битой ссылкой (ссылка на бакет путём редиректа с доменного имени):

В общей сложности исследователи потратили на атаку $420:

В найденных бакетах хранились всё ещё используемые кем-то библиотеки DLL. Предположительно, пользователи этих библиотек не знали о том, что проект заброшен — и были готовы получать патчи, обновления и т. д. из указанного источника.
Исследователи зарегистрировали эти бакеты на себя для эксперимента. Им было любопытно, сколько пользователей запросят обновления ПО из бакетов S3, которые заброшены несколько месяцев или лет назад.
За два месяца они получили 8 млн запросов. Вот что запрашивалось:
- обновления ПО;
- предварительно скомпилированные (без подписи!) бинарные файлы Windows, Linux и macOS;
- образы виртуальных машин (?!);
- файлы JavaScript, в том числе echo-chamber-js;
- шаблоны CloudFormation;
- конфигурации SSLVPN-серверов;
- и многое другое.
Запросы поступали в том числе из государственных и военных сетей, крупнейших корпораций из списка Fortune 100, банков, платёжных операторов, университетов и даже компаний, которые занимаются информационной безопаcностью.
В случае настоящей атаки злоумышленники просто разместят в бакетах вредоносный код — и просто будут наблюдать, как тот внедряется в различные сборки программного обеспечения по всему интернету.
По сути, это атака SolarWinds, но гораздо более масштабная.
«К тому же, у атаки есть и второе измерение, — пишет Брюс Шнайер, известный специалист по информационной безопасности. — Поскольку эти бакеты для обновлений заброшены, разработчики уже не имеют возможности автоматически устанавливать патчи для безопасности. Механизм, который они могли использовать для этого, теперь в руках противников. Более того, зачастую потеря бакета [который использовался для обновления — прим. пер.] также лишает вендора возможности выявить уязвимое ПО. Это ограничивает их возможность по взаимодействию с заражёнными системами».
Обеспечить безопасность цепочки поставок программного обеспечения очень дорого и сложно. «А значит, никто и не будет этого делать, — считает Брюс Шнайер, — что ещё ухудшит ситуацию».
Комментарии (2)
Margutoop
01.06.2025 19:25Это уже не просто технический инцидент, это симптом системной болезни отрасли, в которой безопасность жертвуется ради скорости и удобства по принципу "работает - не трогай"
pnmv
вот это то, что первым приходит на ум, когда читаешь о подобных вещах.
ну и сама мысль о заброшенных бакетах и тому подобных вещах просто переворачивает всё мировосприятие.