В реализации криптовалюты Monero выявлены две критические уязвимости

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

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

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

Например, атакующий мог отправить на биржу 1000 подобных транзакций по 1 XMR. Из-за ошибки в коде Monero обработчик платежей не считал отправку на один и тот же одноразовый адрес аномалией и начислял атакующему приход 1000 XMR. Так как процесс конвертации автоматизирован, 1000 XMR могли сразу быть преобразованы в BTC и выведены из системы в виде Bitcoin до того, как истечёт время жизни одноразового адреса и программное обеспечение биржи обнаружит дублирующиеся траты по нему.

Кроме того, исследователи из компании Cisco выявили ещё одну уязвимость (CVE-2018-3972), затрагивающую код развиваемой проектом Monero библиотеки epee, используемой во многих криптовалютах с поддержкой анонимных транзакций.

Проблема вызвана ошибкой в коде раскрытия сериализированных данных в обработчике P2P-потокола Levin, который применяется во всех ответвлениях от проекта CryptoNote, включая Monero, Bytecoin, Dashcoin, Dosh и т.п. Ошибка в реализации Levin из состава epee может привести к выполнению кода в системе при обработке определённым образом оформленных сетевых пакетов. Исследователями уже подготовлен рабочий прототип эксплоита.

Исправления обеих проблем включены в экспериментальный выпуск v0.13.0.1-RC1 и также доступны в виде патчей для стабильного выпуска 0.12.3.0 (исправления включены в master-ветку 0.12). Принятые патчи также включают устранение менее опасной третьей уязвимости, которая затрагивает код RPC и может применяться для удалённого инициирования отказа в обслуживании (например, для блокирования процесса майнинга).

10/01/2018 10:30:04
0

комментарии (0)