Software Guard Extensions

редактировать
Связанное с безопасностью расширение процессора кода инструкций

Intel Software Guard Extensions (SGX ) представляет собой набор связанных с безопасностью кодов инструкций, которые встроены в некоторые современные Intel центральные процессоры (CPU). Они позволяют коду уровня пользователя, а также операционной системы определять частные области памяти, называемые анклавами, содержимое которых защищено и не может быть прочитано или сохранено каким-либо процессом вне сам анклав, включая процессы, выполняющиеся с более высокими уровнями привилегий .

SGX включает шифрование ЦП части памяти. Анклав дешифруется на лету только внутри самого процессора, и даже тогда только для кода и данных, выполняемых внутри самого анклава. Таким образом, процессор защищает код от «слежки» или проверки другим кодом. Код и данные в анклаве используют модель угроз, в которой анклаву доверяют, но никакому процессу за его пределами нельзя доверять (включая саму операционную систему и любой гипервизор ), и поэтому все они рассматриваются как потенциально враждебные. Содержимое анклава не может быть прочитано никаким кодом вне анклава, кроме его зашифрованной формы. Приложения, работающие внутри SGX, должны быть написаны так, чтобы быть устойчивыми к побочным каналам, поскольку SGX не защищает от измерения или наблюдения побочных каналов.

SGX разработан, чтобы быть полезным для реализации безопасного удаленных вычислений, безопасного просмотра веб-страниц и управления цифровыми правами (DRM). Другие приложения включают сокрытие проприетарных алгоритмов и ключей шифрования.

Содержание

  • 1 Детали
  • 2 Атаки
    • 2.1 Атака Prime + Probe
    • 2.2 Атака, подобная Spectre
    • 2.3 Атака анклава
    • 2.4 Атака повторным воспроизведением с помощью микроскопа
    • 2.5 Пандервольт
    • 2.6 LVI
    • 2.7 SGAxe
  • 3 См. Также
  • 4 Ссылки
  • 5 Внешние ссылки

Подробности

SGX был впервые представлен в 2015 году с микропроцессорами Intel Core шестого поколения на основе микроархитектуры Skylake .

Поддержка SGX в ЦП указана в CPUID «Structured Extended Feature Leaf», EBX, бит 02, но для его доступности для приложений требуется поддержка BIOS / UEFI и включение согласия, что не отражено в Биты CPUID. Это усложняет логику обнаружения функций для приложений.

Эмуляция SGX была добавлена ​​в экспериментальную версию системного эмулятора QEMU в 2014 году. В 2015 году исследователи из Института Джорджии Technology выпустила имитатор с открытым исходным кодом под названием "OpenSGX".

Одним из примеров использования SGX для обеспечения безопасности было демонстрационное приложение от wolfSSL, использующее его для алгоритмов криптографии.

Микроархитектура Intel Goldmont Plus (Gemini Lake) также содержит поддержку Intel SGX.

Атаки

Атака Prime + Probe

27 марта 2017 г. исследователи из австрийского технологического университета Граца разработали концепцию, позволяющую получать ключи RSA из анклавов SGX, работающих в той же системе, в течение пяти минут с использованием определенного процессора. инструкции вместо точного таймера для использования побочных каналов cache DRAM. Одна из мер противодействия этому типу атак была представлена ​​и опубликована Daniel Gruss et al. на симпозиуме по безопасности USENIX в 2017 году. Среди других опубликованных мер противодействия 28 сентября 2017 года была опубликована одна мера противодействия этому типу атак - инструмент на основе компилятора DR.SGX, который утверждает, что обладает превосходной производительностью с устранением сложности реализации других предлагаемых решений.

Атака, похожая на Spectre

Группа LSDS в Имперском колледже Лондона продемонстрировала доказательство концепции, согласно которой спекулятивная уязвимость системы безопасности Spectre может быть адаптирована для атаки на безопасный анклав. Атака Foreshadow, раскрытая в августе 2018 года, сочетает в себе спекулятивное выполнение и переполнение буфера для обхода SGX.

Атака на анклав

8 февраля 2019 года исследователи из австрийской Технологический университет Граца опубликовал результаты, которые показали, что в некоторых случаях можно запустить вредоносный код изнутри самого анклава. Эксплойт включает сканирование памяти процесса с целью восстановления полезной нагрузки, которая затем может запускать код в системе. В документе утверждается, что из-за конфиденциального и защищенного характера анклава антивирусное программное обеспечение не может обнаруживать и удалять вредоносные программы, находящиеся в нем. Однако, поскольку современные решения для защиты от вредоносных программ и вирусов отслеживают системные вызовы и взаимодействие приложения с операционной системой, должна быть возможность идентифицировать вредоносные анклавы по их поведению, и эта проблема вряд ли будет проблемой для текущего состояния. -современные антивирусы. Intel выступила с заявлением, в котором говорилось, что эта атака выходит за рамки модели угроз SGX, что они не могут гарантировать, что код, запускаемый пользователем, поступает из надежных источников, и призвали потребителей запускать только доверенный код.

Наблюдается распространение атак по побочным каналам, поражающих современную компьютерную архитектуру. Многие из этих атак измеряют небольшие недетерминированные вариации выполнения некоторого кода, поэтому злоумышленнику требуется множество, возможно, десятки тысяч измерений, чтобы узнать секреты. Однако атака Microscope позволяет вредоносной ОС воспроизводить код произвольное количество раз, независимо от фактической структуры программы, что делает возможным множество атак по побочным каналам.

Plundervolt

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

LVI

Load Value Injection вводит данные в программу, стремясь заменить значение, загруженное из памяти который затем используется в течение короткого времени, прежде чем ошибка будет обнаружена и откат, в течение которого LVI управляет потоком данных и управления.

SGAxe

SGAxe, уязвимость SGX, расширяет атаку спекулятивного исполнения на кэш, приводя к утечке содержимого анклава. Это позволяет злоумышленнику получить доступ к закрытым ключам ЦП, используемым для удаленной аттестации. Другими словами, злоумышленник может обойти контрмеры Intel, чтобы нарушить конфиденциальность анклавов SGX. Атака SGAxe выполняется путем извлечения ключей аттестации из анклава частного квотирования SGX, которые подписаны Intel. Затем злоумышленник может выдать себя за легитимные машины Intel, подписав произвольные цитаты аттестации SGX.

См. Также

Ссылки

Внешние ссылки

Последняя правка сделана 2021-06-08 08:26:16
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте