Rosenbridge: аппаратный бэкдор в некоторых процессорах x86
Исследователь безопасности Кристофер Домас (Christopher Domas, известный как @xoreaxeaxeax) представил проект rosenbridge — детальное описание аппаратного бэкдора, встроенного в ряд настольных, мобильных и промышленных процессоров архитектуры x86.
Скрытое ядро внутри процессора
Суть находки в том, что рядом с основным x86-ядром в кристалле располагается небольшое дополнительное ядро, работающее на собственной, не-x86 системе команд. Домас называет её «глубоко встроенным набором инструкций» (deeply embedded instruction set). Это ядро активируется битом в специальном регистре процессора (MSR), после чего его можно «запустить» отдельной инструкцией и передавать ему команды, завёрнутые в особым образом сформированные x86-инструкции.
Опасность в том, что скрытое ядро исполняет эти команды в обход всех проверок привилегий и защиты памяти. Код из пользовательского пространства (ring 3) получает возможность свободно читать и изменять данные ядра операционной системы (ring 0). По словам автора, rosenbridge залегает глубже любого известного сопроцессора вроде Intel Management Engine или AMD Platform Security Processor: он имеет доступ не только ко всей памяти процессора, но и к его регистрам и конвейеру исполнения.
Кого это касается
Формально активация бэкдора требует прав ядра. Однако исследователи обнаружили, что на некоторых системах он включён по умолчанию — а значит, любой непривилегированный код может захватить контроль над ядром без всяких дополнительных условий.
Затронутыми считаются процессоры VIA C3. Эта линейка ориентирована на промышленную автоматизацию, торговые терминалы, банкоматы, медицинское оборудование, а также встречалась в потребительских настольных и портативных компьютерах. Хорошая новость: масштаб уязвимости ограничен — в поколениях процессоров после C3 этой функции уже нет.
Без злого умысла
Домас подчёркивает, что не приписывает производителю злых намерений. По его версии, механизм, вероятно, задумывался добросовестно — как полезная возможность для встраиваемого рынка — и был по недосмотру оставлен включённым на ранних поколениях чипов. VIA известна процессорами с низким энергопотреблением, удачными для встраиваемых решений.
В репозитории опубликованы инструменты: утилита для проверки процессора (запускать её нужно на «голом железе», не в виртуальной машине), скрипт для закрытия бэкдора на ранней стадии загрузки, а также ассемблер для скрытого набора команд и целый арсенал фаззеров, с помощью которых и был найден незадокументированный механизм. Автор преподносит работу как учебный кейс и мысленный эксперимент: демонстрацию того, как подобные закладки могут возникать в усложняющихся процессорах и как их можно выявлять.
Источник: Hacker News
Комментарии
Войдите, чтобы комментировать.