▼ Bear
Влияние
82 · Высокое
Колдовые карты: после уязвимости, связанной с использованием seed-фраз, теперь требуется ввод ключа 65 раз. Для существующих кошельков обязательна миграция
BTC
CryptoSlate · 18h agoОткрыть источник ↗
Компания Coinkite, производитель аппаратных кошельков для криптовалюты Bitcoin, 20 августа представила новую стандартную прошивку для устройства Coldcard. Основной особенностью этого обновления является обязательное требование к пользователю лично вводить физическую случайность в процессе создания seed-фразы. Пользователь должен выполнить одно из следующих действий: ввести 65 или более случайных символов с непредсказуемыми интервалами, бросить шестигранный кубик 50 раз или подбросить монету 128 раз. Это сделано для снижения рисков, связанных с использованием только генератора случайных чисел (RNG) в кошельке.
Рекомендуемые версии охватывают широкий спектр устройств. Для моделей 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, и предупредил, что полагаться только на установленные производителем стандарты безопасности недостаточно.
Основная причина этой уязвимости заключается в коде обработки ошибок (fallback) в MicroPython. Согласно анализу компании Block, флаг функции, установленный в значение 0, был интерпретирован как "существующий", что могло привести к перенаправлению запроса на генерацию случайных чисел в детерминированный механизм обработки ошибок. В результате, при генерации ключа без достаточного внешнего источника энтропии, безопасность значительно снижалась. Принудительный ввод данных предназначен для ограничения ущерба в случае повторной неудачи генерации случайных чисел устройством, но он не может быть применен к уже сгенерированным ключам.
В этом обновлении, помимо генерации сидов, также включены многочисленные элементы, касающиеся безопасности. Добавлена синхронизация USB-обзоров с контрольными суммами PSBT, проведена повторная проверка байтов транзакций перед подписанием, а режим SIGHASH_SINGLE теперь заблокирован по умолчанию. Ограничена загрузка с USB только текущими зашифрованными данными сессии, также добавлены функции проверки длины файлов прошивки, остановки постоянных сбоев генератора случайных чисел (RNG) и проверки подключения аппаратного RNG при загрузке.
В требованиях к миграции существует одно исключение. Пользователи, которые использовали уязвитую версию прошивки и при этом провели не менее 50 честных, независимых и конфиденциальных тестов генератора случайных чисел, освобождаются от необходимости миграции. Однако, если количество тестов недостаточно или у пользователя нет уверенности в соблюдении указанных условий, он должен обязательно создать новый сид и перевести свои средства. Официальное руководство CoinKite рекомендует следующий порядок действий: создание нового сида, резервное копирование, проверка отпечатка кошелька, проверка адреса получения на устройстве, отправка тестового платежа небольшой суммой, а затем перевод всей суммы. Восстановление или клонирование кошелька не считается созданием нового сида.
Компания Coinstrike заявила, что некоторые клиенты понесли серьезные убытки, и что данный факт расследуется соответствующими органами. Однако компания не раскрыла количество пострадавших и общую сумму убытков. Кроме того, компания уточнила, что текущий набор проверок (анализ исходного кода, тестирование работы генератора случайных чисел на реальном оборудовании, воспроизводимая сборка и отслеживание пути генерации случайных чисел) не является полным аудитом всего измененного программного обеспечения.
Содержимое резюмировано ИИ. Полную статью читайте в источнике.