Electrum выпустил версию 4.8.3 для исправления уязвимости биткоин-кошелька высокой степени опасности, которую вредоносные серверы использовали для перенаправления платежей пользователей; разработчики подтвердили как минимум один случай кражи средств.
Краткое содержание
- Electrum выпустил версию 4.8.3 после подтверждения того, что вредоносные серверы эксплуатировали уязвимость высокой степени опасности.
- Злоумышленники заменяли ожидающие биткоин-платежи мошенническими транзакциями, которые пользователи могли ошибочно авторизовать через повышение комиссии.
- Два пользователя сообщили об инцидентах, включая одного, который потерял биткоины после увеличения комиссии за транзакцию.
- Уязвимость затрагивала все версии Electrum до 4.8.3; разработчики не раскрыли общий размер потерь.
- Патч безопасности проверяет подписи неподтверждённых транзакций, расходующих монеты, контролируемые кошельком.
Согласно уведомлению о безопасности кошелька от 24 октября, злоумышленники использовали то, как Electrum обрабатывал неподтверждённые биткоин-транзакции, заменяя легитимные исходящие платежи мошенническими, которые пользователи могли случайно авторизовать при увеличении комиссии за транзакцию.
Electrum — это лёгкий биткоин-кошелёк, который подключается к внешним серверам для получения истории транзакций, трансляции и другой сетевой информации. В отличие от полного биткоин-узла, программное обеспечение не обрабатывает самостоятельно каждый аспект активности блокчейна.
В его документации объясняется, что Electrum проверяет подтверждённые транзакции посредством упрощённой проверки платежей, но исторически доверял своему основному серверу при отображении ожидающих транзакций.
Злоумышленники использовали это различие, перехватывая транзакции, отправленные через вредоносные серверы, до того, как они достигали сети Bitcoin.
После предотвращения трансляции легитимной транзакции злоумышленник мог отправить кошельку заменяющую транзакцию, в которой адрес получателя изменялся на контролируемый злоумышленником.
Хотя заменяющая транзакция содержала недействительные подписи, уязвимые версии Electrum не проверяли их перед отображением транзакции в истории кошелька.
Обман становился опасным, когда пользователи пытались увеличить комиссию за транзакцию через Replace-by-Fee, или RBF — функцию Bitcoin, позволяющую заменить неподтверждённый платёж другим с более высокой комиссией.
Одобряя корректировку комиссии, пользователи могли неосознанно подписать действительную транзакцию, выплачивающую средства злоумышленнику.
Electrum подтверждает реальную эксплуатацию и потери биткоинов
Разработчики раскрыли два инцидента, о которых сообщили в частном порядке, установив, что уязвимость вышла за рамки теоретической атаки.
11 октября пользователь под именем dannydeezy сообщил, что транзакция, отображаемая в истории Electrum, не соответствовала изначально отправленному платежу.
Согласно уведомлению, оба инцидента включали адреса получателя, контролируемые злоумышленником и созданные так, чтобы совпадать с последними четырьмя символами биткоин-адреса предполагаемого получателя.
Во втором случае мошенническая транзакция имела нулевую комиссию, что, по мнению разработчиков, было предназначено для того, чтобы побудить жертву инициировать повышение комиссии.
Первый отчёт касался мультиподписного кошелька с схемой два из трёх, использующего два устройства Trezor. Его легитимная транзакция содержала 31 вход и один выход.
Следователи обнаружили, что все 62 подписи были действительны для исходного платежа, но недействительны для подменённой транзакции. Подделка перенаправляла почти все биткоины на похожий адрес и возвращала небольшую сумму в кошелёк.
Исходная транзакция оставалась действительной, но так и не достигла публичной сети Bitcoin.
Electrum признал, что некоторые серверы проводили атаку в реальных условиях. Однако разработчики не раскрыли, сколько серверов участвовало, какая сумма была украдена и были ли выявлены дополнительные жертвы.
Electrum 4.8.3 блокирует вредоносные транзакции с повышением комиссии
Исправление было включено в версию 4.8.3 23 октября, а загружаемые бинарные файлы выпущены 24 октября.
Через коммит 90fe308 разработчики внедрили проверку подписей для неподтверждённых транзакций, расходующих входы, принадлежащие кошельку пользователя.
Теперь Electrum проверяет эти подписи перед принятием транзакций в свою локальную историю, предотвращая появление мошеннических исходящих платежей, описанных в рекомендации, в качестве легитимных транзакций.
Обновление не делает Electrum полным узлом Bitcoin. Разработчики пояснили, что входящие неподтверждённые транзакции остаются вне новых проверок подписей, тогда как подтверждённые платежи продолжают проходить существующие процедуры верификации.
Пользователям, использующим версии до 4.8.3, настоятельно рекомендуется загрузить обновление с официального сайта Electrum.
Тем, кто не может обновиться немедленно, разработчики рекомендуют проверять полные адреса получения и суммы перед подписанием транзакций, включая замены комиссии.
Согласно рекомендации, пользователи, подключающиеся исключительно к доверенным серверам, включая собственные, не подвержены этой конкретной атаке вредоносного сервера.
Предыдущие атаки на Electrum выявляют повторяющиеся риски серверов
Инцидент последовал за предыдущими попытками эксплуатации зависимости Electrum от внешних серверов.
В декабре 2018 года crypto.news сообщил, что вредоносные серверы отображали пользователям мошеннические инструкции по обновлению программного обеспечения. По оценкам того времени, потери приближались к 1 миллиону долларов.
Ещё одна кампания вредоносных серверов в 2019 году использовала поддельные обновления кошелька и атаки типа «отказ в обслуживании», чтобы перенаправить пользователей к скомпрометированному программному обеспечению.
Те атаки полагались на обманные загрузки, тогда как недавно исправленная уязвимость манипулировала информацией об ожидающих транзакциях внутри в остальном легитимного кошелька.
Интервью о серверах Electrum, опубликованное в 2020 году, рассматривало компромиссы лёгких кошельков, включая их зависимость от внешней инфраструктуры для истории транзакций.
Собственная документация Electrum указывает, что его клиент обычно подключается примерно к 10 серверам, но выбирает один основной сервер для получения истории кошелька и трансляции транзакций. В документации указано, что этому основному серверу доверяют в отношении неподтверждённых транзакций.






