Electrum устранил уязвимость, из-за которой серверы крали биткоины при ускорении платежей

Разработчики кошелька Electrum раскрыли уязвимость, которая позволяла вредоносным серверам подменять неподтверждённые транзакции и выводить средства пользователей. Как минимум одна кража подтверждена, сумма не раскрыта.

Electrum устранил уязвимость, из-за которой серверы крали биткоины при ускорении платежей
Иллюстрация: coindesk.com

Главное в цифрах

  • Дата первого обращения: 11 октября
  • Дата второго обращения: 18 октября
  • Версия с исправлением: 4.8.3, выпущена 24 октября
  • Сумма похищенного: не раскрыта

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

Атака использовала то, как Electrum работает с платежами, которые ещё не подтверждены сетью. В отличие от полноценной ноды Bitcoin, Electrum получает историю транзакций и отправляет платежи через внешние серверы. До исправления кошелёк доверял этим серверам и не проверял подписи транзакций.

Как происходила кража

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

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

Подробности и исправление

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

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

Источник: coindesk.com
Холодный кошелёк
Такие новости первыми, в Telegram
Подписаться