Intel Software Guard Extensions ( SGX ) представляет собой набор связанных с обеспечением безопасности кодов инструкций , которые встроены в некоторых современных Intel центральных процессоров (CPU). Они позволяют коду уровня пользователя, а также коду операционной системы определять частные области памяти, называемые анклавами , содержимое которых защищено и не может быть прочитано или сохранено каким-либо процессом за пределами самого анклава, включая процессы, выполняемые с более высокими уровнями привилегий . [1] [2]
SGX включает шифрование ЦП части памяти. Анклав расшифровывается на лету только внутри самого процессора, и даже тогда только для кода и данных, выполняемых внутри самого анклава. [3] Таким образом, процессор защищает код от «слежки» или проверки другим кодом. [3] Код и данные в анклаве используют модель угроз, в которой анклав является доверенным, но никакому процессу за его пределами нельзя доверять (включая саму операционную систему и любой гипервизор ), и поэтому все они рассматриваются как потенциально враждебные. Содержимое анклава не может быть прочитано никаким кодом за пределами анклава, кроме его зашифрованной формы.[3] Приложения, работающие внутри SGX, должны быть написаны так, чтобы быть устойчивыми к побочным каналам, поскольку SGX не защищает от измерения или наблюдения побочных каналов. [4]
SGX разработан, чтобы быть полезным для реализации безопасных удаленных вычислений , безопасного просмотра веб-страниц и управления цифровыми правами (DRM). [5] Другие приложения включают сокрытие патентованных алгоритмов и ключей шифрования . [3]
Что касается процессоров Intel Tiger Lake и Rocket Lake 11-го поколения, процессоры Intel больше не включают SGX. [6]
Подробности
SGX был впервые представлен в 2015 году с микропроцессорами Intel Core шестого поколения на основе микроархитектуры Skylake .
Поддержка SGX в ЦП указана в CPUID «Structured Extended Feature Leaf», EBX bit 02, [7], но для его доступности для приложений требуется поддержка BIOS / UEFI и включение опции opt-in, что не отражается в битах CPUID. Это усложняет логику обнаружения функций для приложений. [8]
Эмуляция SGX была добавлена к экспериментальной версии системного эмулятора QEMU в 2014 году. [9] В 2015 году исследователи из Технологического института Джорджии выпустили симулятор с открытым исходным кодом под названием «OpenSGX». [10]
Одним из примеров использования SGX для обеспечения безопасности было демонстрационное приложение от wolfSSL [11], использующее его для алгоритмов шифрования.
Микроархитектура Intel Goldmont Plus (Gemini Lake) также содержит поддержку Intel SGX. [12]
Атаки
Prime + Probe атака
27 марта 2017 года исследователи из Австрийского технологического университета Граца разработали доказательство концепции, которая может получать ключи RSA из анклавов SGX, работающих в той же системе, в течение пяти минут, используя определенные инструкции ЦП вместо мелкозернистого таймера для использования кеша. Побочные каналы DRAM . [13] [14] Одна контрмера для этого типа атаки была представлена и опубликована Daniel Gruss et al. на симпозиуме по безопасности USENIX в 2017 году. [15] Среди других опубликованных мер противодействия 28 сентября 2017 года была опубликована одна мера противодействия этому типу атак, основанный на компиляторе инструмент DR.SGX [16], который утверждает, что обладает превосходной производительностью. с устранением сложности реализации других предлагаемых решений. ММММ
Атака призрака
Группа LSDS в Имперском колледже Лондона продемонстрировала доказательство концепции, согласно которой уязвимость системы безопасности спекулятивного исполнения Spectre может быть адаптирована для атаки на безопасный анклав. [17] предвещать атака, раскрытый в августе 2018 года, сочетает в себе спекулятивное выполнение и переполнение буфера в обход SGX. [18]
Атака анклава
8 февраля 2019 года исследователи из Австрийского технологического университета Граца опубликовали результаты, которые показали, что в некоторых случаях можно запустить вредоносный код из самого анклава. [19] Эксплойт включает сканирование памяти процесса для восстановления полезной нагрузки, которая затем может запускать код в системе. В документе утверждается, что из-за конфиденциального и защищенного характера анклава антивирусное программное обеспечение не может обнаруживать и удалять вредоносные программы, находящиеся в нем. Однако, поскольку современные решения для защиты от вредоносных программ и вирусов отслеживают системные вызовы и взаимодействие приложения с операционной системой, должна быть возможность идентифицировать вредоносные анклавы по их поведению, и эта проблема вряд ли будет проблемой для текущего состояния. -современные антивирусы. Intel опубликовала заявление, в котором говорилось, что эта атака выходит за рамки модели угроз SGX, что они не могут гарантировать, что код, запускаемый пользователем, поступает из надежных источников, и призвала потребителей запускать только доверенный код. [20]
Атака повторного воспроизведения с помощью микроскопа
Атаки по побочным каналам все чаще поражают современную компьютерную архитектуру. Многие из этих атак измеряют небольшие недетерминированные вариации выполнения некоторого кода, поэтому злоумышленнику требуется множество, возможно, десятки тысяч измерений, чтобы узнать секреты. Однако атака Microscope позволяет вредоносной ОС воспроизводить код произвольное количество раз независимо от фактической структуры программы, что позволяет проводить десятки атак по побочным каналам. [21]
Plundervolt
Исследователи безопасности смогли внести в выполнение в анклаве ошибки, зависящие от времени, что привело к утечке информации. Атака может быть выполнена удаленно, но требует доступа к привилегированному управлению напряжением и частотой процессора. [22]
LVI
Load Value Injection [23] [24] вводит данные в программу, стремясь заменить значение, загруженное из памяти, которое затем используется в течение короткого времени, прежде чем ошибка будет обнаружена и откат, в течение которого LVI управляет потоком данных и управления.
SGAxe
SGAxe, [25] уязвимость SGX, расширяет спекулятивную атаку выполнения на кеш, [26] утечка содержимого анклава. Это позволяет злоумышленнику получить доступ к закрытым ключам ЦП, используемым для удаленной аттестации. [27] Другими словами, злоумышленник может обойти контрмеры Intel и нарушить конфиденциальность анклавов SGX. Атака SGAxe осуществляется путем извлечения ключей аттестационных из частного цитировал анклав SGX в, которые подписываются Intel. Затем злоумышленник может выдать себя за легитимные машины Intel, подписав произвольные цитаты аттестации SGX. [28]
Смотрите также
- Intel MPX
- Спектр-НГ
- Надежная среда выполнения (TEE)
Рекомендации
- ^ «Intel SGX для чайников (цели проектирования Intel SGX)» . intel.com . 2013-09-26.
- ^ джонм (2017-08-08). «Правильное определение расширений Intel® Software Guard Extensions (Intel® SGX) в ваших приложениях» . software.intel.com . Проверено 15 февраля 2019 .
- ^ а б в г «Исследователи используют Intel SGX, чтобы вывести вредоносное ПО за пределы досягаемости антивирусного ПО - Slashdot» . it.slashdot.org .
- ^ «Intel SGX и побочные каналы» . intel.com . 2020-02-28.
- ^ «Сведения об Intel SGX» . intel.com . 2017-07-05.
- ^ https://www.extremetech.com/computing/308049-leak-intels-rocket-lake-to-deliver-new-14nm-cpu-architecture-pcie-4-0
- ^ Справочник по программированию расширений набора команд архитектуры Intel , Intel, АВГУСТ 2015 г., стр. 36 «Структурированная расширенная функция Leaf EAX = 07h, EBX Bit 02: SGX»
- ^ «Правильное обнаружение расширений Intel Software Guard в ваших приложениях» . intel.com . 2016-05-13.
- ^ «Эмуляция Intel SGX с использованием QEMU» (PDF) . tc.gtisc.gatech.edu . Проверено 2 ноября 2018 .
- ^ "sslab-gatech / opensgx" . GitHub . Проверено 15 августа 2016 .
- ^ "wolfSSL В ЦАХАЛе" . wolfssl . 2016-08-11.
- ^ «Процессор Intel® Pentium® Silver J5005» . Проверено 10 июля 2020 .
- ^ Чиргвин, Ричард (7 марта 2017 г.). «Боффинс показывает, что SGX от Intel может допускать утечку криптографических ключей» . Регистр . Дата обращения 1 мая 2017 .
- ^ Шварц, Майкл; Вайзер, Самуэль; Грусс, Даниэль; Морис, Клементина; Мангард, Стефан (2017). «Расширение защиты от вредоносных программ: использование SGX для сокрытия атак на кэш». arXiv : 1702.08719 [ cs.CR ].
- ^ «Надежная и эффективная защита побочного канала кэша с использованием аппаратной транзакционной памяти» (PDF) . USENIX . 2017-08-16.
- ^ Брассер, Фердинанд; Чапкун, Срджан; Дмитриенко, Александра; Фрассетто, Томмазо; Костиайнен, Кари; Мюллер, Урс; Садеги, Ахмад-Реза (28 сентября 2017 г.). «DR.SGX: усиление защиты анклавов SGX от кэш-атак с помощью рандомизации расположения данных». arXiv : 1709.09917 . DOI : 10.1145 / 3359789.3359809 . S2CID 19364841 . Цитировать журнал требует
|journal=
( помощь ) - ^ Пример кода, демонстрирующий атаку типа Spectre на анклав Intel SGX.
- ^ Питер Брайт - 10 июля 2018 г., 21:00 UTC (10 июля 2018 г.). «Новая атака типа Spectre использует спекулятивное исполнение для переполнения буферов» . Ars Technica . Проверено 2 ноября 2018 .
- ^ Шварц, Майкл; Вайзер, Самуэль; Грусс, Даниэль (2019-02-08). «Практическая вредоносная программа анклава с Intel SGX». arXiv : 1902.03256 [ cs.CR ].
- ^ Брайт, Питер (2019-02-12). «Исследователи используют Intel SGX, чтобы сделать вредоносные программы недоступными для антивирусного ПО» . Ars Technica . Проверено 15 февраля 2019 .
- ^ Скарлатос, Димитриос; Ян, Мэнцзя; Гопиредди, Бхаргава; Sprabery, Читать; Торреллас, Хосеп; Флетчер, Кристофер В. (2019). «MicroScope: включение атак с повторным воспроизведением микроархитектуры» . Материалы 46-го Международного симпозиума по компьютерной архитектуре - ISCA '19 . Феникс, Аризона: ACM Press: 318–331. DOI : 10.1145 / 3307650.3322228 . ISBN 978-1-4503-6669-4.
- ^ «Плундервольт ворует ключи от криптографических алгоритмов» . Блог Rambus . 2019-12-11 . Проверено 20 марта 2020 .
- ^ «LVI: захват переходного выполнения с введением значения нагрузки» . lviattack.eu . Проверено 12 марта 2020 .
- ^ «Ввод значения нагрузки» . software.intel.com . Проверено 12 марта 2020 .
- ^ «SGAxe: Как SGX терпит неудачу на практике» .
- ^ «CacheOut: утечка данных о процессорах Intel через вытеснение кеша» .
- ^ «На пути к формализации удаленной аттестации на основе расширенного идентификатора конфиденциальности (EPID) в Intel SGX» .
- ^ «Атаки SGAxe и CrossTalk: новые утечки данных об уязвимости Intel SGX» . Отчеты о взломах . 2020-06-12 . Проверено 12 июня 2020 .
Внешние ссылки
- Расширения Intel Software Guard Extensions (Intel SGX) / ISA Extensions, Intel
- Справочник по программированию Intel Software Guard Extensions (Intel SGX) , Intel, октябрь 2014 г.
- IDF 2015 - Tech Chat: Primer on Intel Software Guard Extensions , Intel (плакат)
- Учебные слайды ISCA 2015 для Intel SGX , Intel, июнь 2015 г.
- Маккин, Франк и др. (Intel), Инновационные инструкции и модель программного обеспечения для изолированного выполнения // Труды 2-го Международного семинара по аппаратной и архитектурной поддержке безопасности и конфиденциальности. ACM, 2013.
- Джексон, Алон (докторская диссертация). Доверие - ключ к успеху: расширение автономии и анонимности SGX , май 2017 г.
- Джоанна Рутковска , Мысли о грядущих расширениях Intel Software Guard Extensions (часть 1) , август 2013 г.
- SGX: хорошее, плохое и совершенно уродливое / Шон Давенпорт, Ричард Форд (Технологический институт Флориды) / Virus Bulletin, 2014-01-07
- Виктор Костан и Шринивас Девадас, Intel SGX Explained , январь 2016 г.
- wolfSSL , октябрь 2016 г.
- Безопасность Intel SGX для приложений защиты ключей и конфиденциальности данных / профессор Иегуда Линделл (Университет Бар-Илан и Unbound Tech), январь 2018 г.
- Технология Intel SGX и влияние атак на процессор по стороннему каналу , март 2020 г.
- Как конфиденциальные вычисления обеспечивают персонализированный опыт покупок , январь 2021 г.