«Внезапно баланс обнулился»: тысячи биткоин-кошельков были взломаны за полчаса
Сообщество биткоина столкнулось с серьезным инцидентом безопасности: из-за дефекта в аппаратных кошельках Coldcard было похищено более 1367 биткоинов на сумму около 88 миллионов долларов.
Сообщество биткоина столкнулось с одним из самых серьезных инцидентов безопасности в сфере холодных кошельков. В ходе нескольких волн атак было украдено более 1367 биткоинов на сумму около 88 миллионов долларов из 4585 различных адресов, созданных с помощью аппаратных кошельков Coldcard канадской компании Coinkite.
Инцидент произошел не из-за взлома самой сети биткоина, а из-за дефекта во внутреннем программном обеспечении кошелька, который привел к тому, что некоторые устройства генерировали закрытые ключи с недостаточным уровнем случайности. Проще говоря, код, который должен был создавать секрет, который практически невозможно угадать, в некоторых случаях создавал более предсказуемый секрет, который можно было восстановить с помощью вычислительной мощности и автоматического сканирования.
Ущерб продолжает расти, и исследовательские компании предупреждают, что пользователи, создавшие кошельки с использованием уязвимых версий, все еще могут быть подвержены риску, даже если их средства еще не были украдены.
Сотни кошельков были опустошены за 25 минут
Первая волна атаки была особенно быстрой и скоординированной. Всего за 25 минут сотни биткоинов были украдены из отдельных кошельков, при этом транзакции были сгруппированы в небольшое количество блоков в сети. Злоумышленник, по всей видимости, заранее просканировал адреса, которые могли быть уязвимы, вычислил соответствующие ключи и запустил автоматический процесс опустошения кошельков.
На первом этапе большая часть украденных средств была сосредоточена на небольшом количестве адресов, что относительно облегчило исследователям блокчейна отслеживание, но позже метод работы изменился.
В третьей волне атаки было украдено еще около 208 биткоинов из 1912 адресов, но на этот раз средняя сумма кражи у каждого пострадавшего была намного меньше. По данным компании Galaxy Research, это может свидетельствовать о том, что злоумышленник уже опустошил более богатые адреса и теперь запускает сканеры на любой возможный баланс, даже если речь идет о долях биткоина.
Как дефект в программном обеспечении сделал холодный кошелек уязвимым?
Чтобы понять сбой, нужно понять, как создается биткоин-кошелек. При создании нового кошелька устройство генерирует резервную фразу, называемую Seed phrase. Из этой комбинации слов выводятся закрытые ключи, которые позволяют управлять монетами.
Безопасность системы зависит от очень высокой случайности. Чем больше пространство возможностей, тем сложнее злоумышленнику угадать комбинацию слов или ключ.
Согласно опубликованному техническому анализу, ошибка в настройках Coldcard привела к тому, что аппаратный генератор случайных чисел работал не так, как планировалось. Вместо этого система опиралась на более слабый программный генератор, который получал в качестве отправной точки такие данные, как серийный номер чипа и внутренние часы.
Эти данные не являются по-настоящему секретными. Злоумышленник с соответствующими знаниями может сузить диапазон возможностей, выполнить множество вычислений и искать соответствие существующим адресам в блокчейне. Согласно сообщениям, баг попал в код в версии 4.0.0, выпущенной в марте 2021 года, и оставался в других версиях в течение многих лет.
Не все модели были подвержены в равной степени
Степень уязвимости варьируется между различными моделями Coldcard. В моделях Mk2 и Mk3 уровень эффективной случайности, по оценкам, снизился особенно резко. В более новых моделях, таких как Mk4, Q и Mk5, существует дополнительный компонент безопасности, который добавляет случайность в процесс.
Coinkite утверждает, что этот компонент значительно улучшает защиту. Тем не менее, исследователи представили более осторожный анализ, согласно которому даже в новых моделях существует ограничение в том, как система обрабатывает дополнительную случайность.
Это не означает, что каждое новое устройство взломано или что каждый пользователь Coldcard потеряет свои деньги. Но это указывает на то, что масштаб уязвимости еще не до конца ясен, и поэтому пользователи не могут довольствоваться предположением, что их модель безопасна, не проверив, как и когда был создан кошелек.
Не взлом биткоина, а сбой в продукте, который должен его защищать
Несмотря на масштаб кражи, важно прояснить, что сама сеть биткоина работает в обычном режиме. Транзакции были подписаны с использованием действительных закрытых ключей после того, как злоумышленнику, по всей видимости, удалось восстановить их из-за слабости в способе их создания. С точки зрения сети биткоина, это абсолютно законные транзакции.
Инцидент иллюстрирует, что самостоятельное хранение не заканчивается покупкой аппаратного кошелька. Оно также требует доверия к производителю, коду, процессу создания ключей и способности пользователя следить за предупреждениями и при необходимости быстро переходить на новый кошелек.
В этом смысле данная атака — это не просто кража десятков миллионов долларов. Это болезненное напоминание о том, что даже холодный кошелек не является волшебным решением, и что в мире, где пользователь сам себе банк, ответственность за безопасность не исчезает. Она просто переходит в его руки.