Platbox
Инструмент для оценки безопасности UEFI и SMM
Возможности
Platbox — это инструмент, помогающий оценить безопасность платформы:
- Выводит регистры платформы, важные с точки зрения безопасности
- Блокировки Flash
- Блокировки MMIO и ремаппинга
- Базовый адрес SMM и блокировки
- MSR
- Чтение/запись в конфигурационное пространство PCI устройств.
- Чтение/запись физической и виртуальной памяти.
- Позволяет выделять физическую память и отображать память в пользовательский режим.
- Чтение и запись MSR.
- Дамп содержимого SPI Flash (BIOS) в файл.
- Базовый «тупой» фаззер SMI.
- Дамп сценария загрузки S3 (из SMM-Lockbox) в файл.
- Дамп карты памяти EFI (пока только Linux).
- Список переменных UEFI.
- Поддерживает Linux и Windows.
- Поддерживает Intel и AMD.
Пример вывода команды 'chipset' для платформы AMD

Структура проекта
Проект разделён следующим образом:
- PlatboxDrv: драйверы ядра для Linux и Windows.
- PlatboxLib: пользовательский компонент, который загружает драйвер ядра и предоставляет доступ ко всем перечисленным выше функциям.
- PlatboxCli: консольный клиент, использующий библиотеку.
- Pocs: пример программы, использующей возможности библиотеки.
Шаги сборки
Windows
mkdir build
cd build
cmake -G "Visual Studio 17 2022" -A x64 -S .. -B "build64"
cmake --build build64/ --target platbox_cli
Сборка релизной версии
cmake -G "Visual Studio 17 2022" -A x64 -S .. -B "build64"
cmake --build build64/ --target platbox_cli --config Release