Kraken: пробел в независимом аудите Coldcard

Kraken заявил, что аудит Coldcard не подтвердил, что рабочая прошивка использует утверждённый генератор случайных чисел; уязвимость привела к кражам и приостановке поставок.
Kraken сообщил о пробеле в практике независимого аудита аппаратных кошельков Coldcard после обнаружения уязвимости в генерации seed‑фраз. Производитель Coldcard, компания Coinkite, опубликовал предупреждение 30 июля, примерно через 30 часов после массовых выводов средств с адресов, которые связывают с уязвимыми кошельками.
По данным анализа прошивки, проблема возникла в марте 2021 года при изменении процесса создания seed и интеграции новой криптографической библиотеки. В производственной конфигурации макрос MICROPY_HW_ENABLE_RNG был равен нулю, а библиотека libngu проверяла только наличие макроса, но не его фактическую активацию. В результате вместо аппаратного генератора истинно случайных чисел устройство использовало резервный псевдослучайный генератор Yasmarang из MicroPython, который при определённых условиях может выдавать предсказуемые последовательности.
Это затронуло модели Mk2 и Mk3 с прошивками версий 4.0.1–4.1.9: в этих сборках почти отсутствовала криптографическая энтропия в ngu.random, оцененная производителем примерно в 40 бит. Для моделей Mk4, Mk5 и Q при загрузке добавлялась энтропия от secure element, однако сохранялось только четыре байта, что снижало ожидаемые 128 бит до примерно 72 бит и сокращало пространство поиска для атакующих. Обновление прошивки устраняет проблему для новых seed, но не восстанавливает безопасность уже созданных фраз.
Анализ транзакций блокчейна зафиксировал несколько волн массовых выводов. Первая волна 30 июля охватила 1196 адресов и сумму около 1082,65 BTC. Позже были зафиксированы другие волны: одна оценивалась в 388,9 BTC с 462 возможных адресов, затем пересчёт показал примерно 448,7 BTC с 709 адресами; отдельная волна составляла около 594,48 BTC. По текущим оценкам суммарный ущерб превышает $90 млн.
Coinkite приостановила поставки устройств 2 августа и уничтожила оставшиеся устройства с уязвимой прошивкой. Компания попросила пользователей не выбрасывать старые устройства, так как они могут понадобиться при попытках вернуть средства. Производитель рекомендовал обновить устройство, создать новый seed с дополнительной энтропией (например, бросками кубиков) или использовать сильную уникальную парольную фразу BIP‑39, проверить резервную копию, отправить тестовую транзакцию и лишь затем перемещать основные средства. Также компания сообщила, что её юристы будут взаимодействовать с правоохранительными органами.
Директор по безопасности Kraken Ник Перкоцо указал на ограничение существующих аудитов: проверка наличия аппаратного генератора случайных чисел в устройстве не гарантирует, что рабочая прошивка использует этот источник. Он привёл в пример стандарты NIST SP 800‑90B и BSI AIS‑31 как описывающие требования к проектированию и проверке физических источников случайности и заявил о необходимости аудита полного пути — от физического источника энтропии до кода, который формирует seed‑фразу.
Материалы на GNcrypto предоставляются исключительно в информационных целях и не являются финансовой рекомендацией. Мы стремимся публиковать точные и актуальные данные, однако не можем гарантировать их абсолютную достоверность, полноту или надёжность. GNcrypto не несёт ответственности за возможные ошибки, упущения или финансовые потери, возникшие вследствие использования данной информации. Все действия вы совершаете на свой страх и риск. Всегда проводите собственный анализ и консультируйтесь с профессионалами. Подробнее см. в наших страницах Условия, Политика конфиденциальности и Отказ от ответственности.







