Кошельки Coldcard затронуты уязвимостью семени, миллионы bitcoin украдены

iconBitcoin.com
Поделиться
AI summary iconСводка
Новость об уязвимости появилась, когда было обнаружено, что аппаратные кошельки Coldcard сгенерировали слабые семена, что привело к краже около 70 миллионов долларов США в bitcoin с сотен адресов 30 июля. Coinkite подтвердила, что затронутая прошивка Mk3 использовала только 40 бит энтропии вместо 128. Ошибка возникла из-за программного обновления 2021 года, переключившегося на более слабый генератор случайных чисел. Пользователям настоятельно рекомендуется установить исправленную прошивку и сгенерировать новые семена. Более поздние модели, такие как Mk4, Q и Mk5, также были затронуты, но с немного более высокой энтропией. Генеральный директор Coinkite Родольфо Новак извинился и взял на себя полную ответственность. Новости о bitcoin продолжают подчеркивать риски безопасности в крипто-сфере.

Злоумышленник воспользовался слабыми семенами, сгенерированными некоторыми аппаратными кошельками Coldcard, чтобы украсть bitcoin на сумму около десятков миллионов из сотен адресов 30 июля.

Основные выводы

  • Кражи, связанные с Coldcard, опустошили сотни кошельков 30 июля.
  • Coinkite сообщает, что семена Mk3 имели около 40 бит энтропии вместо 128.
  • Пользователи Coldcard должны установить исправленную прошивку и создать новые семена перед переводом средств.

Согласно глубокому анализу от Galaxy Research, основная кража произошла в течение примерно 25 минут в виде тесно скоординированного всплеска, в то время как более широкий анализ позже связал примерно 1 196 адресов и до 1 083 bitcoin, оцениваемых почти в 70 миллионов долларов США, с деятельностью, продолжавшейся примерно 41 минуту. Итоговые цифры могут измениться, поскольку следователи продолжают отслеживать транзакции в публичном блокчейне Bitcoin.

Ошибку в течение 5 лет достигли кошельки bitcoin по всему миру

Затронутые кошельки в основном принадлежали долгосрочным держателям, которые сгенерировали свои восстановительные семена с помощью устройств Coldcard, работающих на уязвимой прошивке, выпущенной с марта 2021 года. Coldcard — это аппаратный кошелек с изоляцией от сети, производимый канадской компанией Coinkite и предназначенный для изоляции ключей bitcoin (BTC) от устройств, подключенных к интернету.

Многие из опустошенных адресов годами оставались неактивными. Злоумышленник действовал быстро, платил повышенные фиксированные комиссии за транзакции и не оставлял выходов с изменением, что означает, что каждый адрес был опустошен полностью. Такой шаблон указывает на автоматизированную операцию с использованием заранее подготовленного списка приватных ключей, а не на самостоятельное перемещение средств клиентами.

Кража не была вызвана фишингом, вредоносным ПО на компьютере пользователя, физической кражей устройства или традиционным удаленным проникновением. Вместо этого ошибка прошивки ослабила случайность, используемую при создании семян кошельков некоторыми устройствами Coldcard. Эти семена выглядели нормально, но были сгенерированы из гораздо меньшего диапазона возможных комбинаций, чем обещалось пользователям.

Генератор случайных чисел Coldcard тихо отказал

Сид кошелька bitcoin — это секретная последовательность, обычно состоящая из 12 или 24 слов, из которой кошелек генерирует свои адреса и закрытые ключи. Правильно сгенерированный 12-словный сид содержит 128 бит энтропии — техническую меру, описывающую огромное количество возможных комбинаций, что делает угадывание сида практически невозможным.

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

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

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

Фабричные данные и тайминг заменили истинную случайность

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

Coinkite оценил эффективное пространство поиска для уязвимых семян Mk3 примерно в 40 бит при текущих предположениях. Это всё ещё большое количество возможностей, но его можно перебрать с помощью специализированного вычислительного оборудования, особенно когда злоумышленник может сравнивать кандидатские семена с bitcoin-адресами, видимыми в блокчейне.

Скриншот модели Coldcard Mk3.
Снимок модели Coldcard Mk3.

Поздние модели Coldcard, включая Mk4, Q и Mk5, добавили некоторую случайность из безопасного элемента. Однако лишь ограниченная часть достигала затронутого генератора, оставив оценочные 72 бита эффективной энтропии в семенах, созданных до установки исправленной прошивки. Это было надежнее, чем путь Mk3, но все еще ниже целевого стандарта в 128 бит.

Разница аналогична замене действительно случайного комбинационного кода замка на код, полученный из серийного номера замка и времени его первого включения. Получившаяся комбинация может выглядеть случайной, но кто-то, знающий формулу и способный оценить начальные данные, может воспроизвести её. Многие пользователи мигрируют не только с устройств Mk3, но и с Mk4, Q и Mk5.

Coinkite просит пользователей создать совершенно новые семена

Coinkite выпустила рекомендации по безопасности и обновила прошивку после выявления активной угрозы. Компания сообщила, что пользователям, которые создавали семена на уязвимой прошивке, следует сгенерировать совершенно новый семян с использованием исправленной версии и перевести свой bitcoin на адреса, контролируемые этим семенем.

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

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

Компания выявила фиксированные версии, включая Mk3 версии 4.2.0 или более поздние, Mk4 и Mk5 версии 5.6.0 или более поздние, а также Q версии 1.5.0Q или более поздние, вместе с соответствующими версиями Edge. Продукты Tapsigner, Opendime и Satscard используют другую кодовую базу и, как сообщается, не были затронуты.

Добавлена безопасность, которая защитила некоторых владельцев Coldcard

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

Сильный пароль BIP-39 также создает отдельный кошелек, который нельзя восстановить только с помощью семян. Мультиподписные кошельки, которые требуют ключей с нескольких устройств или местоположений перед перемещением bitcoin, были в значительной степени или полностью защищены, когда уязвимый семенной код Coldcard представлял только одну часть соглашения о подписи.

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

Coinkite берет на себя ответственность, поскольку дискуссия переключается на ИИ

Генеральный директор Coinkite Родольфо Новак, широко известный как NVK, публично извинился 31 июля и заявил, что компания берет на себя полную ответственность за сбой прошивки. «Мне очень жаль, я в отчаянии. Наша команда опечалена новостями вчерашнего дня», — написал Новак. Он признал, что горячая исправление обеспечивает безопасность вновь создаваемых семян, но не может восстановить семена, сгенерированные под уязвимым программным обеспечением.

Скриншот статьи генерального директора Coinkite Родольфо Новака.
Статья с извинениями генерального директора Coinkite Родольфо Новака. Источник изображения: X.

Новак объяснил, что Coinkite опубликует полный технический отчет после проверки деталей и поможет пользователям, затронутым инцидентом, в оформлении полицейских протоколов, страховых заявлений или независимых расследований. Он также предупредил разработчиков, что искусственный интеллект (ИИ) инструменты теперь могут сканировать старый публичный код на наличие скрытых уязвимостей быстрее, чем традиционные процессы проверки могут их обнаружить.

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

«Ledger не затронута недавно опубликованной рекомендацией по Coldcard Mk3», — сказала компания пользователям X после инцидента с Coldcard. «Устройства Ledger используют сертифицированный генератор истинно случайных чисел (TRNG), встроенный непосредственно в наш чип Secure Element, который генерирует полные 256 бит энтропии для каждой 24-словной секретной восстановительной фразы».

Пользователи Trezor: ваши средства в безопасности», — объяснил в пятницу производитель аппаратных кошельков Trezor. «Недавняя проблема с Coldcard ограничивается их собственной кастомной прошивкой и тем, как некоторые из их устройств генерировали случайность. Trezor не использует этот код.»

Аккаунт Trezor X добавлен:

Мы всегда объединяли несколько независимых источников случайности (аппаратное обеспечение устройства + хост + безопасные элементы на более новых моделях). Мы искренне сожалеем о всех, кто потерял bitcoin.

Что должны смотреть далее пользователи Coldcard

Личность нападавшего остается неизвестной, и похищенный bitcoin может быть перемещен с его консолидационных адресов в любое время. Следователи продолжают определять, сколько уязвимых семян было фактически сгенерировано, сколько bitcoin остается под угрозой и были ли дополнительные кошельки высокой стоимости уже выявлены нападавшим. Однако Coinkite может не иметь много информации о владельцах из давнего прошлого.

«Веселый двойной меч: Coinkite удаляет все данные клиентов через 120 дней, чтобы защититься от утечек данных», — сообщил на X сооснователь Casa Джеймсон Лопп. «Это означает, что они не могут связаться с клиентами, которые купили уязвимые ColdCards за последние 5 лет, чтобы предупредить их об этой уязвимости».

X скриншот псевдонимного открытого разработчика bitcoin по имени calle.
Псевдонимный разработчик открытого исходного кода bitcoin по имени calle поделился мыслями по этому поводу. «Я искренне опечален всеми пострадавшими, особенно теми, кто, возможно, только что потерял свои сбережения. Самое худшее — они сделали всё правильно», — сказал calle на X.

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

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

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