Эксперт Positive Technologies обнаружил возможность раскрытия ключей шифрования в Intel ME

Эксперт Positive Technologies обнаружил возможность раскрытия ключей шифрования в Intel ME


Изображение: Unsplash

Intel устранила серьезную уязвимость в прошивке Intel ME. Эксперт Positive Technologies Дмитрий Скляров обнаружил ошибку в работе механизмов обеспечения безопасности MFS — файловой системы, которую ME использует для хранения данных. В результате эксплуатации этой уязвимости злоумышленники могут манипулировать состоянием MFS и извлечь некоторые важные секреты.

В подсистеме Intel ME (Management Engine) для хранения данных используется MFS (предположительно, сокращение от ME File System). В механизмах безопасности MFS активно задействуются криптографические ключи. Для обеспечения секретности данных, хранящихся в MFS, используются Confidentiality keys, а для контроля целостности — Integrity keys. Данные, помещаемые в MFS, по степени значимости делятся на две категории, и защищаются разными наборами ключей. Для наиболее чувствительных данных используются Intel keys, а для всего остального — Non-Intel keys. Таким образом, применяется четыре ключа: Intel Integrity key, Non-Intel Integrity key, Intel Confidentiality key и Non-Intel Confidentiality key.

В 2017 году эксперты Positive Technologies Марк Ермолов и Максим Горячий обнаружили уязвимость , эксплуатация которой позволяет получить все четыре ключа и полностью скомпрометировать механизмы безопасности MFS.

Позднее корпорация Intel выпустила обновление , закрывающее эту уязвимость. Было увеличено значение SVN (Secure Version Number) — этот шаг должен был привести к обновлению всех ключей и вернуть безопасность MFS на запланированный уровень. Получение ключей MFS для обновленных прошивок ME (с новым значением SVN) должно быть невозможно.

Однако уже в 2018 году эксперт Positive Technologies Дмитрий Скляров обнаружил уязвимость CVE-2018-3655, описанную в бюллетене Intel-SA-00086. Суть проблемы заключается в том, что Non-Intel keys зависят от значения SVN и базового неизменяемого секрета подсистемы. А этот секрет удастся получить, если использовать JTAG-отладку, которую можно включить, используя предыдущую уязвимость. Знание базового секрета подсистемы позволяет вычислить оба Non-Intel keys — и все это уже в новой версии прошивки.

Таким образом злоумышленник может вычислить Non-Intel Integrity key и Non-Intel Confidentiality key для прошивок с обновленным значением SVN, а значит и скомпрометировать те механизмы безопасности MFS, которые опираются на эти ключи.

Non-Intel Integrity key применяется для контроля целостности всех директорий — зная его, можно добавлять и удалять файлы, менять им атрибуты защиты. Также на этот ключ завязана защита anti-replay-таблиц — механизма, призванного предотвратить замену содержимого некоторых файлов их предыдущими версиями. А зная ключ, механизмы anti-replay будет легко обойти. Non-Intel Confidentiality key используется для шифрования некоторых файлов. Например, с его помощью зашифрован пароль AMT.

Последовательно эксплуатируя уязвимости, найденные экспертами Positive Technologies в 2017 и 2018 годах, атакующий может вмешаться в работу ME и получить конфиденциальные данные. Эксплуатация уязвимостей затрудняется необходимостью физического доступа к устройству, но все же это крайне серьезная ошибка безопасности.

Эксперты Positive Technologies находили целый ряд уязвимостей в прошивке Intel ME. Так Марк Ермолов и Максим Горячий поведали об обнаруженной ими уязвимости на конференции Black Hat Europe. На той же конференции Дмитрий Скляров подробно рассказал об устройстве файловой системы ME.

Помимо этого, эксперты Positive Technologies научились отключать подсистему Intel ME с помощью недокументированного режима и на специальном вебинаре показали, как включать JTAG-отладку.
Alt text

Подписывайтесь на каналы "SecurityLab" в TelegramTelegram и TwitterTwitter, чтобы первыми узнавать о новостях и эксклюзивных материалах по информационной безопасности.