Logo
Partager cet article

Исследователи выявили уязвимость в Bitcoin кошельках, которую можно использовать для двойной траты

Новое исследование показало, что стандартный способ транзакций с Bitcoin может быть использован не по назначению для осуществления двойной траты.

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

La Suite Ci-Dessous
Ne manquez pas une autre histoire.Abonnez vous à la newsletter The Protocol aujourd. Voir Toutes les Newsletters

Специалисты по блокчейну из стартапа ZenGo, занимающегося разработкой кошельков, обнаружили уязвимость, которая затронула как минимум три основных конкурирующих Криптo — Ledger Live, Edge и Breadwallet (BRD), — а возможно, и больше.

Ошибка, которую фирма из Тель-Авива называет BigSpender, позволяет хакеру дважды потратить средства пользователя и, возможно, лишить его возможности когда-либо снова использовать свой кошелек. Она работает, эксплуатируя то, как определенные кошельки обрабатываютБиткоины Функция замены по комиссии (RBF) — отказоустойчивая функция, позволяющая пользователям заменять неподтвержденную транзакцию на ONE с более высокой комиссией.

«[BigSpender] может привести к значительным финансовым потерям, а в некоторых случаях сделать кошелек жертвы полностью непригодным для использования, не оставив жертве возможности защитить себя»,ЗенГоГенеральный директор Уриэль Охайон написал в электронном письме. «Так что это можно рассматривать какатака высокой степени тяжести.”

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

См. также: Рафаэль Ауэр -Трилемма безопасности и будущее Bitcoin

С самого начала существовали опасения, что функция RBF былане очень хорошо поддерживается кошельками Bitcoin , несмотря на то, что они интегрированы на уровне протокола системы Bitcoin , сказал псевдонимный исследователь Bitcoin 0xB10C. «ZenGo показывает, что пользователя можно обмануть, заставив думать, что он получает Bitcoin, когда это не так. Я считаю это чем-то новым. По крайней мере, я раньше об этом не слышал», — сказал он.

Фирма протестировала девять различных кошельков, включая Ledger Live, Trust wallet, Exodus, Edge, Bread, Coinbase, Blockstream Green, Blockchain и Atomic Wallet. Из протестированных три оказались уязвимыми для теоретического эксплойта.

«Мы не проверяли все кошельки, но если три крупнейших замешаны, то может быть и больше», — сказал Охайон. ZenGo предупредила фирмы о своих выводах и дала им 90 дней на устранение уязвимости.

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

По словам Питера Тодда, бывшего разработчика Bitcoin иАрхитектор RBF.

Как это работает: злоумышленники отправляют средства своей предполагаемой жертве и устанавливают достаточно низкие комиссии, чтобы гарантировать, что транзакция не получит подтверждения. Для уязвимых кошельков эта ожидающая транзакция будет отражена как увеличение баланса счета получателя, что может привести к тому, что некоторые жертвы ошибочно верят, что ожидающая транзакция уже подтверждена. Затем злоумышленник «отменяет» ожидающую транзакцию, в терминологии ZenGo, используя RBF для изменения получателя на адрес, который он контролирует. К тому времени, как жертва поймет, что транзакция на самом деле была отменена, он уже доставит товар.

Для ясности: подобные атаки были возможны и до RBF, но из-за отсутствия надлежащих мер предосторожности со стороны поставщиков кошельков, этот вариант оплаты выявил риск.

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

Двойные неприятности?

Если хакер может обмануть человека, заставив его поверить, что он получил платеж, и при этом сохранить контроль над Bitcoin, этодвойная трата, по мнению исследователей ZenGo. Другие оспаривают такое использование термина.

«Вам нужно решить, что такое двойная трата. Большинство людей, которые T являются троллями, скажут, что двойная трата — это когда у вас есть подтвержденная транзакция, которая каким-то образом становится недействительной и тратится с помощью другой подтвержденной транзакции», — Джеймсон Лопп, технический директор стартапа по хранению Casa.

Эта атака по своей природе использует способ отображения кошельками неподтвержденных транзакций. В этом смысле атака — хотя и мошенническая — T нарушает способ функционирования кода Bitcoin .

«Весь смысл блокчейна — предотвратить проблему двойной траты», — сказал Лопп. «Это восходит к изначальному Сатошибелая книга, в котором говорится, что решением проблемы двойных трат является наличие распределенного реестра, который проверяют многие люди».

Единственное, на что вы можете положиться, — это транзакции, которые были добыты

Общее правило при транзакциях с Bitcoin — никогда не доверять транзакции с менее чем шестью подтверждениями, сказал 0xB10C. Это было повторено рядом разработчиков, включая Тодда, Лоппа и технического директора BRD Сэмюэля Сатча. Если этот эксплойт сработает, по крайней мере часть ответственности ляжет на жертву.

«Единственное, на что можно положиться, — это транзакции, которые были добыты», — сказал Тодд.

В этом смысле Сатч назвал BigSpender «незначительной ошибкой» и «своего рода надуманной», но также чем-то, что стоит исправить и за что заплатить вознаграждение за баг. Недавно BRD превысил 5 миллионов пользователей, сказал Сатч.

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

С этой целью Ledger обновил способ отображения ожидающих транзакций в кошельке. Если пользователи не уверены, «проверьте статус транзакции» с помощью проводника блоков. «Сегодня такая проверка невозможна в вашем банке», — сообщил по электронной почте технический директор Ledger Шарль Гийемет.

Двойное зрение

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

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

Смотрите также:Давно существующая ошибка DeFi Dapp до сих пор не исправлена отраслью (обновлено)

По сути, этоотказ в обслуживании(DoS)-атака, не позволяющая людям использовать свои кошельки.

«Это также отключает другие виды попыток отправки, если алгоритм выбора монет кошелька выбирает средства из этой несуществующей транзакции», — сказал Охайон. Эти кошельки «замурованы», если использовать терминологию Сатча. «Это огромное неудобство».

Сатч сказал, что BRD сделала уязвимость главным приоритетом для фирмы после того, как ее предупредили. Как ни странно, ей удалось исправить ошибку, работая над другой, не связанной с ней проблемой, сказал он.

Проблема, которую поднимает ZenGo в своем исследовании безопасности, не касается кошельков, которые тестировала команда.подавляющее большинство По словам Сатча, около 100% Bitcoin кошельков способны принимать транзакции RBF, а многие компании, стоящие за ними, «ограничены в ресурсах» и не могут немедленно предоставить решение.

Лопп сказал, что при включении функциональности RBF в Casa он настроил систему так, чтобы она не отображала эти типы транзакций до подтверждения, что нестандартно в отрасли. «Параметры по умолчанию отображали бы эти транзакции», — сказал он.

Обновление (2 июля, 20:15 UTC): Отрывок, перефразирующий Питера Тодда, был изменен, чтобы было ясно, что он имел в виду проблему того, как некоторые кошельки Bitcoin отображают неподтвержденные транзакции в целом, а не только транзакции RBF. Другие отрывки также были пересмотрены для ясности.

Daniel Kuhn

Дэниел Кун был заместителем главного редактора Consensus Magazine, где он помогал выпускать ежемесячные редакционные пакеты и раздел Мнение . Он также писал ежедневный новостной обзор и дважды в неделю колонку для информационного бюллетеня The Node. Впервые он появился в печати в Financial Planning, отраслевом журнале. До журналистики он изучал философию на бакалавриате, английскую литературу в аспирантуре и бизнес- и экономическую отчетность в профессиональной программе Нью-Йоркского университета. Вы можете связаться с ним в Twitter и Telegram @danielgkuhn или найти его на Urbit как ~dorrys-lonreb.

Daniel Kuhn