Технология intel software guard extensions в картинках

Технология intel software guard extensions в картинках

В прошедшем сезоне мы в блоге Intel уже публиковали пост о технологии Intel Software Guard Extensions (Intel SGX), помощь которой внедрили в процессорах Intel Core шестого поколения. Тогда обращение шла по большей части об идеологических моментах; думается, настало время поведать, как это трудится. В этом посте будет большое количество иллюстраций из подробной (более 200 слайдов) презентации Intel, посвященной данной технологии.

В ней, само собой разумеется, сообщено значительно больше, чем тут, так что вы сейчас понимаете, где возможно продолжить изучение вопроса.
Смотрите кроме этого: Intel Xeon E3 v5 — Skylake для сервера

Практически полгода назад мы объявили появление первых процессоров Intel Core шестого поколения (Skylake). И вот сейчас, весьма скоро, с учетом масштаба процесса разработки, показались Skylake для серверов в лице младшей серии Intel Xeon — E3. Подробно изучить всю линейку E3 v5 возможно изучить на сайте Intel ARC, она достаточно широка, так что v4 были, возможно сообщить, проходным этапом.

Кольца защищенного режима разделяют код приложений и привилегированный код ядра, и отделяют приложения друг от друга. Но наряду с этим приложения не защищены от атак со стороны привилегированного кода. Зловредное приложение может пробраться в него посредством эксплойта и после этого внедриться в беспомощную жертву.

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

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

Она снабжает безопасность, целостность данных, контроль входных точек, поддерживает многопоточность.При попытке доступа к анклаву проверяется, находятся ли по этому адресу эти вызывающего процесса (EPC, Enclave Page Cache). Потом подвергаются контролю полномочия функции (EPCM, Enclave Page Cache Metadata), и лишь позже предоставляется требуемый доступ.Аттестация происходит следующим образом. Анклав запрашивает аппаратно подписанный отчет, содержащий, а также данные о целостности анклава.

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

Ключ приложения шифруется подписывающим ключом и сохраняется для предстоящего применения.Функционал Intel Software Guard Extensions реализуется посредством комбинации SGX руководств, поддерживающих локальную аттестацию и предоставляемого Intel аттестационного анклава для помощи удаленной аттестации.Разработчики SGX предусмотрели защиту от разного рода атак на код и данные: угрозы пользовательского и системного ПО, и загрузчика. Увидим, что средствами SGX нереально защититься от side-channel уязвимостей, в то время, когда преступники собирают статистику применения ЦПУ для определения черт исполняемого на нем кода.

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

MEE применяет особые комбинации криптографических примитивов для действенного шифрования при весьма твёрдых требованиях по задержкам.Как выглядит разработка приложений, поддерживающих SGX? Чувствительные фрагменты кода и данных размещаются в отдельном shared object (.so). Потом определяются интерфейса анклава и генерируются заглушки.

Библиотеки SGX взаимодействуют с кодом через API, для разработки употребляются простые, привычные для разработчика тулчейны. Для облегчения процесса обработки уже имеется Intel SGX SDK.Что обещает нам разработка Intel SGX? В первую очередь то, что требования к техническим навыкам пользователя, трудящегося с тайной информацией, смогут быть очень сильно сокращены.

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

Но применять SGX возможно уже на данный момент. Мы готовы углубляться в эту тему и отвечать на все вопросы, с ней связанные.

Случайная статья:

Stanford Seminar — Intel Software Guard Extensions


Похожие статьи:

Комментирование и размещение ссылок запрещено.

Обсуждение закрыто.