8 Предназначений intel software guard extensions

8 Предназначений intel software guard extensions

Одной из функциональных новинок, показавшихся в процессорах Intel Core шестого поколения (Skylake), стала разработка Intel Software Guard Extensions (Intel SGX). Легко убедиться гуглением, что информации о ней в сети не так много. Мы решили восполнить данный пробел, тем более что под рукой у нас была статья одного из разработчиков данной технологии, Мэтью Хойкстра (Matthew Hoekstra); в ней он обрисовывает цели, каковые преследует Intel SGX.

Приводим ее перевод.
Смотрите кроме этого: Intel Xeon E3 v5 — Skylake для сервера

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

В случае если сказать о сути, то Intel SGX – это комплект новых руководств процессора, каковые смогут употребляться приложениями для выделения приватных областей кода и данных. Создавая эту разработку, мы преследовали следующие цели.Цель 1. Разрешить разработчикам приложений обезопасисть чувствительные эти от несанкционированного доступа либо трансформации со стороны зловредного ПО, запущенного с более высокими привилегиями.Желал бы выделить в этом пункте пара принципиальных моментов.

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

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

Операционные совокупности развивались много лет, дабы прекрасно делать эти задачи, и создавать параллельную им сущность было бы непрактично.Цель 3. Разрешить пользователям компьютерных устройств держать над ними контроль, одновременно с этим предоставляя свободу устанавливать и удалять приложения и сервисы.Работа доверенного приложения не должна потребовать каких-то своеобразных конфигураций и не должна ограничивать контроль пользователя над его компьютером. Простой практикой обеспечения защиты сейчас есть твёрдое ограничение комплекта приложений, которое возможно загружено на платформу.

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

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

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

Дабы подтвердить собственный происхождение, измерение подписано приватным ключом, известным лишь доверенной совокупности, которая создаёт измерение.Напомним, что разработчики не смогут надеяться на вычисления, делаемые программно совокупностью; как говорилось ранее, ПО неизменно возможно виртуализировать либо одурачить посредством вредоносной программы, имеющей достаточный уровень привилегий. Так, вычисление должно быть аппаратным и исполняться тем же компонентом, которое формирует доверенную среду, загружает/инициализирует доверенное приложение и осуществляет вычисление чувствительных данных.Цель 5. Разрешить разработчикам создавать доверенные приложения с применением известных им процессов и средств.Первые 4 цели снабжают преимущества более закрытой среды методом уменьшения комплекта сущностей, каковые должны быть доверенными, наряду с этим платформы остаются открытыми а выбор пользователя – свободным.

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

Одной из движущих сил этого процесса пребывает в том, что разработчики пробуют взять максимум преимуществ от возрастающей производительности процессора. Было бы здорово, если бы доверенные приложения не имели неприятностей с производительностью если сравнивать с другими.Цель 7. Разрешить производителям ПО распространять и обновлять приложения, применяя наиболее удобные для них методы.В случае если предлагаемое ответ требует, дабы свободные создатели ПО тесно трудились с производителями платформ с целью предустановить их приложения в момент производства платформы либо же обновления ПО смогут быть установлены лишь вместе с обновлением совокупности, это кроме этого будет помехой созданию инновационных продуктов.Цель 8. Разрешить приложениям определять защищенные области кода и данных, каковые содержат конфиденциальность, кроме того в том случае, если атакующий физически осуществляет контроль платформу и может создавать прямые атаки на ее память.Действенное ответ должно снабжать защиту от разных типов аппаратных атак, включая и те случаи, в то время, когда платформа физически находится в распоряжении неприятеля.

Исследователи Принстонского университета демонстрируют одну из таких атак. Вероятны и другие варианты с применением анализаторов шины памяти либо аналогичных техник.

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

Intel® Software Guard Extensions Introductory Overview


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

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

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