Coinkite, компания-производитель Coldcard, выпустила исправления прошивки и рекомендовала затронутым пользователям мигрировать свои средства. Однако инцидент потряс Bitcoin-сообщество до глубины души и поднял неудобный вопрос: если кошельки Coldcard могут быть скомпрометированы, означает ли это, что все аппаратные кошельки потенциально небезопасны?
Уязвимость Coldcard не эксплуатировала сам Bitcoin и не взломала современную криптографию, но она ударила по чему-то гораздо более фундаментальному: случайности.
Каждый Bitcoin-кошелек начинает свою работу с генерации seed-фразы из пула случайных данных. Это означает, что случайность должна быть достаточно непредсказуемой, чтобы сделать результирующие приватные ключи фактически невозможными для подбора. Энтропия относится к тому, насколько случайными являются эти данные.
Если эта случайность ослаблена по какой-либо причине, злоумышленники могут уменьшить количество возможных ключей и в конечном итоге найти способ их воспроизвести.
Представитель Coinkite объяснил журналу:
«Определенные версии прошивки имели резервный путь в генерации seed-фразы, который мог производить слабую энтропию при генерации на самой прошивке устройства».
Слабая генерация случайных чисел (RNG) не является беспрецедентной, но в отличие от многих других уязвимостей безопасности, её трудно обнаружить.
Эксперт по безопасности Bitcoin Джеймсон Лопп отметил, что уязвимости RNG ранее затрагивали длинный список криптовалютных кошельков и библиотек, от Android-кошелька Blockchain.com до Trust Wallet.
Винсент Бузон, директор по безопасности продуктов Ledger, объяснил журналу, что «слабая случайность проходит выходные тесты», что означает, что скомпрометированные генераторы случайных чисел все еще могут производить значения, которые выглядят случайными, что затрудняет выявление flaws.
Производители аппаратных кошельков согласны, что безопасная генерация энтропии не подлежит обсуждению, но они применяют разные подходы к её достижению.
Философия Ledger сосредоточена на специализированном защищенном оборудовании. Бузон говорит, что устройства Ledger генерируют seed-фразы, используя истинный генератор случайных чисел, встроенный в сертифицированный Secure Element. Источник энтропии сертифицирован по стандарту AIS-31 PTG.2, а Secure Element проходит сертификацию Common Criteria.
«Этот инцидент с Coldcard был сбоем в одной конкретной реализации, а не вердиктом о безопасном самостоятельном хранении [...] Генерация этой энтропии должна быть закреплена в защищенном оборудовании с архитектурой, которая не может незаметно понизиться до ненадежного программного источника», — заявил Бузон.
Trezor комбинирует случайность, сгенерированную внутри устройства, со случайностью, предоставленной хост-компьютером, вместо того чтобы зависеть от одного источника энтропии. Новые модели также включают дополнительные аппаратные источники.
Компания также включает проверки энтропии для подтверждения того, что устройство действительно предоставило непредсказуемую случайность во время создания кошелька.
«Вывод для всей индустрии заключается в том, что случайность не может зависеть от одного источника или одной строки кода, которая должна быть правильной», — сказал Томаш Сусанка, главный технический директор Trezor.
Кошелек Passport от Foundation аналогично полагается на несколько источников энтропии, делая упор на прозрачность. Генеральный директор Зак Герберт говорит, что Passport комбинирует случайность, сгенерированную отдельными аппаратными компонентами перед созданием кошелька.
Прошивка также публикуется как свободное и открытое программное обеспечение с воспроизводимыми сборками, поэтому независимые исследователи могут проверить, что программное обеспечение, работающее на устройстве, соответствует опубликованному коду.
«Сам баг был специфичен для Coldcard [...] Большее предупреждение заключается в том, что это оставалось незамеченным более пяти лет, пока люди доверяли продукту жизненно важные суммы денег», — отметил Герберт.
Ник Персоко, главный специалист по безопасности Kraken и бывший главный специалист по безопасности Uptake, видит инцидент с Coldcard как возможность для индустрии принять более строгие стандарты, независимо от того, какую философию дизайна выбирают производители.
«Сбой энтропии Coldcard должен стать тревожным звонком для всей индустрии аппаратных кошельков», — сказал он, утверждая, что сегодняшние схемы сертификации часто валидируют отдельные компоненты без подтверждения того, что производственная прошивка фактически использует их правильно.
Персоко предложил отраслевой стандарт обеспечения, требующий:
| Производитель | Подход к энтропии | Ключевые особенности | Открытость кода |
|---|---|---|---|
| Ledger | Специализированный Secure Element с сертификатом AIS-31 PTG.2 | Аппаратная защита, сертификация Common Criteria | Частично закрытый |
| Trezor | Комбинация устройства + хост-компьютер + дополнительные источники | Проверки энтропии, множественные источники | Полностью открытый |
| Foundation Passport | Несколько аппаратных компонентов | Воспроизводимые сборки, прозрачность | Полностью открытый |
| Coldcard | Аппаратный RNG (с уязвимостью в старых версиях) | Фокус на Bitcoin-only, расширенные функции | Полностью открытый |
Для пользователей Coldcard их непосредственным приоритетом является следование рекомендациям Coinkite по миграции, если они считают, что их кошельки были созданы с использованием затронутой прошивки.
В долгосрочной перспективе Bitcoin-сообщество в целом должно использовать этот эпизод как обучающий момент. Эксперты, включая Майкла Тангуму, подчеркивают необходимость избегать архитектур дизайна, в которых любой единичный сбой может скомпрометировать средства.
«Сегодня, реалистично, вы хотите multisig и независимо сгенерированную энтропию [...] Митигация, которая действительно масштабируется, является архитектурной: установки, где ни одно устройство, вендор или институт, будучи неправым, не могут потерять средства», — сказал Тангума.
Инцидент с Coldcard четко продемонстрировал, что безопасность не должна зависеть от одного компонента. Вот несколько архитектурных подходов, которые минимизируют риски:
Настройка мультисиг-кошелька (например, 2-из-3 или 3-из-5) с использованием устройств от разных производителей:
Даже если один производитель имеет уязвимость, злоумышленнику все равно потребуется компрометировать другие устройства для получения доступа к средствам.
Разделение seed-фразы на несколько частей, где для восстановления требуется определенное количество частей (например, 3 из 5). Это позволяет:
Добавление дополнительного слова к стандартной 12 или 24-словной seed-фразе создает совершенно другой кошелек. Даже если злоумышленник получит вашу seed-фразу, без passphrase он не сможет получить доступ к средствам.
Важно: passphrase должна быть запомнена, а не записана вместе с seed-фразой, иначе это сводит на нет всю дополнительную безопасность.
Инцидент с Coldcard, вероятно, приведет к нескольким важным изменениям в индустрии:
Текущие схемы сертификации часто фокусируются на отдельных компонентах без проверки того, как они интегрированы в конечный продукт. Ожидается появление более комплексных стандартов, которые:
Производители будут внедрять более sophisticated механизмы для верификации того, что устройство работает как задумано:
Давление со стороны сообщества заставит больше производителей:
Для полного понимания масштаба проблемы рассмотрим ключевые цифры:
Инцидент с Coldcard содержит несколько критически важных уроков для всей криптовалютной экосистемы:
Уязвимость Coldcard особенно коварна по нескольким причинам:
В отличие от многих других уязвимостей, эта проблема не проявлялась в поведении устройства. Кошелек работал нормально, подписывал транзакции, отображал балансы — ничто не указывало на проблему. Пользователи могли годами использовать устройство, не подозревая о компрометации.
Как отметил Винсент Бузон из Ledger, слабая случайность проходит стандартные статистические тесты. Это означает, что даже sophisticated анализ мог не выявить проблему без глубокого понимания внутренней работы устройства.
Поскольку seed-фраза генерируется один раз при создании кошелька, уязвимость затрагивала все будущие транзакции. Даже после обновления прошивки старые кошельки оставались уязвимыми, если seed-фраза не была регенерирована.
Это подчеркивает критическую важность понимания: обновление прошивки не всегда достаточно. Если seed-фраза была скомпрометирована, необходимо создать полностью новый кошелек с новой seed-фразой.
Так что же, все ли аппаратные кошельки небезопасны? Ответ — нет. Инцидент с Coldcard выявил сбой в одной конкретной реализации, но он также заставил производителей поднять завесу над процессом, находящимся в основе самостоятельного хранения: генерацией секрета, который никто другой не может предсказать.
Этот инцидент стал мощным напоминанием о нескольких фундаментальных истинах:
Для Bitcoin-холдеров этот инцидент должен стать катализатором для пересмотра своих стратегий безопасности. Не для паники и отказа от самостоятельного хранения, а для внедрения более robust подходов, которые не зависят от безупречности какого-либо одного устройства или производителя.
Multisig, диверсификация, независимая генерация энтропии, регулярные проверки — эти практики создают систему безопасности, которая может выдержать сбой любого отдельного компонента. В мире, где perfect security не существует, resilient security — это то, к чему мы должны стремиться.
Инцидент с Coldcard, при всей своей серьезности, в конечном счете сделает экосистему сильнее. Он заставил производителей пересмотреть свои подходы, пользователей — стать более бдительными, а сообщество — разработать лучшие стандарты. В долгосрочной перспективе это именно то, что нужно для зрелости и устойчивости Bitcoin-экосистемы.
«Безопасность — это не пункт назначения, а путешествие. И в этом путешествии самые важные уроки часто приходят из самых болезненных инцидентов. Вопрос не в том, произойдет ли следующая уязвимость, а в том, насколько мы готовы к ней».
— Андреас Антонопулос, известный эксперт по Bitcoin и децентрализованным технологиям
