Чанпэн Чжао говорит, что даже самые надежные имена в сфере аппаратного хранения не могут гарантировать полной защиты, и недавно обнаруженный изъян в Coldcard подтверждает его слова. «Ничто не бывает 100%», — написал основатель Binance в X 1 августа, призывая держателей криптовалюты перестать полагаться на одно устройство или одну сид-фразу. Его предупреждение последовало за кражей биткоина, в которой была использована предсказуемая генерация ключей в некоторых кошельках Coldcard, что возобновило сложный разговор о безопасности криптокошельков и о том, достаточно ли одного только офлайн-хранения, чтобы сохранить средства в безопасности.
Инцидент не был связан с украденными устройствами, фишинговыми ссылками или небрежными владельцами, передающими фразы восстановления. Вместо этого он сводился к уязвимости, скрытой в прошивке, которая генерировала сиды кошельков, используя предсказуемые данные вместо истинной случайности. Это различие критично: сбой произошел в момент создания кошелька, задолго до того, как была подписана какая-либо транзакция.
Summary
Ключевые выводы
- Чанпэн Чжао заявил, что ни один криптокошелек не является полностью безопасным после раскрытия уязвимости в сид-фразах Coldcard, и призвал пользователей распределять средства по нескольким кошелькам.
- Ошибка в прошивке заставляла некоторые устройства Coldcard генерировать предсказуемые сиды вместо использования истинной аппаратной случайности.
- Злоумышленники украли примерно 594 BTC из около 500 кошельков за 25 минут; по 1 196 адресам Galaxy Research впоследствии увеличила совокупную сумму до 1 082,65 BTC за 41 минуту.
- Coinkite выпустила исправленную прошивку, но сиды, уже сгенерированные уязвимыми версиями, остаются скомпрометированными и не могут быть исправлены обновлением.
- Эксперты по безопасности говорят, что самостоятельное хранение с несколькими кошельками может снизить риск концентрации, хотя это и не идеальное решение.
Уязвимость сидов Coldcard выявила критическую слабость в безопасности криптокошельков
Суть проблемы была проста для описания, но разрушительна по последствиям: некоторые устройства Coldcard пропускали собственный аппаратный генератор случайных чисел и переходили к предсказуемому программному созданию сидов. Этот единственный изъян в дизайне превратил то, что должно было быть непредсказуемым секретом, в нечто, что атакующий мог восстановить.
Предсказуемая генерация сидов позволила незаметно красть BTC
Согласно техническому разбору от инженерных и безопасностных команд Bitcoin в Block, настройка сборки инструктировала затронутые устройства обходить аппаратную случайность. Ошибка в проверке в поддерживающей библиотеке лишь удостоверялась в наличии этой настройки, но не в том, включена ли она фактически. В результате генерация ключей тихо откатывалась к базовому программному суррогату, инициализируемому серийным номером чипа устройства и регистрами часов, ни один из которых не является секретом. Block отследила изменение до коммита кода от 1 марта 2021 года, который был включен в прошивку версии 4.0.0, вышедшую в том же месяце.
Поскольку уязвимость находилась на этапе создания сида, злоумышленнику не нужно было красть устройство или обманывать владельца, чтобы тот раскрыл фразу восстановления. Он мог удаленно восстанавливать возможные приватные ключи задолго до того, как была подписана какая-либо транзакция. Именно эта часть истории больше всего тревожит исследователей безопасности: кошелек выглядел полностью защищенным вплоть до момента исчезновения средств.
Масштаб и тайминг кражи биткоина
Цифры росли стремительно. Ранние сообщения CoinDesk оценивали первоначальную добычу примерно в 594 BTC, стоимостью около 38 $ миллионов на тот момент, выведенных примерно из 500 однофакторных кошельков за 25-минутный период между 01:31 и 01:56 UTC. Каждый затронутый кошелек содержал более 0,15 BTC, и многие оставались нетронутыми годами, с монетами, датируемыми 2021 годом — почти точно тем временем, когда была впервые выпущена уязвимая прошивка.
Позже Galaxy Research значительно расширила масштаб, увеличив подтвержденный итог до 1 082,65 BTC, выведенных с 1 196 адресов за 41 минуту, что подняло оценку убытков примерно до 70 $ миллионов. Такое наращивание подчеркивает, что это была не разовая, случайная атака, а систематический обход по каждому кошельку, сид которого был сгенерирован уязвимым процессом.
Реакция Coldcard и необходимые действия пользователей
Coinkite, канадская компания, стоящая за Coldcard, выпустила исправление уязвимости после ее раскрытия, но обновление прошивки не может отменить сид, который уже был сгенерирован небезопасным образом. Любой, чей кошелек был создан с использованием уязвимого процесса, по-прежнему подвержен риску — с патчем или без него.
Обновления прошивки не могут исправить уже скомпрометированные сиды
Coinkite предупредила, что сиды, созданные на затронутой прошивке Mk3, а также некоторых старых релизах Mk4, Mk5 и Q, могут быть уязвимы. Компания выпустила исправленную прошивку, но подчеркнула, что обновление лишь предотвращает небезопасную генерацию новых сидов в будущем. Оно никак не защищает биткоины, уже находящиеся за сидом, созданным до исправления. Как выразилась Coinkite в своем уведомлении, существующие слабые сиды просто не могут быть «отремонтированы» обновлением.
Это оставляет затронутым пользователям один вариант: сгенерировать совершенно новый сид под исправленной прошивкой и перевести на него свои биткоины, рассматривая старые приватные ключи как навсегда поддающиеся обнаружению. Всем, кто не уверен, попадает ли их кошелек в затронутый период, советуют все равно мигрировать, поскольку цена бездействия — полная потеря средств, а не небольшое неудобство.
Безопасность с несколькими кошельками: частичное решение, а не гарантия
Реакция Чжао на эксплойт не была призывом полностью отказаться от аппаратных кошельков. Это был призыв распределять риски, чтобы один изъян, ошибка или промах не могли уничтожить весь портфель сразу.
Почему диверсификация по устройствам и сидам помогает
Безопасность с несколькими кошельками работает за счет разделения средств по независимым сидам, устройствам, поставщикам и сценариям использования, так что компрометация одного кошелька раскрывает лишь часть активов, а не все сразу. На практике это может означать хранение небольших сумм для повседневных трат в горячем кошельке, более крупных резервов — на аппаратном устройстве, а самых больших балансов — под защитой мультиподписей, где для перемещения средств требуется более одного ключа.
Один сид на многих устройствах — это не настоящая диверсификация
Здесь стоит отметить распространенную ошибку: копирование одной сид-фразы на несколько устройств на самом деле не создает ту защиту, на которую рассчитывают люди. Если этот один сид когда-либо будет раскрыт — из-за уязвимости вроде той, что была в Coldcard, или из-за кражи, — все устройства, на которых он хранится, будут скомпрометированы одновременно. Настоящая диверсификация требует действительно отдельных сидов, а не резервных копий одного и того же секрета, разнесенных по разным устройствам.
Однако компромисс реален. Распределение средств по нескольким кошелькам и сидам также увеличивает количество вещей, которые человеку нужно отслеживать, резервировать и помнить, и плохой учет может превратить улучшение безопасности в самопровоцированную потерю, если балансы будут забыты или наследники не смогут найти нужные резервные копии.
Практики институционального уровня против простоты для розницы
Институции, управляющие гораздо большими суммами, обычно заходят гораздо дальше, чем любой частный пользователь. Мультиподписи, вычисления с участием нескольких сторон, раздельные утверждающие лица, географически распределенные ключи, формальные политики вывода средств и регулярно тестируемые процедуры восстановления — стандартная практика, когда речь идет о серьезных деньгах и нескольких лицах, принимающих решения. Национальный институт стандартов и технологий США (NIST) формулирует это так же, выделяя резервное копирование, авторизацию, инвентаризацию, восстановление и реагирование на компрометацию как ключевые столпы грамотного управления криптографическими ключами.
Такой уровень структурированности реалистичен для бирж, кастодианов и фондов. Для обычного розничного держателя, управляющего несколькими кошельками самостоятельно, это гораздо более тяжелая задача. Случай с Coldcard ясно показывает это противоречие: та же сложность, которая защищает институции от катастрофических потерь, может стать обузой для частных лиц, если ее не сопровождать надежным учетом и привычкой регулярно проверять резервные копии.
В конечном счете инцидент показывает, что риск, связанный с приватными ключами биткоина, не исчезает только потому, что устройство находится офлайн. Он смещается туда, где находится самое слабое звено процесса — будь то ошибка в прошивке, забытая резервная копия или единая точка отказа, размноженная по слишком многим устройствам, хранящим один и тот же секрет.
FAQ
Почему аппаратный кошелек Coldcard не смог обеспечить полную безопасность?
Ошибка в прошивке заставляла затронутые устройства полагаться на предсказуемую программную генерацию ключей вместо истинной аппаратной случайности. Это позволило злоумышленнику удаленно восстанавливать приватные ключи до того, как была подписана какая-либо транзакция.
Сколько биткоинов было украдено из-за уязвимости в сидах Coldcard?
Ранние оценки оценивали кражу примерно в 594 BTC из около 500 кошельков в течение 25 минут. Позже Galaxy Research увеличила эту цифру до 1 082,65 BTC по 1 196 адресам примерно за 41 минуту.
Что должны сделать затронутые пользователи Coldcard, чтобы обезопасить свои средства?
Им нужно сгенерировать новый сид под исправленной прошивкой и перевести на него свои биткоины, поскольку исходные приватные ключи, связанные с уязвимым процессом генерации сида, все еще могут быть обнаружены.
Повышает ли безопасность использование одного и того же сида на нескольких устройствах?
Нет. Копирование одного сида на несколько устройств не создает реальной диверсификации и несет риск постоянной потери, если резервные копии будут утеряны или забыты со временем.
{«@context»:»https://schema.org»,»@type»:»FAQPage»,»mainEntity»:[{«@type»:»Question»,»name»:»Почему аппаратный кошелек Coldcard не смог обеспечить полную безопасность?»,»acceptedAnswer»:{«@type»:»Answer»,»text»:»Ошибка в прошивке заставляла затронутые устройства полагаться на предсказуемую программную генерацию ключей вместо истинной аппаратной случайности. Это позволило злоумышленнику удаленно восстанавливать приватные ключи до того, как была подписана какая-либо транзакция.»}},{«@type»:»Question»,»name»:»Сколько биткоинов было украдено из-за уязвимости в сидах Coldcard?»,»acceptedAnswer»:{«@type»:»Answer»,»text»:»Ранние оценки оценивали кражу примерно в 594 BTC из около 500 кошельков в течение 25 минут. Позже Galaxy Research увеличила эту цифру до 1 082,65 BTC по 1 196 адресам примерно за 41 минуту.»}},{«@type»:»Question»,»name»:»Что должны сделать затронутые пользователи Coldcard, чтобы обезопасить свои средства?»,»acceptedAnswer»:{«@type»:»Answer»,»text»:»Им нужно сгенерировать новый сид под исправленной прошивкой и перевести на него свои биткоины, поскольку исходные приватные ключи, связанные с уязвимым процессом генерации сида, все еще могут быть обнаружены.»}},{«@type»:»Question»,»name»:»Повышает ли безопасность использование одного и того же сида на нескольких устройствах?»,»acceptedAnswer»:{«@type»:»Answer»,»text»:»Нет. Копирование одного сида на несколько устройств не создает реальной диверсификации и несет риск постоянной потери, если резервные копии будут утеряны или забыты со временем.»}}]}
Статья подготовлена при содействии искусственного интеллекта и проверена редакционной командой.

