SGX
Intel SGX (Software Guard Extensions) предоставляет средства выполнения анклавов с определенной моделью угроз и программным интерфейсом. Поддержки со стороны ЦП недостаточно, чтобы гарантировать возможность запуска приложения анклава на конкретной системе.
Что необходимо знать
Intel SGX (Software Guard Extensions) предоставляет средства выполнения анклавов с определенной моделью угроз и программным интерфейсом. Поддержки со стороны ЦП недостаточно, чтобы гарантировать возможность запуска приложения анклава на конкретной системе.
Как это работает
SGX определяет память анклава и механизмы входа/выхода, а кэш страниц анклава управляется с помощью платформы и ОС. Приложение анклава разделяет доверенные и недоверенные компоненты и может использовать аттестацию для подтверждения подлинности анклава. Объем полезной памяти анклава и поддерживаемая политика запуска зависят от платформы.
Области применения
Приложение может поместить строго ограниченные вычисления и секреты внутрь анклава, рассматривая окружающий хост как находящийся за пределами границы доверия. Операции ввода-вывода, недоверенные входные данные, обработка исключений и защита от атак по сторонним каналам по-прежнему требуют явного проектирования.
Как проверить поддержку и активацию
Проверьте бит 2 в CPUID.07H.00H:EBX и информацию подстраницы 12H CPUID, специфичную для SGX, затем проверьте инициализацию прошивки, поддержку драйвера/среды выполнения и требования приложения к аттестации. Следуйте точной поддерживаемой конфигурации платформы.
Аппаратную возможность, активацию и фактическое применение политик необходимо проверять раздельно. Процессор может поддерживать технологию защиты, в то время как ОС, приложение или политика виртуальной машины ее не задействуют. Наличие отметки о поддержке в базе данных не является аттестацией работающей системы.
Чего не гарантирует данная функция
Метка SGX не определяет детали SGX1/SGX2, Flexible Launch Control, доступность службы аттестации или конкретный объем памяти анклава. Она не делает произвольные немодифицированные приложения конфиденциальными и не устраняет все сторонние каналы.
Совместимость и производительность на практике
Поддерживайте ОС, микрокод и соответствующую среду выполнения в актуальном состоянии. Если механизм защиты вызывает проблемы совместимости, в первую очередь используйте средства диагностики и поддерживаемые обновления от поставщика. Изменение глобальных параметров защиты может затронуть сторонние приложения и должно производиться согласно регламенту развертывания и плана отката.
Практический чек-лист для проверки
- Зафиксируйте точную модель процессора или платформы, а также задействованные версии приложения, ОС и среды выполнения. Сохраните точную формулировку возникшей ошибки или требования.
- Сверьтесь со справочными материалами производителя для этой точной модели, затем проверьте действующую поддержку и состояние активации в окружении, где выполняется программа.
- Сопоставьте каждое требование выбранного бинарного файла или бэкенда. Похожего названия функции, псевдонима или общего маркетингового обозначения технологии недостаточно.
- Убедитесь, что приложение выбрало предполагаемую реализацию. Используйте его документированные средства диагностики и поддерживаемый резервный код при несоблюдении требований.
- Вносите по одному поддерживаемому изменению за раз и повторяйте ту же рабочую нагрузку. Сохраняйте исходную конфигурацию и возможность отката.
Если функция указана в списке, но ПО не может ее использовать
Начните с точного сбойного компонента. База данных оборудования описывает зафиксированные возможности; операционная система или гипервизор могут предоставлять иное фактическое окружение. Ошибка недопустимой инструкции также требует анализа конкретной сбойной команды и сборки бинарного файла, так как повреждение данных или сторонняя неподдерживаемая инструкция могут вызывать аналогичный симптом.
Установите версию приложения, драйвера или среды выполнения, поддерживаемую для данной платформы, и при необходимости используйте документированную производителем базовую или резервную сборку. Обновление ПО не может создать инструкцию, отсутствующую в процессоре. Изменения микрокода и политик безопасности должны выполняться по процедуре производителя системы и с планом восстановления, а не по общим шаблонам оптимизации.
Источники и границы применимости пояснения
Руководство разработчика программного обеспечения для архитектур Intel 64 и IA-32 · Эталонная реализация Intel SGX для разработчиков
Эти материалы определяют архитектурное поведение и требования к программному обеспечению. Они не подтверждают независимо каждое значение параметров на странице конкретной модели оборудования. Для проверки поддержки моделью используйте данные производителя на этой странице и проверяйте действующую конфигурацию системы. Данная статья не содержит результатов тестов производительности, сертификатов или дат независимых обзоров.
Источники и проверка
Редакционная принадлежность: Feex. Дата независимой проверки не зарегистрирована. Как мы проводим исследования.
- Руководство разработчика программного обеспечения для архитектур Intel 64 и IA-32 · Тома 1 и 2 описывают указанные семейства инструкций и CPUID; том 3 описывает управление состоянием, страничную адресацию, VMX и средства защиты. Архитектурная документация не определяет факт поддержки конкретной моделью.
- Эталонная реализация Intel SGX для разработчиков - Официальный проект SDK/среды выполнения и справочные материалы для развертывания анклавов. Точные требования к платформе и аттестации остаются специфичными для приложения.
Была ли эта статья полезна?
Достаточно ответа "да" или "нет". При желании выберите причину или оставьте короткую заметку.
Спасибо. Это помогает нам улучшать эту страницу.