Deprecated Technologies
The processor has deprecated the following technologies and they are no longer supported:
- Intel® Memory Protection Extensions (Intel® MPX)
- Branch Monitoring Counters
- Hardware Lock Elision (HLE), part of Intel® TSX-NI
- Intel® Software Guard Extensions (Intel® SGX)
- Intel® TSX-NI
- Power Aware Interrupt Routing (PAIR)
Processor Lines that support Intel's Performance Hybrid Architecture do not support the following:
- Intel® Advanced Vector Extensions 512 Bit
Intel SGX - это интересная чепуха, "нам будет её не хватать". Процессор создает такой себе пузырь, в рамках которого выполняет изолированный код, причем так, что внешний код не имеет доступа ни к коду внутри, ни также и к данным внутри. Существует установленный механизм связи с созданным анклавом, который использует широкоизвестные концепции: есть некоторый definition language, на основе которого инструментарий генерирует наборы прокси и заглушек для связи, mashaling данных и все такое. К примеру, в Microsoft Component Object Model (COM) буквально то же самое для преодоления при связи границ процесса.
То есть, условно говоря, есть кусок программы, который недоступен внешнему наблюдателю и который может быть исполнен в анклаве, если Intel дал на это разрешение. Этот кусок загружается внутрь анклава, сверяется его цифровая подпись, которая должна восходить к корневому сертификату от Intel, расшифровывается и исполняется. Отладка в рабочем режиме и мало-мальская диагностика недоступна, для этого используются специальные инструменты разработки имитирующие анклав.
Для чего это нужно? Ну, простой пример: менеджер паролей переселяется в такой анклав, потом вам надо залогиниться на какой-то сайт и вы говорите: "анклав-анклав, а ну введи туда мой пароль". Анклав берет зашифрованную базу паролей, открывает её внутри так чтобы никто не видел, берет нужный пароль, делает что попросили и вне себя уже отдает зашифрованный HTTPS траффик. Пароль не видит никто кроме анклава. Возможности разного рода malware серьёзным образом множатся на ноль, трудоемкость обратной разборки на атомы такой системы повышается на несколько порядков.
Не пригодилось такое, ну и ладно.
У нас какое-то время тому назад был проект на этой технологии, который интересен своей организационной составляющей.
Кто-то там решил забабахать софт и использовать эту чепуху для кое-чего. Причем микс технологий там был даже ещё поядрёней, так как результатом всей это разработки было Windows Store приложение на UWP, но при этом с Intel SGX. Разумеется, это дело шло в партнёрстве с самой Intel. Бенефициар этого софта посчитал так, что, мол, они и сами умеют клепать приложения, тут подсобит Intel, но - вот же незадача - всё-таки не хватает нам рабочих рук для ещё кой-какой части. И, главное, где же брать инженеров и кто конкретно, наконец, должен сделать грязную работу? Они пошли в Intel и попросили кого-то посоветовать. Intel пришел в нашу контору и сказал: "а не хотите ли поучаствовать?".
Наша контора выставила двух бойцов: меня и моего коллегу из солнечной Швеции, и мы пообещали все порешать. Ну и порешали в лучшем виде, вестимо.
Поскольку такое wacky приложение в обычной жизни не имеет никаких шансов попасть в Windows Store, в первую очередь оно элементарно заваливало WACK проверку, то произошло любопытное. Intel, как партнёр продвигающий технологию, договорился с Microsoft по личным связям, чтобы там внесли исключение для именно этого проекта. Исключение было предельно конкретно: на вот этот identifier приложения мы разрешаем вам отклоняться по тем и этим пунктам и application должен быть подан до такого-то числа или будет просрочен. Дерзайте!
Ну не будет Software Guard Extensions и ладно. Придумают ещё какую-то следующую хуйню, а мы на ней что-нибудь новое сварганим опять.