Атака по захвату кошельков Electrum через zero-day уязвимость в PyBitmessage

В PyBitmessage, эталонной реализации клиента для пересылки сообщений в децентрализованной p2p-сети Bitmessage, выявлена критическая уязвимость, позволяющая удалённо выполнить сторонний Python-код на стороне пользователя. Проблема устранена в выпуске 0.6.3.2, но имеются сведения об организации атаки по похищению файлов с кошельками Electrum, которая началась ещё до публичного раскрытия сведений об уязвимости. Уязвимости подвержены только ветки 0.6.2 и 0.6.3, в 0.6.1 проблема отсутствует. Всем пользователям уязвимых версий PyBitmessage рекомендуется срочно перегенерировать ключи и сменить пароли.

Проблема вызвана применением в коде функции eval(), в которой выполнялось содержимое, составленное на основе внешних данных. Злоумышленник мог отправить сообщение, приводящее к выполнению произвольного Python-кода. Уязвимость активно использовалась для копирования файлов с кошельками («~/.electrum/wallets/») с системы пользователей. В ходе атаки также зафиксирован запуск бэкдора для организации доступа извне, позволяющего получить содержимое любых файлов в системе.

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.