Уязвимость канадского Coldcard помогла похитить биткоины на $88 млн

Уязвимость канадского Coldcard помогла похитить биткоины на $88 млн 242 просмотра

Мадина Ахметова #технологии

Уязвимость в прошивке канадских аппаратных кошельков Coldcard привела к серии краж биткоинов. По данным Galaxy Research, 30 июля злоумышленник за 41 минуту вывел 1 082,65 BTC примерно на 70,2 млн долларов с 1 196 адресов.

Позднее Galaxy обнаружила ещё две предположительно связанные волны переводов. Общий объём наблюдаемой активности достиг 1 367,05 BTC, или около 88,6 млн долларов, на 4 585 адресах. Исследователи подчеркнули, что выводы основаны на анализе блокчейна: для каждого адреса ещё не подтверждено вычислительно, что он был создан именно на уязвимом устройстве.

Проблема возникла в марте 2021 года при изменении кода Coldcard. При создании seed-фразы устройство должно было использовать аппаратный генератор случайных чисел STM32, однако из-за ошибки интеграции задействовало детерминированный программный генератор Yasmarang.

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

Наиболее серьёзно затронуты устройства Mk2 и Mk3 с прошивками 4.0.0–4.1.9. Для них Block описала детерминированный путь генерации seed-фразы без дополнительной криптографической энтропии. В моделях Mk4, Mk5 и Q использовалась дополнительная энтропия защищённого элемента, но после ошибки она ограничивалась 32 битами, что также снижало стойкость созданных ключей.

Компания Coinkite 30 июля предупредила пользователей, а 31 июля выпустила исправленные версии прошивки для затронутых моделей. Для Mk2 и Mk3 это версия 4.2.0 или новее, для Mk4 и Mk5 — 5.6.0 или новее, для Q — 1.5.0Q или новее. Для отдельных веток Edge предназначены версии 6.6.0X и 6.6.0QX.

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

Дополнительная BIP-39 passphrase может создать отдельный кошелёк и затруднить доступ к средствам, однако Coinkite всё равно советует заменить уязвимый seed. Перенос старой seed-фразы на другой кошелёк проблему не устраняет, поскольку слабость связана с самим набором ключей.

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

Личность злоумышленника не установлена. Аналитики Galaxy отметили, что одинаковые параметры транзакций позволяют связать отдельные волны переводов, но сами по себе не доказывают, что все средства были похищены одним оператором.

Наша редакция участвует в партнёрской сети «Все СМИ».

Другие новости

Подписаться на Telegram-канал