НовостиКриптовалютыОшибка энтропии Coldcard: ставит ли уязвимость аппаратных кошельков под угрозу самохранение Bitcoin?

Ошибка энтропии Coldcard: ставит ли уязвимость аппаратных кошельков под угрозу самохранение Bitcoin?

Автор: Cointelegraph·

Ключевые выводы

  • Злоумышленники использовали уязвимость прошивки Coldcard, чтобы похитить более 1,596 Bitcoin на сумму не менее $100 million в ходе скоординированных атак.
  • Ошибка заставила генерацию seed-данных кошелька перейти на более слабый псевдослучайный генератор, из-за чего приватные ключи стали предсказуемыми и воспроизводимыми для злоумышленников.
  • Устройства Coldcard, где пользователи вручную генерировали энтропию, например с помощью бросков костей, не были затронуты этой конкретной уязвимостью.
  • Недостаток оставался незамеченным более пяти лет, что показало, насколько сложно выявлять слабую генерацию случайных чисел, поскольку скомпрометированные результаты могут проходить стандартные тесты случайности.
  • Эксперты по безопасности и отраслевые лидеры призывают к более строгим стандартам подтверждения, независимой проверке источников энтропии и конфигурациям multisig, чтобы устранить единые точки отказа в хранении Bitcoin.
Ошибка энтропии Coldcard: ставит ли уязвимость аппаратных кошельков под угрозу самохранение Bitcoin?

Ошибка энтропии Coldcard нанесла очередной удар по уверенности в безопасности криптовалют, выявив критический недостаток в одном из самых известных аппаратных кошельков на рынке — устройстве, которое давно ценят сторонники самостоятельного хранения Bitcoin за его air-gapped-дизайн и open-source прошивку.

Уязвимость, раскрытая 31 июля производителем Coldcard компанией Coinkite, затрагивает несколько устройств Coldcard. По данным исследователей Galaxy Digital, злоумышленники использовали этот недостаток, чтобы похитить более 1,596 Bitcoin — стоимостью не менее $100 million — в ходе серии скоординированных атак.

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

Michael Tanguma, руководитель продукта в компании по хранению Bitcoin Onramp Bitcoin, сообщил Cointelegraph Magazine:

"The whole model rests on trust that the vendor got it right […] Almost no individual can audit the hardware, the firmware and the entropy generation underneath their device."

Coinkite выпустила исправления прошивки и предписала затронутым пользователям перевести свои средства. Тем не менее, инцидент глубоко встревожил держателей Bitcoin и поставил острый вопрос: если кошельки Coldcard можно скомпрометировать, значит ли это, что все аппаратные кошельки потенциально уязвимы?

Уязвимость в основании: случайность

Уязвимость Coldcard не атаковала протокол Bitcoin и не ломала современную криптографию. Вместо этого она нацелилась на нечто гораздо более фундаментальное: случайность.

Каждый кошелек Bitcoin начинается с генерации seed phrase из пула случайных данных. Эта случайность должна быть достаточно непредсказуемой, чтобы сделать соответствующие приватные ключи практически невозможными для угадывания. Entropy — это мера этой непредсказуемости.

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

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

Разработчик Core Lightning Dustin Dettmer предположил, что ошибка могла возникнуть во время изменений прошивки, внесенных в 2021 году. Он считает, что код, предназначенный для взаимодействия с аппаратным генератором случайных чисел, вместо этого отключил его, из-за чего создание кошелька перешло на более слабый псевдослучайный генератор Yasmarang в MicroPython.

Эта версия стала одним из ведущих объяснений того, как ошибка могла попасть в производственную прошивку, хотя Coinkite не подтвердила точную последовательность событий и заявила, что опубликует полный технический postmortem "soon."

Представитель Coinkite сообщил Cointelegraph Magazine:

"Certain firmware versions had a fallback path in seed generation that could produce weak entropy when generated on the device firmware itself."

Устройства, где пользователи генерировали собственную энтропию с помощью бросков костей или подобных ручных методов, "were not affected by this specific fallback path," — добавил представитель.

Слабая генерация случайных чисел (RNG) не является беспрецедентной, но, в отличие от многих других уязвимостей безопасности, ее крайне трудно обнаружить. Эксперт по безопасности Bitcoin Jameson Lopp отметил, что уязвимости RNG ранее затрагивали множество криптовалютных кошельков и библиотек, включая Android-кошелек Blockchain.com и Trust Wallet.

Ledger director of product security Vincent Bouzon сообщил Cointelegraph Magazine, что "weak randomness passes output tests," то есть скомпрометированные генераторы случайных чисел могут по-прежнему выдавать значения, выглядящие случайными, что крайне затрудняет выявление дефектов.

Разные кошельки, разные подходы к случайности

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

Философия Ledger строится вокруг специализированного оборудования безопасности. Bouzon пояснил, что устройства Ledger генерируют seed с использованием истинного генератора случайных чисел, встроенного в сертифицированный Secure Element. Источник энтропии сертифицирован по стандарту AIS-31 PTG.2, а Secure Element проходит сертификацию Common Criteria. Он сказал:

"This Coldcard incident was a failure in one specific implementation, not a verdict on secure self-custody […] The generation of that entropy must be anchored in secure hardware, with an architecture that cannot silently downgrade to an untrusted software-based source."

Trezor использует другой подход, объединяя случайность, генерируемую внутри устройства, со случайностью, предоставляемой хост-компьютером, вместо того чтобы полагаться на один источник энтропии. Более новые модели Trezor также включают дополнительные аппаратные источники энтропии. Компания также проводит проверки энтропии, чтобы подтвердить, что устройство действительно внесло непредсказуемую случайность во время создания кошелька.

Tomáš Sušánka, chief technical officer Trezor, сообщил Cointelegraph Magazine:

"The takeaway for the whole industry is that randomness cannot depend on a single source or a single line of code being correct."

Кошелек Passport от Foundation также опирается на несколько источников энтропии, при этом особое внимание уделяется прозрачности. Chief executive Zach Herbert заявил, что Passport объединяет случайность, создаваемую отдельными аппаратными компонентами, перед созданием кошелька. Прошивка также публикуется как free and open-source software с reproducible builds, чтобы независимые исследователи могли проверить, что программное обеспечение на устройстве соответствует опубликованному коду.

Herbert сказал:

"The bug itself was specific to Coldcard [...] The larger warning is that this went unnoticed for more than five years while people trusted the product with life-changing amounts of money."

Доверие, прозрачность и проверка

Реальное различие между Ledger, Trezor и Foundation касается не важности случайности, а того, как пользователи могут быть уверены, что она действительно работает.

Ledger утверждает, что наибольшую уверенность дает независимая сертификация. Foundation опирается на open-source разработку, reproducible builds и открытость к внешним исследователям, а Trezor сочетает открытую прошивку с многоуровневыми источниками энтропии, чтобы не зависеть от одного компонента.

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

Herbert утверждает, что привлечение внешних исследователей само по себе является частью создания безопасных продуктов, наряду с open-source разработкой и независимыми аудитами.

Nick Percoco, chief security officer в Kraken и бывший chief security officer в Uptake, рассматривает инцидент с Coldcard как возможность для отрасли принять более строгие стандарты, независимо от того, какую философию дизайна выбирают производители.

"The Coldcard entropy failure should be a wake-up call for the entire hardware wallet industry," — сказал он, утверждая, что существующие схемы сертификации часто проверяют отдельные компоненты, не подтверждая, что производственная прошивка действительно использует их корректно.

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

Дискуссия выходит за рамки технической реализации. Такие голоса, как Herbert, утверждают, что open-source разработка также формирует культуру безопасности, указывая на программы bug bounty и конструктивное взаимодействие с независимыми исследователями как на важные элементы безопасной разработки продуктов.

Что делать Bitcoin-холдерам сейчас?

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

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

"Today, realistically, you want multisig and independently generated entropy [...] The mitigation that actually scales is architectural: setups where no single device, vendor or institution being wrong can lose the funds," — сказал он. Multisignature, или multisig, — это конфигурация, требующая нескольких независимых подтверждений — от разных устройств или сторон — для авторизации транзакции Bitcoin, чтобы ни одна точка отказа не могла разблокировать средства.

На данный момент ответ, по-видимому, отрицательный: не все аппаратные кошельки небезопасны. Инцидент с Coldcard выявил сбой в одной конкретной реализации, но также заставил производителей приподнять завесу над процессом, лежащим в основе самостоятельного хранения: созданием секрета, который никто другой не может предсказать.