Безопасность Новость

Как Electrum кошелек подставлял пользователей под кражу биткоина через ускорение платежа

Редакция BarbadosNews Опубликовано 5 мин чтения
Telegram ↗
electrum кошелек - Как Electrum кошелек подставлял пользователей под кражу биткоина через ускорение платежа

Electrum кошелек, один из старейших биткоин-кошельков с почти пятнадцатилетней историей, оказался замешан в неприятной истории с кражей средств. Разработчики подтвердили, что вредоносные серверы могли подменять ожидающие подтверждения транзакции, а пользователи сами того не подозревая подписывали перевод прямо на адрес злоумышленника, пытаясь всего лишь ускорить застрявший платёж через функцию Replace-by-Fee. Как минимум одна жертва лишилась биткоинов, прежде чем команда Electrum выпустила патч.

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

Почему Electrum кошелек вообще уязвим к такой атаке

Чтобы понять суть проблемы, нужно вспомнить, как вообще устроен Electrum кошелек изнутри. В отличие от полноценной ноды Bitcoin Core, которая хранит всю историю блокчейна и сама проверяет каждую транзакцию, Electrum работает по модели SPV - облегчённой проверки. Он не держит копию блокчейна, а обращается к сторонним серверам, чтобы узнать баланс, историю платежей и разослать новую транзакцию в сеть.

Именно эта зависимость от внешних серверов и стала слабым местом. До выхода патча кошелек безоговорочно доверял серверу, когда тот сообщал о «незавершённых» транзакциях, и не проверял подписи таких записей. Если пользователь был подключён к серверу, который контролировал злоумышленник, тот мог перехватить платёж ещё до того, как он реально попадёт в сеть Bitcoin, и подменить его в истории кошелька поддельной транзакцией с недействительной подписью - а Electrum этого попросту не замечал.

Как ловушка срабатывала через Replace-by-Fee

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

В Bitcoin существует механизм Replace-by-Fee (RBF), позволяющий заменить неподтверждённую транзакцию новой версией с более высокой комиссией, чтобы майнеры быстрее её обработали. Если пользователь нажимал «ускорить платёж», Electrum брал именно эту поддельную транзакцию и подписывал её законной подписью пользователя - но деньги уходили не получателю, а на адрес злоумышленника.

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

Два подтверждённых случая и мультисиг на Trezor

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

Второе сообщение пришло 18 октября - и на этот раз пользователь признал, что поднял комиссию на подменённой транзакции через RBF и в результате потерял деньги. Сумму похищенного и серверы, через которые работала схема, разработчики публично не раскрыли.

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

Что сделали разработчики Electrum

Реакция команды Electrum оказалась достаточно оперативной. Уже 24 октября вышла версия 4.8.3, в которой добавили обязательную проверку подписей для неподтверждённых транзакций, тратящих монеты из собственного кошелька пользователя. Иными словами, теперь кошелек не станет слепо доверять серверу, если тот подсовывает «чужую» неподтверждённую транзакцию без валидной подписи.

Патч вышел спустя шесть дней после первого подтверждённого случая кражи - срок для криптокошелька, через который проходят реальные деньги, довольно долгий. Все версии Electrum кошелек, выпущенные до 4.8.3, остаются уязвимы к описанной атаке при подключении к вредоносному серверу.

Похожая логика ужесточения правил проверки в последнее время прослеживается и у других крупных проектов - например, Bitcoin Core недавно пересмотрел правила безопасности из-за того, что ИИ-инструменты сильно упростили поиск уязвимостей в коде, в том числе злоумышленникам.

Как защитить свой Electrum кошелек на русском и не только

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

  • Обновите приложение до версии 4.8.3 или выше через официальный сайт проекта.
  • Сверяйте адрес получателя посимвольно, а не только по первым и последним символам.
  • По возможности подключайте Electrum кошелек к собственной ноде, а не к случайному публичному серверу.
  • Относитесь с подозрением к «зависшим» транзакциям без комиссии - это классический признак подмены.

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

ПоделитьсяTelegramXFacebook
Автор
Проверка

Источники и документы

  • www.coindesk.comcoindesk.com · основной первоисточник
    Открыть ↗

Как BarbadosNews работает с первичными и вторичными источниками — в политике источников.