Ограбление Bybit: Как Северная Корея украла 1,5 миллиарда за 47 минут
21 февраля 2025 года. 12:30 по всемирному координированному времени.
В операционном центре Bybit — криптовалютной биржи со штаб-квартирой в Dubai, обрабатывающей ежедневный объем торгов в десятки миллиардов долларов — начинается запланированный перевод.
Четыреста одна тысяча триста сорок семь токенов Ethereum. Примерно полтора миллиарда долларов на тот момент. Перевод является рутинным: из холодного кошелька с мультиподписью Bybit, хранящегося офлайн для безопасности, на горячий кошелек, используемый для операционной ликвидности.
Для авторизации транзакции требуется три старших сотрудника Bybit. Они открывают интерфейс Safe{Wallet} на своих рабочих станциях. Они проверяют адрес назначения. Они проверяют детали транзакции. Все соответствует ожидаемой операции.
Они подписывают.
Минуту спустя четыреста одна тысяча токенов Ethereum исчезает.
Не переведены на горячий кошелек. Переведены на адрес, контролируемый North Korea.
Пароли не были украдены. Приватные ключи не были извлечены. Учетные данные не были фишингованы. Собственная инфраструктура Bybit не была скомпрометирована. Три подписанта сделали ровно то, что предписывали им их процедуры. То, что они видели на своих экранах, они одобрили.
То, что они видели на своих экранах, было ложью.
Это крупнейшая единичная кража криптовалюты, когда-либо зафиксированная. Это, по классификации Guinness World Records, крупнейшее ограбление банка в истории — превышающее даже один миллиард долларов, который Saddam Hussein извлек из центрального банка Iraq в 2003 году.
Оно было осуществлено путем изменения одного файла на веб-сайте.
Атака не была направлена непосредственно на Bybit.
Инфраструктура Bybit — серверы, рабочие станции сотрудников, аппаратные средства подписи, внутренние сети — никогда не была скомпрометирована. Каждое последующее судебно-техническое расследование, проведенное независимыми фирмами Sygnia и Verichains, подтвердило тот же вывод. Bybit не был взломан.
Компанией, которая была взломана, оказалась Safe — ранее Gnosis Safe — наиболее широко используемая платформа кошельков с мультиподписью в экосистеме Ethereum. Safe поддерживает веб-интерфейс на app.safe.global, через который большинство институциональных держателей Ethereum управляют многосторонней авторизацией крупных транзакций.
Инженерная команда Safe насчитывает около тридцати человек. Среди них небольшая группа системных администраторов имеет разрешения на изменение рабочего кода и развернутого веб-интерфейса.
Приблизительно за тридцать дней до 21 февраля один из этих системных администраторов становится мишенью.
Вектор соответствует почерку подразделения из North Korea, внутренне отслеживаемого Federal Bureau of Investigation как TraderTraitor. Подразделение является субкомпонентом более широкой Lazarus Group, действующей из Третьего бюро Reconnaissance General Bureau North Korea.
Конкретная техника не разглашается публично ни Safe, ни следователями. Скорее всего: высокоцелевой подход социальной инженерии, осуществляемый через контакт в LinkedIn, форум разработчиков или под предлогом технического сотрудничества. Администратор загружает то, что кажется легитимным техническим артефактом. Артефакт содержит вредоносное ПО.
Вредоносное ПО крадет токены сессии AWS. Не долгосрочные учетные данные — а временные токены аутентификации, которые разработчики Safe используют в течение своего обычного рабочего дня для доступа к Amazon Web Services, где размещен веб-интерфейс Safe.
С помощью этих токенов злоумышленники получают доступ к учетной записи Safe в AWS.
Они не извлекают данные. Они не развертывают программы-вымогатели. Они не пытаются осуществлять горизонтальное перемещение по инфраструктуре.
Они изменяют один файл JavaScript.
Файл, обслуживаемый из корзины хранилища Amazon S3 компании Safe, представляет собой внешний файл JavaScript, который отображает интерфейс подтверждения транзакций в браузерах подписантов Bybit.
Измененная версия содержит то, что криминалистические следователи позже описывают как условную вредоносную логику.
Для подавляющего большинства пользователей Safe — обычных держателей, других бирж, децентрализованных финансовых проектов — измененный JavaScript ведет себя идентично легитимной версии. Интерфейс отображается нормально. Транзакции обрабатываются как ожидалось. Ничего не выглядит неправильно.
Вредоносный код выполняется только при соблюдении определенных условий.
Эти условия были точно спроектированы для Bybit.
Код проверяет: аутентифицирована ли эта сессия с одним из трех конкретных адресов кошельков? Является ли предлагаемая транзакция переводом из холодного кошелька Bybit для Ethereum? Если оба условия верны — продолжить.
Если оба условия верны, вредоносный JavaScript перехватывает данные транзакции непосредственно перед их отображением подписантам. Он подменяет логику транзакции. То, что подписанты видят на своем экране — адрес назначения, сумма, тип операции — остается визуально идентичным легитимному предполагаемому переводу.
То, что они на самом деле подписывают, — это `delegatecall` к контракту, контролируемому North Korea.
В Ethereum `delegatecall` — это примитив, который позволяет одному смарт-контракту выполнять код в контексте другого — с полным доступом к хранилищу и средствам вызывающего объекта. Когда подписант одобряет транзакцию, включающую `delegatecall`, он не просто переводит средства. Он предоставляет вызванному контракту полный контроль над вызывающим кошельком.
Одобрив то, что они считают рутинным переводом, три подписанта Bybit предоставляют контролируемому North Korea контракту полное владение их холодным кошельком.
Затем злоумышленник опустошает его.
Четыреста одна тысяча триста сорок семь токенов Ethereum. Полтора миллиарда долларов.
У всех трех подписантов была включена многофакторная аутентификация на их учетных записях. У всех трех были активные аппаратные ключи безопасности. Ничто из этого не имело значения. Обман произошел на уровне выше аутентификации — на уровне, где глаза самого подписанта интерпретируют то, что его просят одобрить.
Через две минуты после того, как транзакция попадает в основную сеть Ethereum, вредоносный JavaScript на веб-сайте Safe удаляется.
Измененный файл заменяется легитимной версией. Любой последующий посетитель app.safe.global получает чистый код. Улики исчезают из рабочей среды.
Но инфраструктура Safe была не единственным местом, откуда подавался файл. Архивы Wayback Machine — публичный архив интернета, поддерживаемый Internet Archive — захватили вредоносную версию во время ее активного развертывания. Когда следователи реконструируют атаку, заархивированный файл становится центральным криминалистическим доказательством. Злоумышленники не ожидали, что публичный веб-архив незаметно делал копии их эксплойта.
Системы обнаружения Bybit отмечают аномалию в течение нескольких минут. Генеральный директор Ben Zhou публично подтверждает кражу в течение нескольких часов. Фирмы по анализу блокчейна начинают отслеживать украденные Ethereum в реальном времени.
Операция по отмыванию средств уже началась.
Методология отмывания криптовалюты North Korea зрелая.
В течение первых сорока восьми часов после кражи аналитики блокчейна оценивают, что примерно сто шестьдесят миллионов долларов в Ethereum успешно отмываются через децентрализованные биржи и межцепочечные мосты. Активы конвертируются, фрагментируются, смешиваются через протоколы конфиденциальности и восстанавливаются на тысячах адресов блокчейна.
Предпочтительной целью конвертации является Bitcoin.
Модель транзакций Bitcoin использует Unspent Transaction Outputs — структуру, которая рассматривает каждую транзакцию как дискретную единицу, аналогичную физическим наличным деньгам. Отслеживание конкретной долларовой стоимости через Bitcoin требует следования за отдельными UTXO по многим адресам, что является экспоненциально более сложной криминалистической задачей, чем отслеживание учетной записи Ethereum.
Подразделение по отмыванию средств North Korea, обозначенное FBI как TraderTraitor, конвертирует большую часть украденного Ethereum в Bitcoin в течение первой недели.
FBI выпускает публичное объявление 26 февраля 2025 года — через пять дней после атаки — официально приписывая кражу North Korea. Бюро публикует пятьдесят один адрес Ethereum, идентифицированный как часть инфраструктуры отмывания средств. Оно призывает биржи, децентрализованные финансовые платформы и фирмы по блокчейн-разведке блокировать транзакции, исходящие с этих адресов.
Атрибуция является быстрой по стандартам расследований кибератак со стороны государств. Она стала возможной благодаря сопоставлению шаблонов.
Адреса, используемые для перемещения украденных средств Bybit, совпадают, в определенных точках, с адресами, использованными в предыдущих кражах криптовалюты — краже Phemex в 2024 году, краже BingX в 2024 году, краже Poloniex в 2023 году. Блокчейн-разведывательные фирмы Elliptic и TRM Labs, а также независимый исследователь ZachXBT, устанавливают эти совпадения в течение нескольких дней.
Одни и те же операторы используют одну и ту же инфраструктуру отмывания средств в ходе многократных ограблений. Инфраструктура — это подпись.
Контекст масштаба.
По данным нескольких блокчейн-разведывательных фирм, Lazarus Group и ее субкомпоненты украли за многолетний период криптовалюту на сумму от трех с половиной до более шести миллиардов долларов. Только в 2024 году кражи, связанные с North Korea, составили более двух миллиардов долларов.
Полтора миллиарда долларов Bybit, взятые в рамках одной операции, превышают следующее по величине единичное ограбление — кражу 308 миллионов долларов с биржи DMM Bitcoin из Japan в 2024 году — в пять раз.
Средства поступают через сети отмывания на счета, контролируемые правительством Democratic People's Republic of Korea. Определения Treasury Department неоднократно устанавливали, что эти счета финансируют программы вооружений North Korea, включая разработку баллистических ракет и ее ядерную программу.
Bybit, со своей стороны, выживает. Компания платежеспособна. В течение нескольких часов после кражи генеральный директор Ben Zhou организует бридж-кредиты и стратегические притоки средств от других институциональных держателей для пополнения резервов. Средства клиентов остаются защищенными. Ни один пользователь не потерял депонированные активы.
Биржа запускает программу вознаграждения за возврат средств, предлагая до десяти процентов от любых возвращенных средств тем, кто поможет их отследить или арестовать.
Подавляющее большинство украденных Ethereum не было возвращено.
Нерешенные элементы этого дела носят структурный характер.
Bybit не сделал ничего неправильного по стандартам лучших практик хранения криптовалюты. Он использовал холодное хранилище для своих резервов. Он использовал мультиподписную авторизацию для переводов. Он использовал надежного стороннего поставщика интерфейсов. Он использовал аппаратные ключи безопасности для своих подписантов. Каждый защитный контроль, рекомендуемый отраслью, Bybit реализовал.
Атака обошла все эти меры, скомпрометировав слой, находящийся вне контроля Bybit.
Safe, поставщик интерфейса, обслуживает тысячи институциональных клиентов. Любой из этих клиентов мог стать целью. Bybit был выбран потому, что злоумышленники, благодаря своей первоначальной разведке, заранее идентифицировали адреса его холодного кошелька и шаблоны транзакций. Условный JavaScript был разработан на основе этих конкретных данных.
Основная архитектурная слабость является общей, а не специфической.
Любой веб-интерфейс, используемый для подписи криптовалютных транзакций, по определению является потенциальной точкой манипуляции отображением. Если интерфейс может быть незаметно изменен — путем компрометации его хостинговой инфраструктуры, сети доставки контента, репозитория исходного кода или конвейера развертывания — подписант в большинстве реализаций не может независимо проверить, что он на самом деле подписывает.
Аппаратные кошельки с независимым отображением транзакций являются частичным смягчением. Но многие аппаратные кошельки не декодируют сложные структуры транзакций, такие как `delegatecall`, в человекочитаемую форму. Они показывают необработанный хеш. Пользователь, смотрящий на шестнадцатеричную строку из шестидесяти четырех символов, не может проверить ее значение путем осмотра.
Пользователю приходится доверять интерфейсу.
North Korea продемонстрировала 21 февраля 2025 года цену этого доверия.
Fragment Zero будет отслеживать это дело.
Украденные средства продолжают фрагментироваться по всему глобальному блокчейну. Части остаются статичными на адресах, которые были помечены и подвергнуты санкциям. Части продолжают перемещаться. Пятьдесят один идентифицированный адрес FBI вырос до нескольких сотен на множестве цепочек.
Разработчик из Safe, чья машина была скомпрометирована, не был публично назван. Конкретный вектор социальной инженерии, использованный для его достижения, не был публично детализирован.
Lazarus Group продолжает действовать. В месяцы, последовавшие за кражей Bybit, меньшие, но все же значительные кражи — измеряемые десятками миллионов долларов — были приписаны той же инфраструктуре.
Более глубокий вопрос не в том, можно ли украсть криптовалюту.
Более глубокий вопрос в том, насколько финансовая инфраструктура теперь полагается на небольшое количество проектов интерфейсов с открытым исходным кодом — поддерживаемых небольшими командами, обновляемых через рабочие конвейеры развертывания, используемых через веб-браузеры — которые находятся между миллиардами долларов в активах и людьми, которые их авторизуют.
В этом случае количество людей, которые могли бы предотвратить крупнейшую кражу в истории, было одним. И он на что-то кликнул.