КЕЙС | Почему эта уязвимость Cold Wallet выявляет серьезную проблему безопасности аппаратных кошельков Bitcoin
Ключевые выводы
- •Более 1,082 BTC на сумму примерно $70 million были похищены из 1,196 кошельков Coldcard в ходе скоординированной 41-минутной операции 30 July, что почти вдвое превышает первоначально сообщенные 594 BTC.
- •Ошибка прошивки, внедренная в March 2021, заставляла затронутые устройства Coldcard Mk3 генерировать seed phrases с использованием предсказуемой программной случайности вместо защищенного аппаратного генератора случайных чисел.
- •Атакующие смогли полностью офлайн восстановить приватные ключи жертв, не получая физического доступа к устройствам или recovery phrases, тем самым обойдя основную air-gapped-модель безопасности кошелька.
- •На более новых моделях Coldcard, включая Mk4, Q и Mk5, уязвимость сократила бы пространство возможных seed примерно до 4 billion комбинаций, что вычислительно возможно перебрать.
- •Инцидент показывает, что генерация энтропии в аппаратных кошельках является единичной точкой отказа, корректность которой трудно проверить конечным пользователям или сторонним аудиторам после настройки.

Кража более 1,000 BTC, стоимость которых составляет примерно $70 million, с уязвимых кошельков Coldcard Bitcoin является одним из наиболее значительных компрометаций аппаратных кошельков за всю историю. Coldcard, выпускаемый канадской компанией по безопасности Bitcoin Coinkite, широко считается одним из наиболее ориентированных на безопасность аппаратных кошельков на рынке и ценится за air-gapped-архитектуру, которая изолирует приватные ключи от устройств, подключенных к интернету. Особенность этого инцидента в том, что атакующим не потребовался ни физический доступ к устройствам, ни recovery phrases пользователей — то есть была преодолена именно та модель угроз, от которой кошелек должен был защищать.
Исследователи теперь оценивают, что 1,082.65 BTC были похищены из 1,196 кошельков в ходе скоординированной операции, длившейся всего 41 минуту 30 July. Эта цифра почти вдвое превышает первоначальную оценку в 594 BTC. По данным Galaxy Research, средства были выведены через шесть последовательных блоков Bitcoin, а кошельки опустошались один за другим в быстрой последовательности.
В отличие от большинства атак на аппаратные кошельки, которые обычно основаны на социальной инженерии — когда пользователей подталкивают к раскрытию seed phrases, установке вредоносной прошивки или передаче устройства — этот эксплойт был нацелен на сам процесс создания кошелька. Ошибка прошивки, внедренная в March 2021, привела к тому, что затронутые устройства Coldcard Mk3 генерировали recovery seed phrases с использованием предсказуемой программной случайности вместо защищенного аппаратного генератора случайных чисел.
Это означало, что атакующие могли математически восстановить приватные ключи жертв удаленно, не прикасаясь к аппаратным кошелькам. Это один из редких документированных случаев, когда дефект в генерации энтропии кошелька — а не ошибка пользователя или фишинг — напрямую привел к масштабной краже. Этот сбой напоминает класс уязвимостей, наблюдавшихся в других криптографических системах, прежде всего ошибку Debian OpenSSL 2008 года, когда одно изменение кода резко сократило набор возможных ключей, генерируемых миллионами серверов, и вызвало глобальную перевыпуску SSH- и SSL-сертификатов.
Как работал эксплойт
Цепочка атаки проходила через следующие этапы:
-
Создание кошелька: Во время настройки аппаратный кошелек Coldcard должен сгенерировать криптографически стойкое случайное число, известное как seed, которое формирует основу безопасности кошелька.
-
Ключи и адреса, производные от seed: Каждый приватный ключ, публичный ключ и адрес криптовалюты, который когда-либо создаст кошелек, математически выводится из этого seed с использованием стандартизированных, публично известных алгоритмов. Пока seed остается непредсказуемым, кошелек остается защищенным.
-
Проектное использование аппаратного RNG: При нормальной работе прошивка кошелька получает энтропию от выделенного аппаратного генератора случайных чисел (RNG), создавая seed, который практически невозможно предсказать или воспроизвести.
-
Неверная конфигурация сборки прошивки: Внутренняя настройка сборки ошибочно указала прошивке обходить аппаратный генератор случайных чисел при создании кошелька.
-
Сбой проверки: Вместо проверки того, действительно ли аппаратный RNG был включен, вспомогательная программная библиотека проверяла только наличие параметра конфигурации. Из-за этой ошибочной логики проверки прошивка продолжила работу без каких-либо ошибок.
-
Более слабый запасной вариант: Вместо использования непредсказуемой аппаратной энтропии прошивка генерировала seed с помощью базовой программной процедуры.
-
Предсказуемые входные данные: Программная процедура получала seed из двух источников: серийного номера устройства, присваиваемого на заводе и никогда не меняющегося, и регистров часов микросхемы, значения которых можно оценить или воспроизвести с помощью другого устройства той же модели.
-
Сокращение пространства seed: Вместо выбора из астрономически большого числа возможных seed кошелек мог генерировать лишь гораздо меньший, конечный набор. На старых устройствах Coldcard Mk2 и Mk3 исследователи установили, что генерация seed могла быть определена напрямую. На моделях Mk4, Q и Mk5 возможное пространство seed было сокращено примерно до 4 billion комбинаций.
-
Офлайн brute-force: Поскольку 4 billion вариантов вполне по силам современным компьютерам, атакующий мог систематически сгенерировать каждый возможный seed на собственном оборудовании, полностью офлайн.
-
Вывод адресов: Для каждого сгенерированного seed атакующий выводил все соответствующие адреса криптовалюты с использованием тех же публичных стандартов деривации, что и кошелек.
-
Сопоставление с блокчейном: Поскольку адреса и балансы в блокчейне являются публичными, атакующий проверял, совпадает ли какой-либо сгенерированный адрес с адресом, на котором хранится криптовалюта.
-
Взаимодействие с кошельком жертвы не требовалось: Вся атака выполнялась офлайн. Coldcard жертвы не нужно было подключать к интернету, разблокировать или физически использовать. Устройство могло оставаться выключенным в сейфе, пока атакующий проводил поиск в другом месте.
-
Несколько форматов адресов: По данным анализа Galaxy, среди скомпрометированных кошельков были 1,183, использовавшие современные адреса Native SegWit, 7 — более старые адреса SegWit и 6 — устаревшие форматы адресов.
-
Автоматизированный перебор: Вместо атак на отдельных жертв атакующий систематически проверял каждый возможный seed и каждый путь деривации адресов, пока не находил кошельки с балансом, что указывает на автоматизированный перебор.
-
Поиск мог продолжаться бесконечно: Поскольку атака полностью офлайн, атакующий может в любой момент приостанавливать, расширять, уточнять и возобновлять процесс перебора, повышая вероятность обнаружения дополнительных уязвимых кошельков.
Этот инцидент ставит под сомнение одно из базовых предположений безопасности Bitcoin: что аппаратные кошельки обеспечивают надежную защиту, пока пользователи хранят recovery phrases офлайн. В данном случае сами кошельки генерировали слабые seed phrases, что сделало уязвимыми даже корректно хранившиеся устройства спустя годы после их создания.
Уязвимость затрагивает только кошельки Coldcard Mk3, созданные с использованием версии прошивки 4.0.1 или более поздней в течение затронутого периода, тогда как более новые модели Coldcard, как считается, не пострадали. Этот случай показывает, как даже доверенная аппаратная защита может быть подорвана, если криптографическая случайность дает сбой на этапе создания кошелька.
КЕЙС | Почему этот децентрализованный протокол делает приоритетом операционную безопасность
КЕЙС | Почему этот децентрализованный протокол делает приоритетом операционную безопасность
Следите за BitKE, чтобы быть в курсе развития Bitcoin во всем мире.
Присоединяйтесь к нашему каналу WhatsApp здесь .
Подписывайтесь на нас в X, чтобы получать последние публикации и обновления
Присоединяйтесь к нашему сообществу в Telegram и общайтесь с ним