ДомойКриптовалютыBitcoin БиткойнУязвимость сид-фразы Coldcard связана с кражей биткойнов на 112 миллионов долларов

Уязвимость сид-фразы Coldcard связана с кражей биткойнов на 112 миллионов долларов

Аппаратный кошелёк, созданный для того, чтобы держать приватные ключи Bitcoin подальше от хакеров, теперь сообщает собственным клиентам, что некоторые из этих ключей уже могут быть скомпрометированы. Coinkite, производитель кошелька Coldcard, выпустила новую прошивку, призванную закрыть уязвимость сидов Coldcard, которая позволяла злоумышленникам восстанавливать приватные ключи, просто отслеживая нажатия кнопок. Исправление усиливает процесс генерации сид-фраз для новых кошельков, но делает и кое-что ещё: оно заставляет владельцев столкнуться с неприятной правдой. Если ваш сид был создан до установки патча, обновление прошивки его не спасёт.

Ключевые выводы

  • Coinkite выпустила прошивку 5.6.1 для устройств Coldcard Mk4 и Mk5 и 1.5.1Q для Coldcard Q, требуя, чтобы новые сиды смешивали физическую случайность.
  • Создание нового сида теперь требует как минимум 65 нажатий клавиш, 50 бросков шестигранного кубика или 128 подбрасываний монеты в сочетании с энтропией устройства.
  • Сиды, сгенерированные на уязвимой прошивке, остаются под угрозой даже после обновления; затронутые владельцы должны создать новый сид и перевести свои средства.
  • Независимый анализ от Block предполагает, что окно уязвимости может быть шире, чем признаётся в официальном уведомлении Coinkite.

Coinkite усиливает генерацию сидов Coldcard после эксплойта

Ответ Coinkite на утечку — это переработанная прошивка, которая больше не позволяет Coldcard генерировать сид, опираясь только на случайность устройства. Компания опубликовала обновление в блоге в четверг, сообщив владельцам устройств Mk4 и Mk5 об установке версии 5.6.1, а владельцам Coldcard Q — о переходе на 1.5.1Q. Обе версии были выпущены 20 августа, и Coinkite настоятельно призывает всех пользователей обновиться без промедления.

Новые версии прошивки и требование физической случайности

Ключевое изменение просто описать, но оно существенно на практике. Каждый новый сид теперь должен комбинировать энтропию устройства — полученную из защищённых элементов Coldcard и аппаратного генератора случайных чисел — с источником случайности, задаваемым человеком. Это означает как минимум 65 нажатий клавиш с непредсказуемыми интервалами, 50 бросков шестигранного кубика или 128 подбрасываний монеты. Логика проста: если внутренний генератор случайных чисел устройства снова выйдет из строя или будет подменён, внешняя энтропия от человеческой руки всё равно сохранит непредсказуемость полученного сида.

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

Почему старые сиды остаются под угрозой

Установка новой прошивки никак не исправляет уже существующий сид. Это суровая реальность, которую Coinkite теперь доносит до своей клиентской базы, и это та часть истории, которая несёт наибольшие финансовые риски. Сид, сгенерированный на затронутой версии прошивки, остаётся столь же легко угадываемым сегодня, как и до патча, независимо от того, был ли впоследствии обновлён кошелёк, на котором он используется.

Официальный список подверженных версий от Coinkite охватывает прошивки Mk2 и Mk3 между версиями 4.0.1 и 4.1.9, стандартную прошивку Mk4 и Mk5 до 5.6.0 вместе с Edge-прошивкой до 6.6.0X, а также стандартную прошивку Q до 1.5.0Q с Edge-прошивкой до 6.6.0QX. Собственный анализ Block проводит границу немного раньше, включая версию 4.0.0 для Mk2 и Mk3 в зону риска — что означает, что некоторые владельцы, считающие себя в безопасности в рамках границ Coinkite, на самом деле могут таковыми не быть.

Шаги миграции и исключение для бросков кубика

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

Одна инструкция повторяется не случайно — клонирование или восстановление старого кошелька не создаёт новый сид. Coinkite прямо указывает, что такой обходной путь оставляет исходную уязвимость нетронутой. Любой, кто надеется обойти более утомительный процесс с бросками кубика и нажатиями клавиш, просто восстановив резервную копию, по сути, сохраняет скомпрометированный приватный ключ на месте.

Coldcard также предлагает продвинутый режим «Только броски кубика», который полностью исключает аппаратную случайность и полагается вместо этого на 50 бросков для 12-словного сида или 99 бросков для 24-словного сида. Это отдельный, более строгий путь по сравнению со стандартным потоком смешанной энтропии, который теперь требуется по умолчанию.

Насколько глубока уязвимость сидов Coldcard?

Финансовый ущерб, связанный с этим изъяном, больше не является теоретическим. Сама Coinkite признала, что некоторые клиенты понесли серьёзные потери и что ведётся расследование правоохранительными органами, но компания не опубликовала ни подтверждённого числа пострадавших, ни собственной оценки общего объёма убытков.

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

Помимо генерации сидов, новая прошивка также усиливает подпись и проверку транзакций. Она связывает USB-интерфейс с временным хэшем PSBT, проверяет данные транзакции до применения подписи, по умолчанию блокирует операции SIGHASH_SINGLE, ограничивает передачу файлов по USB текущей зашифрованной сессией и проверяет длину файла прошивки. Coinkite добавила постоянные остановки при сбоях RNG, проверку при загрузке, связывающую аппаратный RNG, более сильную изоляцию Delta Mode и новое поведение резервного копирования активного кошелька. Компания описывает свою проверку как целевой анализ исходного кода, тестирование пути RNG на реальном устройстве и воспроизводимую сборку с трассировкой пути бросков кубика — но не называет это полноценным аудитом каждого исправленного бинарного файла.

Сроки добавляют ещё один уровень беспокойства для владельцев кошельков: Microsoft отдельно предупредила о вредоносном ПО CryptoBandits, способном использовать USB-накопители для атаки на криптокошельки, что напоминает: безопасность аппаратных кошельков зависит не только от прошивки.

FAQ

Какие изменения вносят новые обновления прошивки Coldcard?

Обновления прошивки 5.6.1 и 1.5.1Q требуют, чтобы новые сиды кошельков включали обязательную физическую случайность через 65 нажатий клавиш, 50 бросков кубика или 128 подбрасываний монеты в сочетании с энтропией устройства.

Становятся ли существующие сиды Coldcard, созданные на затронутых версиях прошивки, безопасными после обновления?

Нет. Существующие сиды, созданные на затронутой прошивке, остаются уязвимыми и не могут быть защищены установкой обновлённой прошивки; затронутым пользователям необходимо создать новые сиды и перенести средства.

Могут ли пользователи защитить свой кошелёк, клонируя или восстанавливая старый кошелёк?

Нет. Клонирование или восстановление старого кошелька не создаёт новый сид. В целях безопасности генерация нового сида является обязательной.

Что должны делать пользователи, если их сид подпадает под исключение с 50 бросками?

Пользователи, сид которых соответствует приватному исключению с 50 бросками, согласно рекомендациям Coinkite, могут не нуждаться в миграции — хотя тем, кто не уверен, подпадает ли их сид под это исключение, безопаснее считать его скомпрометированным.

{«@context»:»https://schema.org»,»@type»:»FAQPage»,»mainEntity»:[{«@type»:»Question»,»name»:»Какие изменения вносят новые обновления прошивки Coldcard?»,»acceptedAnswer»:{«@type»:»Answer»,»text»:»Обновления прошивки 5.6.1 и 1.5.1Q требуют, чтобы новые сиды кошельков включали обязательную физическую случайность через 65 нажатий клавиш, 50 бросков кубика или 128 подбрасываний монеты в сочетании с энтропией устройства.»}},{«@type»:»Question»,»name»:»Становятся ли существующие сиды Coldcard, созданные на затронутых версиях прошивки, безопасными после обновления?»,»acceptedAnswer»:{«@type»:»Answer»,»text»:»Нет. Существующие сиды, созданные на затронутой прошивке, остаются уязвимыми и не могут быть защищены установкой обновлённой прошивки; затронутым пользователям необходимо создать новые сиды и перенести средства.»}},{«@type»:»Question»,»name»:»Могут ли пользователи защитить свой кошелёк, клонируя или восстанавливая старый кошелёк?»,»acceptedAnswer»:{«@type»:»Answer»,»text»:»Нет. Клонирование или восстановление старого кошелька не создаёт новый сид. В целях безопасности генерация нового сида является обязательной.»}},{«@type»:»Question»,»name»:»Что должны делать пользователи, если их сид подпадает под исключение с 50 бросками?»,»acceptedAnswer»:{«@type»:»Answer»,»text»:»Пользователи, сид которых соответствует приватному исключению с 50 бросками, согласно рекомендациям Coinkite, могут не нуждаться в миграции — хотя тем, кто не уверен, подпадает ли их сид под это исключение, безопаснее считать его скомпрометированным.»}}]}

Статья подготовлена при содействии искусственного интеллекта и проверена редакционной командой.

Satoshi Voice
Эта статья была подготовлена при поддержке искусственного интеллекта и проверена нашей командой журналистов для обеспечения точности и качества.
RELATED ARTICLES

Stay updated on all the news about cryptocurrencies and the entire world of blockchain.

Featured video

LATEST