Специалист Positive Technologies Марк Ермолов выявил уязвимостьв системе безопасности Intel Software Guard Extensions (SGX), которая может привести к серьезным последствиям для пользователей.
Уязвимость связана с ошибкой в коде, которая позволяет злоумышленнику получить полный доступ к защищённым данным в SGX-анклавах на устаревших системах на базе процессоров Gemini и, возможно, некоторых более старых процессоров Xeon, которые всё ещё поддерживаются.
Ермолов сообщил, что после многолетних исследований специалистам удалось извлечь ключ SGX Fuse Key0 (Root Provisioning Key). Наряду с другим ключом, Root Sealing Key, который также был скомпрометирован, Root Provisioning Key ключ представляет собой корень доверия (Root-of-Trust, RoT) для SGX. Внутренняя ошибка кода заключается в том, что инженеры Intel не очистили внутренний буфер в ядре процессора, который содержит все предохранители (включая FK0), полученные от Fuse Controller. Такая недоработка открывает возможность злоумышленнику получить доступ к защищённым данным в SGX.
Твит Ермолова
Хотя Intel завершила использование технологии в клиентских процессорах, многие из них всё ещё находятся в эксплуатации, особенно во встраиваемых системах. Доступ к ключу FK0 даёт полный контроль над защищёнными данными в SGX.
Intel указывает, что для реализации атаки требуется физический доступ к уязвимому устройству, а также наличие на нём ряда неустранённых уязвимостей. В частности, необходимо, чтобы устройство было подвержено предыдущим уязвимостям, таким как CVE-2017-5705, CVE-2017-5706, CVE-2017-5707 и CVE-2019-0090, для которых Intel уже выпустила исправления.
Несмотря на это, многие процессоры Gemini всё ещё используются, особенно в устройствах с невысокими требованиями к производительности. Эти системы, как подчеркнули в Университете Джонса Хопкинса, могут быть полностью скомпрометированы, и все данные, использующиеся в защищённых SGX-анклавах на процессорах Gemini, могут быть небезопасными.
Проблема заключается в программном обеспечении, которое использовалось для защиты SGX. Ошибки в коде могут позволить атакующему получить права доступа к материалам, защищённым с помощью SGX, хотя остаётся неясным, возможно ли это сделать удалённо или требуется физический доступ.
Технология SGX была представлена в 2015 году вместе с процессорами Skylake и предназначалась для защиты критически важного кода даже от самого производителя. Однако вскоре после запуска были обнаружены серьёзные проблемы. Несмотря на то, что в более поздних чипах от этой технологии отказались, она всё ещё используется во многих встраиваемых системах, что делает уязвимости актуальными для широкого круга пользователей.