Главная » Хабрахабр » Что мы узнали о безопасности Intel ME за последние годы: 7 фактов о таинственной подсистеме

Что мы узнали о безопасности Intel ME за последние годы: 7 фактов о таинственной подсистеме

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

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

Мы изучаем Intel ME на протяжение последних лет, и вот что нам удалось узнать об этой таинственной подсистеме к этому моменту.

Уязвимости в ME позволяют взломать даже выключенный компьютер

В конце 2017 года на конференции Black Hat Europe исследователи Positive Technologies Марк Ермолов и Максим Горячий рассказали об уязвимости в Intel Management Engine 11, которая открывает злоумышленникам доступ к большей части данных и процессов на устройстве. Подробное описание проблемы мы публиковали в нашем блоге на хабре.

Это ставит под угрозу все технологии такие технологии как Intel Protected Audio Video Path (PAVP), Intel Platform Trust Technology (PTT или fTPM), Intel BootGuard, Intel Software Guard Extention (SGX) и многие другие. Уязвимость в Intel ME позволяла выполнять произвольный код.

Для перехвата данных в ME можно использовать отладочный механизм JTAG

Эксплуатируя ошибку в модуле bup, исследователям удалось включить механизм, называемый PCH red unlock, который открывает полный доступ ко всем устройствам PCH, для использование их через DFx chain, то есть с помощью JTAG. Одним из таких устройств и является само ядро ME. Это дало возможность отлаживать код, выполняемый на ME, читать память всех процессов и ядра, управлять всеми устройствами внутри PCH. Подсчеты показали, что в современных компьютерах в совокупности порядка 50 внутренних устройств, полный доступ к которым имеет только ME, а основной процессор только к весьма ограниченному их подмножеству.

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

JTAG можно активировать и в мобильной версии ME

Intel TXE – это мобильная версия ME. Уязвимость INTEL-SA-00086 позволяет активировать JTAG для ядра подсистемы. Исследователи Positive Technologies разработали JTAG PoC для платформы Gigabyte Brix GP-BPCE-3350C platform. Эта утилита может быть использована для активации JTAG для Intel TXE.

Подсистему можно отключить, используя недокументированный режим

В ходе исследования внутренней архитектуры Intel Management Engine (ME) 11-й версии Максим Горячий и Марк Ермолов сумели обнаружить механизм, отключающий эту технологию после инициализации оборудования и запуска основного процессора. Они выяснили, что несмотря на то, что полностью отключить ME на современных компьютерах невозможно, в подсистеме существует недокументированный режим под названием High Assurance Platform (HAP). Исследователям удалось обнаружить специальный HAP-бит, установка которого переводит Intel ME в режим отключения на ранней стадии загрузки.

В сети доступна презентация с описанием программы. Название High Assurance Platform носит программа по созданию доверительных платформ, связанная с Агентством национальной безопасности (АНБ) США. Вероятно, данный механизм был внедрен по просьбе правительственных служб США, которые стремятся уменьшить вероятность утечки данных по побочным каналам.

Недостатки безопасности ME поставили под угрозу MacBook

В июне текущего года Apple выпустила обновления, закрывающие уязвимость в ME под кодом CVE-2018-4251. На этот раз ошибка содержалась в компоненте Intel ME Manufacturing Mode – это сервисный режим работы, предназначенный для конфигурирования, настройки и тестирования конечной платформы на стадии производства. Этот режим позволяет задавать критически важные параметры платформы, хранящиеся в однократно записываемой памяти (FUSES). Он обязательно должен быть отключен перед поступлением оборудования в продажу и отгрузкой пользователю.

Обычный пользователь не имеет возможности выключить его самостоятельно, так как утилита для управления им из пакета Intel ME System Tools официально не доступна. Ни этот режим, ни его потенциальные риски не описаны в публичной документации Intel.

В дальнейшем он сможет получить полный контроль над компьютером и осуществлять шпионскую деятельность, без малейшей вероятности быть обнаруженным. Уязвимость позволяет злоумышленнику с правами администратора получить несанкционированный доступ к критически важным частям прошивки, записать туда уязвимую версию Intel ME и через ее эксплуатацию тайно закрепиться на устройстве.

Ранее выпущенное Intel обновление не исключало возможность эксплуатации уязвимостей CVE-2017-5705, CVE-2017-5706 и CVE-2017-5707, так как при наличии у атакующего доступа на запись к ME-региону он всегда может записать уязвимую версию МЕ и проэксплуатировать уязвимость в ней. Уязвимые чипсеты Intel используются во всем мире, от домашних и рабочих ноутбуков до корпоративных серверов.

Intel «патчит» одни и те же ошибки в ME по два раза

В начале июля Intel выпустила два security advisory (SA-00112 и SA-00118), в которых описала исправления в прошивке Intel Management Engine. Оба бюллетеня безопасности описывают ошибки, позволяющие атакующему произвольное выполнение кода на внутреннем процессоре PCH (Minute IA).

Однако история на этом не закончилась, и впоследствии Intel выпустила новые исправления уязвимостей в ME. Эти ошибки аналогичны тем, которые специалисты по безопасности компании Positive Technologies обнаружили в ноябре 2017 года (SA-00086).

Для ее эксплуатации атакующему нужен локальный доступ, тогда как уязвимость, о которой речь идет в SA-00086, можно эксплуатировать локально только в случае ошибок в конфигурации системы, допущенных производителем OEM. CVE-2018-3627, описанная в SA-00118, помечена в бюллетене в качестве логической ошибки (это не переполнение буфера), которая приводит к выполнению произвольного кода. Это условие делает уязвимость более опасной.

Уязвимость в процессе AMT прошивки Management Engine приводит к удаленному выполнению кода (Remote Code Execution), причем атакующему не нужно иметь учетную запись администратора AMT, как при эксплуатации CVE-2017-5712 из SA-00086. В случае с CVE-2018-3628 (описана в SA-00112) дела обстоят еще хуже.

Это и есть тот наихудший сценарий, которого боятся все пользователи платформ Intel. Intel описывает эту ошибку как «Buffer Overflow in HTTP Handler», что позволяет предположить возможность выполнения кода удаленно без авторизации.

Существуют способы раскрытия ключей шифрования ME

На этом «приключения» Intel ME не закончились. Уже осенью компании пришлось исправлять еще одну ошибку в подсистеме, которая приводила к раскрытию ключей шифрования в Intel ME – ее обнаружили исследователи Positive Technologies Дмитрий Скляров и Максим Горячий.

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

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

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

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

Что дальше

Не так давно мы публиковали в блоге подробный разбор уязвимости CVE-2018-4251 в MacBook. Теперь Марк Ермолов и Максим Горячий на конференции HiTB 2018 расскажут о том, как злоумышленник может эксплуатировать его для проведения атаки. Также речь пойдет о способах защиты – например, с помощью специализированной утилиты от наших экспертов.


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

[Перевод] Вышел Rust 2018… но что это такое?

Статья написана Лин Кларк в сотрудничестве с командой разработчиков Rust («мы» в тексте). Можете прочитать также сообщение в официальном блоге Rust. В этом релизе мы сосредоточились на производительности, чтобы разработчики Rust стали работать максимально эффективно. 6 декабря 2018 года вышла ...

50 лет спустя. The Mother of All Demos

«Компьютерная революция еще не случилась.(The computer revolution hasnt happened yet)»— Алан Кей Всем привет. И я стартую проект «Энгельбарт» (чтобы это ни было и что бы это ни значило). Сегодня 50 лет с исторического события, известного как "Мать всех демонстраций" ...