Пятилетний дефект генерации сид-фраз Coldcard возобновил призывы к независимому тестированию прошивки аппаратных кошельков после того, как предполагаемые атаки вывели почти 90 миллионов долларов в биткоинах из тысяч кошельков.
Резюме
- Директор по безопасности Kraken призвал к независимому тестированию генерации сид-фраз аппаратных кошельков после обнаружения уязвимости Coldcard.
- Предполагаемые атаки вывели почти 90 миллионов долларов в биткоинах, при этом Galaxy Research отслеживает более 5200 потенциальных адресов жертв.
- Coinkite выпустила исправленную прошивку, но заявляет, что затронутые пользователи должны создать новые сид-фразы, поскольку обновления не могут восстановить существующие кошельки.
- Исследователи безопасности проследили проблему до ошибки в прошивке, которая использовала более слабый генератор случайных чисел при создании кошелька.
Директор по безопасности Kraken Ник Перкоко заявил в посте на X в воскресенье, что этот инцидент должен послужить предупреждением для индустрии аппаратных кошельков, утверждая, что производители не должны быть единственными сторонами, проверяющими, как генерируются сид-фразы кошельков.
Он сказал, что производственная прошивка должна проходить независимое тестирование, чтобы подтвердить, что одобренный источник случайности действительно используется при создании секретов кошелька.
Согласно последнему анализу блокчейна Galaxy Research, предполагаемые злоумышленники уже вывели более 1800 BTC с более чем 5200 потенциальных адресов жертв в ходе четырех наблюдаемых волн атак, хотя фирма подчеркнула, что эти цифры являются ончейн-оценками, а не подтвержденными потерями. Coinkite не проверила каждый затронутый кошелек, и одни только данные блокчейна не могут определить, совершил ли все атаки один субъект.
Дефект Coldcard оставался незамеченным более пяти лет
Coinkite сообщила в четверг, что уязвимость восходит к марту 2021 года, когда компания переносила часть своей прошивки при интеграции новой криптографической библиотеки.
Вместо использования предполагаемого аппаратного генератора истинных случайных чисел Coldcard для создания сид-фраз кошелька, обновленная прошивка случайно вызывала более слабый детерминированный псевдослучайный генератор, предоставляемый MicroPython.
Согласно посмертному анализу Coinkite, предполагаемый генератор случайных чисел оставался активным в других частях прошивки, что позволяло проверкам кода подтверждать его наличие, не раскрывая, что создание кошелька полагалось на другой источник энтропии.
Компания заявила, что не знала о существовании генератора MicroPython в соответствующем пути кода до расследования. Хотя аппаратный генератор случайных чисел продолжал работать для других функций, он больше не отвечал за генерацию новых секретов кошелька.
Команда по биткоин-инжинирингу и безопасности Block независимо пришла к тому же выводу во время своего технического обзора. Компания заявила, что затронутая прошивка вызывала детерминированный резервный вариант MicroPython вместо аппаратного генератора случайных чисел STM32 при создании сид-фраз кошелька. Хотя Block заявила, что не завершила полное эмпирическое тестирование каждого устройства, она решила раскрыть свои выводы, поскольку уже появились сообщения об активных кражах.
Coinkite оценивает, что сид-фразы, созданные на затронутых устройствах Mk2 и Mk3, могут содержать около 40 бит эффективной энтропии, в то время как затронутые модели Mk4, Mk5 и Q могут содержать около 72 бит вместо предполагаемых 128 бит.
Тестирование аппаратных кошельков не включало проверку энтропии
Используя инцидент с Coldcard в качестве примера, Перкоко утверждал, что сертификация аппаратных кошельков упустила одну из самых важных частей безопасности кошелька.
Он сказал, что пользователи в настоящее время должны доверять тому, что производители правильно реализуют генерацию сид-фраз, поскольку ни один независимый процесс не проверяет, что производственная прошивка действительно вызывает одобренный источник энтропии. Существующие сертификации, включая оценки Common Criteria для защищенных элементов, проверки CSPN и аудиты, спонсируемые поставщиками, систематически не проверяют эту связь, по словам Перкоко.
Чтобы проиллюстрировать этот разрыв, он указал на NIST SP 800-90B — стандарт США, регулирующий проектирование и проверку истинных генераторов случайных чисел, используемых в криптографических системах, а также на структуру BSI AIS-31 в Германии, которая устанавливает аналогичные требования к тестированию. Он утверждал, что сопоставимая сквозная проверка в настоящее время не существует для аппаратных кошельков.
Перкоко также сравнил этот сектор с безопасностью платежей, отметив, что устройства для ввода PIN-кода не могут быть отправлены без независимых лабораторных испытаний, в то время как криптографические модули правительства США требуют проверки источника энтропии перед утверждением.
Пользователям Coldcard по-прежнему нужны новые сид-фразы кошелька
Поскольку атаки продолжались в течение выходных, Coinkite заявила, что приостановила все поставки после подтверждения уязвимости и уничтожила все оставшиеся устройства на своих объектах, содержащие затронутое прошивку.
Тем не менее компания посоветовала клиентам не выбрасывать затронутые устройства, потому что они могут стать важными, если украденные средства в конечном итоге будут возвращены в ходе судебных разбирательств. Coinkite добавила, что ее юридическая команда будет координировать действия с правоохранительными органами в нескольких юрисдикциях, где это уместно.
Обновления прошивки уже выпущены для всех затронутых моделей, включая версию 4.2.0 для Mk2 и Mk3, версию 5.6.0 для Mk4 и Mk5, версию 1.5.0Q для Coldcard Q, а также версии 6.6.0X и 6.6.0QX для выпусков Edge. По словам компании, установка обновленной прошивки только исправляет создание будущих кошельков и не усиливает сид-фразы, созданные до применения патча.
По этой причине пользователям, подпадающим под действие уведомления, рекомендуется сгенерировать совершенно новые сид-фразы после обновления своих устройств, проверить адрес получения, отправить небольшую тестовую транзакцию и перенести оставшийся баланс только после подтверждения успешности перевода.
Coinkite заявила, что кошельки, созданные с использованием как минимум 50 честных и приватных бросков игральных костей, не считаются подверженными риску только из-за ошибки генерации случайных чисел. Компания добавила, что надежная и уникальная парольная фраза BIP-39 обеспечивает дополнительный уровень защиты, но не устраняет слабость уже затронутой сид-фразы, что означает, что миграция остается рекомендуемым курсом действий.
Продолжающиеся атаки расширяют известные потери
Отдельный анализ блокчейна от Galaxy Research показывает, что атаки продолжались с момента, когда уязвимость стала публичной.
Алекс Торн, руководитель исследовательского отдела Galaxy, выявил предполагаемую четвертую скоординированную волну атак 3 августа, что довело наблюдаемый компанией общий объем до примерно 1815,75 BTC по 5294 потенциальным адресам жертв, если ни одна из групп адресов не пересекается. Торн описал кошельки как «вероятные жертвы Coldcard» и подчеркнул, что цифры получены из анализа блокчейна, а не из подтвержденных записей устройств или данных правоохранительных органов.
Galaxy также сообщила, что активность атак достигла 13,8 очисток кошельков на блок во время последней волны, по сравнению с базовым уровнем 0,3 очистки на блок до инцидента. Фирма заметила, что большинство балансов жертв были отправлены на вновь созданные адреса, а не в единый сборный кошелек, в то время как некоторые средства уже прошли через транзакции второго перехода, что затрудняет отслеживание украденных биткоинов.
По данным Galaxy, пользователи, чьи украденные средства остаются в неподтвержденных биткоин-транзакциях, все еще могут иметь узкую возможность отправить заменяющую транзакцию с более высокой комиссией до того, как майнеры подтвердят исходный перевод.
Ссылаясь на документацию Bitcoin Core, исследовательская фирма отметила, что Replace-by-Fee можно попытаться выполнить только пока транзакция остается неподтвержденной, и это не гарантирует возврат средств, даже если законный владелец все еще контролирует затронутые ключи.







