Пятилетняя уязвимость в Coldcard вскрыла серьёзный пробел в том, как проверяют безопасность аппаратных кошельков. По словам главы по безопасности криптобиржи Kraken Ника Перкока, баг должен служить сигналом тревоги для производителей: независимые тесты обязаны проверять, что используется именно утверждённый источник случайности, а не какой-то другой.
«Потребителей просят доверять реализации производителя самой критичной функции в системе, без какой-либо независимой проверки того, что на деле работает именно одобренный путь генерации энтропии», — сказал Перкoco на платформе X.
Как уязвимость прошла все проверки
В четверг компания Coinkite раскрыла ошибку в коде, которая существует с марта 2021 года. Когда Coldcard переходил на новую криптографическую библиотеку, генерация семени кошелька случайно перенаправилась на более слабый встроенный генератор вместо предусмотренного надёжного алгоритма.
Проверяющие видели в исходном коде оба алгоритма и подтверждали, что оба работают. Но никто не проверил, какой из них на самом деле вызывается прошивкой. Уязвимость позволила злоумышленникам угадывать семена кошельков: на сегодня скомпрометировано более 4500 адресов, украдено почти $90 млн в биткоинах.
Чего не хватает в стандартах
Перкoco указал, что в остальной индустрии безопасности такие проверки давно стали стандартом. США требуют валидацию источников энтропии для криптографических модулей, немецкие стандарты BSI AIS-31 обязывают end-to-end проверку. Платёжные системы не отправляют устройства на рынок без независимого тестирования.
«Аппаратные кошельки здесь исключение. У нас есть сертификации, но ни одна не требует систематической проверки того, что валидированный источник энтропии — это то, что реально вызывает прошивка», — сказал Перкoco.
Coldcard с четверга заморозил отправку устройств, а остальные единицы с уязвимой прошивкой уничтожены на складах. Компания Coinkite просит владельцев затронутых кошельков их не выбрасывать — они могут понадобиться при возмещении убытков. Правовая команда координирует работу с правоохранительными органами несколько стран для выявления причастных к атакам.