Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
rosenbridge — Аппаратные бэкдоры в процессорах x86 | Kitploit
Инструменты/GitHubGitHub/xoreaxeaxeax/rosenbridge
Повышение привилегийАнализ уязвимостейЭксплуатацияОбратная инженерияФаззингАппаратный ХакингАппаратная БезопасностьБезопасность оборудования и IoTАнализ Бинарных ФайловСтатьи и ИсследованияОбучение и Образование
2.6k22688 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
GitHub
xoreaxeaxeax/rosenbridge

rosenbridge

Аппаратные бэкдоры в процессорах x86

Репозиторий

project:rosenbridge

: аппаратные бэкдоры в x86 CPU

github.com/xoreaxeaxeax/rosenbridge // domas // @xoreaxeaxeax

Обзор

project:rosenbridge раскрывает аппаратный бэкдор в некоторых настольных, портативных и встроенных x86-процессорах.

Бэкдор позволяет коду кольца 3 (пользовательский режим) обходить защиты процессора и свободно читать и записывать данные кольца 0 (ядро). Хотя бэкдор обычно отключён (требует выполнения в кольце 0 для его включения), мы обнаружили, что на некоторых системах он включён по умолчанию.

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

Бэкдор

Бэкдор rosenbridge — это небольшое не-x86 ядро, встроенное рядом с основным x86-ядром в процессоре. Он активируется управляющим битом в model-specific-register, а затем запускается с помощью launch-instruction. Затем встроенному ядру передаются команды, обёрнутые в специально отформатированную x86-инструкцию. Ядро выполняет эти команды (которые мы называем «глубоко встроенный набор инструкций»), обходя все проверки защиты памяти и привилегий.

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

Бэкдор rosenbridge полностью отличается от других общеизвестных сопроцессоров в x86 CPU, таких как Management Engine или Platform Security Processor; он встроен глубже любого известного сопроцессора, имея доступ не только ко всей памяти процессора, но и к его файлу регистров и конвейеру выполнения.

Затронутые системы

Считается, что эта проблема затрагивает только процессоры VIA C3. Процессоры серии C ориентированы на промышленную автоматизацию, POS-терминалы, банкоматы, медицинское оборудование, а также на различные потребительские настольные и портативные компьютеры.

Взгляд вперёд

Объём этой уязвимости ограничен; поколения процессоров после C3 больше не содержат эту функцию.

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

Проверка вашего CPU

Чтобы проверить, затронут ли ваш CPU:

root@kitploit:~
git clone https://github.com/xoreaxeaxeax/rosenbridge
cd rosenbridge/util
make
sudo modprobe msr
sudo ./bin/check

Предоставленная утилита должна запускаться на «голом железе» (не в виртуальной машине) и находится в альфа-состоянии. Она может приводить к сбоям, паникам или зависаниям на системах, не содержащих бэкдор.

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

Закрытие бэкдора

На некоторых системах бэкдор включён по умолчанию, что позволяет непривилегированному коду получать доступ к уровню ядра без разрешения. Если шаги из раздела «Проверка вашего CPU» показывают, что ваш CPU уязвим, вы можете установить скрипт для закрытия бэкдора на раннем этапе процесса загрузки:

root@kitploit:~
cd fix
make
sudo make install
reboot

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

Инструменты и методы

Утилита sandsifter широко использовалась в этом исследовании для обнаружения неизвестных инструкций.

  • asm

    Ассемблер для Deeply Embedded Instruction Set (DEIS). Он преобразует программы, написанные на пользовательском ассемблере rosenbridge, в x86-инструкции, которые при выполнении после launch-instruction отправляют команды скрытому ядру CPU.

  • esc

    Доказательство концепции использования бэкдора rosenbridge для повышения привилегий.

  • fix

    Грубый набросок для закрытия уязвимости на затронутых системах, насколько это возможно с помощью обновлений model-specific-register.

  • fuzz

    Набор утилит, используемых для фаззинга как x86, так и rosenbridge-ядер, чтобы изолировать неизвестную launch-instruction и bridge-instruction, а также определить формат инструкций rosenbridge-ядра.

    • deis

      Фаззер, используемый для изучения эффектов и возможностей скрытого ядра CPU.

    • exit

      Считается, что на некоторых процессорах для переключения обратно на x86-ядро после последовательности DEIS требуется последовательность выхода. Этот каталог содержит утилиты, используемые для поиска последовательности выхода на ранних этапах исследования, но был заброшен, когда был найден процессор, не требующий такой последовательности.

    • manager

      Набор Python-утилит, предназначенных для мониторинга и управления задачами фаззинга, распределёнными по сети рабочих узлов.

    • wrap

      Урезанная версия фаззера sandsifter, используемая для идентификации bridge-instruction, которая отправляет команды от x86-ядра скрытому rosenbridge-ядру.

  • kern

    Набор вспомогательных утилит, используемых для мониторинга памяти ядра и регистров на предмет изменений, вызванных фаззированными инструкциями DEIS.

  • lock

    Утилиты для блокировки или разблокировки бэкдора rosenbridge.

  • proc

    Инструмент для выявления закономерностей в логах фаззинга с целью определения классов поведения инструкций DEIS.

  • test

    Инструмент, используемый на ранних этапах исследования для попытки определить архитектуру скрытого ядра путём выполнения известных RISC-инструкций.

  • util

    Инструмент в альфа-состоянии для обнаружения, затронут ли процессор уязвимостью rosenbridge.

Ссылки

(TODO: ссылка на whitepaper)

(TODO: ссылка на слайды)

Отказ от ответственности

Детали и выводы, представленные в этой работе, являются умозаключениями и мнениями авторов, основанными на описанном исследовании. Исследование проводится и предоставляется с целью выявления и устранения предполагаемой уязвимости безопасности в описанных процессорах. Процессоры VIA известны своим низким энергопотреблением и превосходством во встроенных решениях; мы считаем, что описанная функциональность была создана добросовестно как полезная функция для встроенного рынка и была непреднамеренно оставлена включённой на некоторых ранних поколениях процессоров. Злого умысла не предполагается.

Автор

project:rosenbridge — исследовательская работа Кристофера Домаса (@xoreaxeaxeax).

Скачать инструмент