Разработчик bitcoin перечислил девять проблем с генератором случайных чисел в кошельке Coldcard

iconThe Defiant
Поделиться
AI summary iconСводка
Срочные новости о bitcoin: 9 ноября разработчик bitcoin Люк Дашджер перечислил девять проблем с ГСЧ в аппаратном кошельке Coldcard от Coinkite. Дашджер заявил, что ранее сообщал об этих проблемах в частном порядке и не знает, устранены ли они. Его обзор был кратким осмотром, а не полным аудитом. Это раскрытие последовало за инцидентом с генерацией семени в июле. Дашджер отметил отсутствие проверок и слабую детекцию ошибок в обновленном коде. Coinkite добавила проверки ГСЧ в последующих версиях прошивки, включая обнаружение ошибок семени и самотестирование аппаратного ГСЧ. Некоторые проблемы, такие как проверки на повторяющиеся выходы и обработка ошибок часов, остаются нерешенными. Новости о bitcoin продолжают подчеркивать проблемы безопасности в аппаратных кошельках.

Разработчик bitcoin Лук Дашджр 9 ноября публично перечислил девять проблем в коде генерации случайных чисел аппаратного кошелька Coldcard от Coinkite, сказав, что ранее сообщал о них компании в частном порядке.

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

Его тема ссылается на обновление прошивки в июле. Последующие заметки о выпуске и опубликованный исходный код Coinkite содержат изменения, устраняющие несколько из поднятых им вопросов, включая проверки ошибок семени чипа и тест запуска пути аппаратного RNG.

https://x.com/i/status/2119836060306018364

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

пронумерованные сообщения Dashjr вызвали опасения по поводу кода, использованного после предыдущего исправления:

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

Он сказал, что проверки на повторяющийся вывод применяются к буферизованным чтениям, но не к прямым вызовам, и утверждал, что нижнеуровневая процедура обнаружения ошибок сама по себе не была достаточно продемонстрирована.

Он задал вопрос, почему случайность элемента безопасности не сохранила ожидаемую стойкость, настоятельно рекомендовал полностью протестировать недавно включенный путь RNG и потребовал проверку на устройстве, а не полагаться только на средства защиты на этапе сборки.

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

Dashjr сказал, что он сделал это публичным, узнав, что NVK утверждает, что люди не могут обнаружить дефект Coldcard. Ранее в тот же день генеральный директор Coinkite Родольфо Новак, известный как NVK, написал, что «для обнаружения того, что не смогли найти люди, потребовалась новая модель ИИ». Пост Новака касался обнаружения предыдущего дефекта генерации семени; технический тред Dashjr касался кода после исправления.

Позже в прошивку были добавлены проверки RNG

Страница загрузки Coinkite download page указывает 5.6.3 в качестве текущей стандартной прошивки для Mk4/Mk5 и 1.5.3Q для Q. История выпусков release history указывает, что обнаружение ошибок семени и самотестирование при запуске с аппаратным RNG были добавлены в версию 5.6.1, выпущенную 20 августа.

Опубликованный исходный код Mk4 для 5.6.3 отбрасывает образцы разогрева, проверяет флаги ошибок семени, повторяет неудачные попытки и проверяет, достигают ли вызовы аппаратного генератора случайных чисел. В примечаниях к выпуску также говорится, что оба безопасных элемента теперь выбираются непосредственно для каждого нового основного семени, а не вносят вклад только через инициализацию RNG при загрузке.

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

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

Отказ от ответственности: Информация на этой странице может быть получена от третьих лиц и не обязательно отражает взгляды или мнения KuCoin. Данный контент предоставляется исключительно в общих информационных целях, без каких-либо заверений или гарантий, а также не может быть истолкован как финансовый или инвестиционный совет. KuCoin не несет ответственности за ошибки или упущения, а также за любые результаты, полученные в результате использования этой информации. Инвестиции в цифровые активы могут быть рискованными. Пожалуйста, тщательно оценивайте риски, связанные с продуктом, и свою устойчивость к риску, исходя из собственных финансовых обстоятельств. Для получения более подробной информации, пожалуйста, ознакомьтесь с нашими Условиями использования и Уведомлением о риске.