Атака на кошелек Electrum скрыла кражу биткойнов как рост комиссии


Злонамеренные серверы превращают повышение комиссии за транзакции в кражу
В субботу Electrum выпустил версию 4.8.3, предупредив пользователей о необходимости немедленно обновить программу после того, как разработчики обнаружили, что вредоносные серверы эксплуатировали уязвимость высокой степени опасности, затрагивающую все более ранние версии. Уязвимость, описанная в рекомендации GitHub GHSA-6jp4-8v48-cc5v, использовала особенности обработки необъективных транзакций облегченным биткойн-кошельком.
Electrum полагается на внешние серверы для получения истории транзакций, расчета комиссий и трансляции платежей. Хотя он самостоятельно проверяет подтвержденные транзакции, старые версии принимали определенные неподтвержденные транзакции без проверки их подписей. Злоумышленники превратили это различие в ловушку.
Скомпрометированный сервер мог перехватить легитимный платеж, предотвратить его трансляцию и заменить его мошеннической транзакцией, направляющей средства на контролируемый злоумышленником биткойн-адрес. Замененная транзакция содержала недействительные подписи, однако Electrum отображал её как обычный ожидающий платеж.

Будьте в курсе
движения ваших монет
Алерты, котировки в реальном времени и новости рынка — в одном приложении

Наведите камеру телефона, чтобы установить

4,8 на основе 40 К оценок в App Store и Google Play


Четыре совпадающих символа помогают скрыть атаку
Этот трюк становился опасным, когда пользователи пытались увеличить комиссию за транзакцию с помощью функции «Replace-By-Fee» (RBF). Вместо того чтобы увеличить комиссию по своему первоначальному платежу, жертвы могли невольно подписать подставленную транзакцию, тем самым санкционировав перевод своих собственных биткойнов злоумышленнику.
Обман не ограничивался этим. Злоумышленники генерировали адреса получателей, последние четыре символа которых совпадали с адресом предполагаемого получателя, что снижало вероятность обнаружения подмены при беглом сравнении адресов. Одна мошенническая транзакция даже не содержала комиссии, что, по-видимому, подталкивало жертву к корректировке комиссии — именно этому и требовалось для завершения кражи.
Разработчики получили два конфиденциальных сообщения. 11 октября пользователь dannydeezy сообщил о подмене транзакции, хотя механизм повышения комиссии не был до конца понятен. 18 октября Raju-K12 сообщил о потере средств после одобрения повышения комиссии. Второе сообщение подтвердило, что атака не была чисто теоретической.
Electrum 4.8.3 блокирует подмену транзакций
Патч, внедренный с помощью коммита 90fe308, обязывает Electrum проверять подписи для неподтверждённых транзакций, в которых расходуются монеты, принадлежащие кошельку. Мошеннические транзакции с недействительными подписями отклоняются до того, как они попадают в локальную историю кошелька. Пользователям, использующим версии старше 4.8.3, следует загружать обновление исключительно с сайта electrum.org и проверять его криптографические подписи.
До обновления пользователям следует тщательно проверять каждый адрес получателя и сумму платежа перед подписанием, в том числе при корректировке комиссии. Те, кто подключается исключительно к доверенным, самостоятельно размещённым серверам Electrum, не подвержены этой конкретной атаке, основанной на сервере.
Этот инцидент выявляет любопытное противоречие: кошелек, разработанный для защиты приватных ключей, всё же может быть подвергнут манипуляции, в результате которой он запросит абсолютно действительную подпись для платежа, который его владелец никогда не намеревался совершать.
