Заявлено об обнаружении бэкдора в процессорах VIA C3

Кристофер Домас (Christopher Domas) представил на конференции Black Hat 2018 отчёт с анализом возможных бэкдоров ноутбутах, ПК и встраиваемых моделях процессоров на базе архитектуры x86. В том числе продемонстрирован рабочий эксплоит, активирующий аппаратный бэкдор в процессорах VIA, позволяющий из третьего кольца защиты выполнить код с привилегиями нулевого кольца через выполнение определённой последовательности машинных инструкций. Бэкдор присутствует только в линейке процессоров VIA C3, в более новых моделях проблема не проявляется.

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

Бэкдор представляет собой дополнительное вычислительное ядро, встроенное в процессор в дополнение к основному ядру CPU. Если основное процессорное ядро обеспечивает выполнение инструкций x86, то бэкдор оформлен как сопроцессор со своим набором инструкций. Включение и выключение сопроцессора с бэкдором производится через установку специального управляющего бита через регистр MSR (model-specific-register) с последующим выполнением специальной процессорной инструкции.

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

Отмечается, что выявленный бэкдор, которому присвоено кодовое имя «rosenbridge», кардинально отличается от таких технологий, как ME (Management Engine) или PSP (Platform Security Processor), так как он более глубоко встроен, чем любой известный сопроцессор и имеет доступ не только ко всей памяти процессора, но и к процессорным регистрам и конвейеру выполнения.

Источник: opennet.ru