Уязвимость Monero позволяла украсть огромное количество средств

Уязвимость Monero позволяла украсть огромное количество средств

Уязвимость Monero позволяла украсть огромное количество средств

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

О баге стало известно, когда пользователь задал теоретический вопрос на форуме Reddit в ветке, посвященной Monero. Пользователь спрашивал — что случится, если кто-то отправит множество транзакций на stealth-адрес (адрес-невидимка).

В криптовалютном мире адреса-невидимки используются для создания дополнительного уровня конфиденциальности. Отправляющий средства пользователь может указать получателю создать одноразовый адрес-невидимку. Этот адрес передает по цепочке средства на реальный адрес получателя.

Разработчики Monero, пытаясь ответить на вопрос пользователя, осознали, что коде присутствует серьезная уязвимость, которая затрагивает процесс обработки адресов-невидимок. Злоумышленник мог заставить биржу создать адрес-невидимку, а затем отправить одну монету Monero (XMR) 1000 раз.

Затем атакующий получал эквивалентную этому сумму в другой цифровой валюте — Bitcoin. Таким образом, если бы киберпреступники обнаружили этот баг первыми, они смогли бы вывести огромное количество средств буквально за считанные секунды.

С выпуском версии кода v0.12.3.0 уязвимость была устранена.

Контроллер памяти AMD научили обходить аппаратную изоляцию

Исследователь Кристофер Домас опубликовал PoC-проект skitter-creek-bath-salts, демонстрирующий обход аппаратной защиты памяти на процессорах AMD Family 16h. Техника манипулирует настройками контроллера DRAM и позволяет обращаться к областям, которые должны быть недоступны даже операционной системе, ядру и коду с привилегиями ring 0.

Обычно программные и аппаратные механизмы контролируют доступ по физическим адресам.

Но последнюю точку в маршруте ставит контроллер памяти: он переводит адрес в конкретные координаты DRAM — канал, ранг, банк, строку и столбец.

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

 

Чтобы система не рухнула, PoC отключает прерывания, подготавливает кеш и таблицы трансляции, ненадолго меняет схему адресации, читает или записывает нужные данные, а затем возвращает исходные настройки.

Для поиска адресов-двойников проект использует линейную алгебру и SMT-решатель Z3. Инструменты восстанавливают связь между обычным и изменённым отображением памяти, после чего вычисляют алиас для защищённой области.

Исследователь продемонстрировал потенциальный доступ к памяти AMD Platform Security Processor, включая данные fTPM, защищённой области System Management Mode, состояниям процессора C6 и хранилищу микрокода. Последний сценарий допускает не только извлечение копии патча, но и её возможное изменение перед восстановлением состояния ядра.

PoC проверяли только на AMD Family 16h. Данных об аналогичной уязвимости в новых AMD, Intel, ARM или RISC-V нет.

RSS: Новости на портале Anti-Malware.ru