Расширения для защиты программного обеспечения
-
Описание Intel Software Guard Extensions (SGX)
- SGX — это набор команд, реализующих доверенную среду выполнения в процессорах Intel.
- Позволяет создавать защищенные области памяти (анклавы) для безопасного выполнения кода.
- Используется для удаленных вычислений, безопасного просмотра веб-страниц и управления цифровыми правами.
-
Архитектура и реализация
- SGX шифрует часть памяти (анклава) центральным процессором.
- Данные и код из анклава расшифровываются на лету, защищая их от проверки другим кодом.
- Поддержка SGX указана в CPUID, но требует поддержки BIOS/UEFI.
-
Эмуляция и примеры использования
- Эмуляция SGX добавлена в QEMU в 2014 году.
- Пример использования: демонстрационное приложение от wolfSSL для криптографических алгоритмов.
- Микроархитектура Intel Goldmont Plus также поддерживает SGX.
-
Уязвимости и атаки
- Основная+Зондирующая атака: получение ключей RSA из анклавов.
- Атака, подобная атаке призрака: адаптация Spectre для атаки на анклав.
- Атака анклава: запуск вредоносного кода из анклава.
- Атака воспроизведения под микроскопом: воспроизведение кода для атак по побочным каналам.
- Грабитель-Вольт: утечка информации через ошибки в анклаве.
- LVI: внедрение данных в программу для управления данными и потоком управления.
- SGAxe: утечка содержимого анклава и доступ к закрытым ключам процессора.
- ЭПИЧЕСКАЯ утечка: доступ к ключам шифрования через APIC.
- Извлечение секретного ключа: закрытый ключ не может быть извлечен из анклава.
-
Аргументы в пользу вредоносного ПО
- Споры о том, позволяет ли SGX создавать более совершенные вредоносные программы.
- Исследование Оксфордского университета: SGX не вносит существенного вклада в вредоносное ПО.