Pull to refresh

Comments 47

Отличная обзорная статья, спасибо.
Рад, что с 2009 года никаких серьезных уязвимостей в МЕ не нашли, спасибо SeCoE за это. С другой стороны, грустно, что приходится слепо доверять неизвестному коду, имеющему слишком большие привилегии и при этом наглухо закрытому даже от анализа.
Если вам не нравятся процессоры с подобными "подсистемами обеспечения безопасности" — у AMD еще есть десктопные процессоры без PSP, а вот последним ноутбучным было семейство eKabini, все более новые SoC серии Falcon — уже даже память через PSP тренируют и S3 resume им же делают, так что там теперь еще большее болото, чем с ME у Intel.
Т.к. речь зашла о том, какие серьезные уязвимости в Intel ME были найдены после выпуска этой статьи, то замечу, что, в хронологическом порядке, первая будет эта (о ней мы рассказывали на BlackHat USA 2017 и GSEC HITB 2017).

Думаю, что эти находки не будут последними)
А какие возможности ME доступны для не vPro материнок?
  • Integrated Clock Control (управление частотами и разгон)
  • Firmware TPM (программный TPM 2.0, появился недавно)
  • Protected Audio-Video Path (защита медиаконтента от перехвата во время просмотра, DRM в общем)
  • Dynamic Application Loader (загрузка и исполнение подписанных Intel Java-апплетов)
    Все остальное — зависит от OEM, кто-то покупает еще модулей, а кто-то старается от DAL и PAVP избавиться.
    Никакие возможности MEBx и удаленного администрирования декларируются недоступными для Consumer-вариантов ME, но что там по факту — знают 3,5 специалиста из Intel.
Добавлю, что у многих vPro- и не-vPro материнок абсолютно одинаковые регионы ME)

Например, на плате с чипсетами Qx и Hx.
Таким образом, реализация той же AMT присутствует даже там, где нет шильдика vPro. Но на не-vPro платформе не хватает другого важного компонента: инциализируещего AMT кода из MEBx.
А почему драйвер для ME не опубликован на сайте интел, и его нужно скачивать с сайта производителя материнки? Есть тому какая-то причина?
Т.к. именно OEM решает, какие модули поставлять, вместе с этим решается и вопрос с драйверами. Кто-то поставляет минимальный драйвер heci.sys на пару десятков килобайт, а кто-то другой — полный пакет с софтом и службами для поддержки PAVP и DAL.
Для своих плат Intel выкладывает пакет драйверов для МЕ, вот, к примеру для NUC.
Классный обзор, перечитаю ещё раз. Пока что один вопрос: а чем это принципиально отличается от идеи IPMI? Вроде бы, такая же идея, ME по сути — BMC?
Принципиально — уровнем интеграции. Карту IPMI можно вынуть или отключить от питания, BMC выпаять с платы и выпатчить его инициализацию из прошивки, а здесь приходится либо мириться с тем, что МЕ есть и будет есть, либо платить Intel кучу денег за его отключение, которое все равно не совсем полное.
Надо было мне перед тем, как спрашивать, почитать вики. А там написано, что "IPMI используется инициативой Intel AMT". IPMI это интерфейс взаимодействия с BMC (как самой системы, так и OOB), а ME, похоже, конкретная реализация BMC.

А про выпилить — ну а скажите, можно ли iDRAC выпилить (совсем, с корнями), или iLO?
Все, что не находится прямо на чипе, можно выпилить при наличии сильного желания, пары хороших специалистов и некоторого количества времени. В данном же случае для двухчиповых решений для избавления от МЕ придется разрабатывать собственный PCH, а для SoC — смиряться и получать удовольствие. В конце концов, можно купить сервер на Intel Xeon без iDRAC и iLO, а вот без ME — уже нет.
Спасибо. Не совсем, хотя на первый взгляд, очень похоже, особенно в ранних версиях.

Во-первых, поддержку спефикации IPMI может реализовывать (причём и аппаратную, и программную часть) не только Intel, а ещё ряд вендоров. Например, у HP есть iLO, у Dell — iDRAC. В случае с ME происходит lock in на вендора.

Но правильнее, на мой взгляд, сравнивать IPMI с возможностями AMT. Хотя технологии преследуют разные цели:

  • AMT — полный «захват» управления над удалённым компьютером для дминистрирования. Говоря простым языком: ОС переустановить, от вирусов вылечить, файрвол настроить, настройки в BIOS setup поменять и прочее;
  • IPMI — стандарт подчинения серверами ряду команд для удобства управления (причём даже не столько управления сколько мониторинга за состоянием: крутятся вентиляторы, ничего не отвалилось/сожглось и т.п.).

Во-вторых, разница в архитектуре существенная. BMC — это, прежде всего, отдельная микросхема (рядом которой есть ещё одна одтельная микросхема которая хранит BMC firmware) не наделённая такими возможностями как ME (доступ к содержимому оперативной памяти, видеопотоку… ).

Хотя, в самых первых версиях у Intel подсистема ME использовалась в качестве BMC в серверных платформах. Это был ICH Intel 631xESB / 632xESB (ESB2), если не ошибаюсь.

Говоря о разнице, хочется отметить, что ничего не мешает этим технологиям (ME и BMC) сосуществовать вместе на одной серверной платформе. Так много где, в тех же цисках (с чипсетами Intel, разумеется).
BMC во многих серверах использует свой собственный физически отдельный сетевой интерфейс. Как следствие, сетевая архитектура может быть спроектирована таким образом, что сеть обслуживания отделена от сети передачи данных.
если я правильно понял, то первая версия не особо описана в разделе "архитектура" и там описание со второй версии.
в первой версии всё амт"шное "железо" находилось во внешнем eth-mac. или всё же в mac в южнике? а то схема и текст отличаются.
есть ли возможность установить плату расширения с 82573E и побаловаться на произвольном компе с амт? интересно всё же, да и без опасности залочить "южник".
Всё верно.
ME v1.0 был интегрирован именно в южный мост чипсета. Я думаю, авторы этой картинки (не я рисовал) хотели показать связь через SMBus.

Хотя могу заблуждаться.
Подскажите, где можно узнать о настройке данной подсистемы?
Подсистемы Intel ME?
Её не нужно настраивать, она сама по себе работает)

Если вы про другое, то, пожалуйста, конкретизируйте вопрос.
После настройки AMT-совместимой компьютерной системы, удалённому администратору
становятся доступными сетевые функции (для их использования требуется ввод логина и пароля)

я про это. И раз есть MEBx setup, то значит и есть возможность вносить какие-либо изсенения в настройки
Для начала, можно почитать здесь или здесь.

По последней ссылке найдёте целый сайт посвящённый всяким гайдам по AMT. Много инструкций можно найти там.
Спасибо за статью.
Конечно, новость о невозможности на сегодняшний эксплойтов для IME радует, но несколько озадачивает тот факт, что бэкдор для спец. служб все же может существовать, либо может быть создан в любой момент автоматическим апдейтом прошивки.
И ведь подобные системы низкоуровневого удаленного доступа к аппаратной части не только на платформах Intel и AMD.

Сейчас в основном юзаю лэптоп от Lenovo на платформе Intel 8 series и терзают меня тревожные сомнения, что помимо этого низкоуровнего троянчика от Intel, у меня еще и от Lenovo присутствует масса забавных программных решений.

Отсюда встает риторический вопрос: реально ли на сегодняшний день найти железо, в безопасности которого ты сможешь быть уверен на 100%…
Моветон, наверное, отвечать на риторические вопросы, но скорее всего правильный ответ — нет.
С другой стороны, задача ИБ — не в том, чтобы быть уверенным на 100%, а в том, чтобы сделать получение информации дороже самой информации. Т.е. если нужно обрабатывать что-то совершенно секретное — лучше разрабатывать и производить все вычислительные устройства самостоятельно на своих мощностях, а если нужно читать твиттер и постить котиков — подойдет железо с любыми бэкдорами, которые этому не мешают.
Да, с Вашей позицией спорить не приходится, но все же идеи истинного хакинга, хактивизма, свободы…
Думаю, что тут каждый имеет в некотором количестве информацию и, возможно, область деятельности, для которых подобного рода бэкдоры (давайте, все же, называть вещи своими именами) могут нанести колоссальный вред.

С другой стороны, а кто представляет ИБ? Intel? Защита от ребят из анонимус — может быть. Но в случае постановки вопроса о гос. безопасности вся ИБ летит куда подальше. Ну а далее полученные данные может приобрести кто угодно, будь то корпорация, выкупившая напрямую эту информацию у спец. служб или очередной незаурядный школьник, сумевший хакнуть сети гос. учреждений.

Да и опять же, сам Intel может собирать эти данные, как это делают Google, Apple, Microsoft and etc. в своих продуктах.
А если обращать внимание на то, как меняется/изменился мир в сторону всемогущества корпораций и отхождения роли государств на второй план, то очевидно, что точка невозврата пройдена и нас не ждет ничего хорошего.

Но это уже больше банальная лирика, понятная многим
Идеи хактивизма и свободы — они отличные, но очень мало кто хочет за них бороться. Единицы говорят о том, что состояние стоит читать вредным, десятки задумываются о том, что закрытую платформу без возможности аудита её пользователем вообще не стоит считать сколько-нибудь "своей" или "безопасной", сотни готовы покупать полностью открытые продукты даже если за это придется заплатить и деньгами, и доступными возможностями, и временем на настройку. При этом миллионы идут в walled garden совершенно добровольно, покупают себе смартфоны, которые следят за ними 24/7/365, устанавливают Windows 10, встраивают чужой дырявый код в лампочки и дверные замки — в общем, издеваются над самой идеей информационной безопасности, анонимности, свободы и всего остального, и индустрия ориентируется именно на них, ибо им можно продать что угодно, если завернуть это в красивую обертку и рассказать, что в этом сезоне это модно.
Я помню времена, когда скандалом была любая программа, которая "звонила домой". Прошло 10 лет, и теперь "домой" звонят даже пуговицы на "умной" одежде, а обычный вроде-бы телефон обладает таким количеством датчиков и такой вычислительной мощностью, что его можно смело использовать как полетный контролер для ракет средней дальности. При этом все вокруг радостно приветствуют такой прогресс. Вот такая вот лирика, от которой хочется матом разговаривать.
Вопрос что делать нам, людям, которые так или иначе находятся в сердце IT мира. Уничтожают собственным оружием, так сказать.
Бороться, писать статьи, поддерживать разработчиков открытого железа (LowRISC, OpenRISC, MIPS, даже Quark и Minnowboard от Intel, которые "открытее", чем все остальное) финансово и информационно, свести к минимуму использование закрытых продуктов, в общем — голосовать ногами. Либо расслабиться и попытаться получить удовольствие от процесса, утешая себя тем, что "честным людям скрывать нечего", "кому я нужен, такой незначительный" и т.п.
Есть OpenSource, а должно появиться аналогичное для железа… Правда в первые n-цеть лет качество железа будет не очень…
Но и Linux не сразу стал гегемоном...
Благодарю.
Да, мысли правильные) вполне возможно, что есть. Такую технологию спецслужбам оставить без внимания — не верю.
Добавлю, что у Lenovo это скорее всего Computrace (удаленное управление и блокировка) и WPBT (ACPI-таблица для запуска хранящегося в прошивке кода после установки или переустановки Windows). Если укажете конкретную модель — могу посмотреть и сказать точнее.
Lenovo y50-70. Весь предустановленный софт на SHD снес, поставил арч.
Посмотрел, ничего особенного. WPBT поддерживается, но самой таблицы в прошивке нет, только драйвер для нее, используется устаревший интерфейс IHISI при наличии более нового UEFI Capsule, т.е. обладая инженерными утилитами Insyde можно прошить вредоносный код, следов Computrace/LoJack я не нашел, BootGuard/BiosGuard тоже отключены. Плюс видна защита от повреждения S3 BootScript'а и NVRAM, так что общий уровень защиты прошивки я бы оценил как "выше среднего", если смотреть только по бинарю.
Благодарю за консультацию. У Вас не найдется под рукой ссылки, где стоит поискать кастомную безопасную прошивку?
Только самому собирать. Coreboot для этих машин недоступен, насколько я знаю, а из UEFI можно удалить лишнее, используя UEFITool и программатор. Если интересно, посмотрите мое выступление на ZeroNights2015 и слайды к нему, я там как раз рассказывал о модификации прошивки ноутбука с Insyde H2O.
Вроде кстати и кастрировать её можно с помощью этих утилит.
Нет, не с помощью этих. Другая утилита нужна — me_cleaner. Позволяет вырезать часть прошивки Intel ME, основные кодовые модули (загрузчик, ядро и прочие) никуда не деваются.

Метод не у всех стабильно работает (см. ветку issues), поэтому пользоваться me_cleaner без наличия программатора (т.е. без возможности, в случае чего, выпаять флеш-память и вернуть «как было») крайне не рекомендуется.
UFO landed and left these words here
Почему вы так решили? Там свои бэкдоры, менее известные.
Ничего не скажу про Эльбрус, т.к. не в курсе, но у AMD даже в системах без PSP достаточно закрытых компонентов, которые имеют доступ к внутренностям SoC. К примеру, контролеру XHCI нужна бинарная прошивка, т.к. он был приобретен у строннего поставщика IP-ядер, система управления частотами и питанием (SMU) сделана на контролере Lattice и тоже имеет бинарную закрытую прошивку, в которой уже находили уязвимости, встроенный EC тоже нуждается в бинарной прошивке, и так далее.
По факту, на x86 уже давно толком ничего не остается, и если вас не связывает с этой архитектурой груз обратной совместимости, то лучше свои безопасные системы делать на какой-нибудь более другой.
Есть ещё варианты платформ, которые подойдут в случае, если не волнует обратная совместимость с x86: Power8, Talos, Novena.
Очень интересный проект Purism.
Хрология = хронология, исправьте под-ста! Материал очень интересный, спасибо!
Главное не забывать что Intel стратегический партнер АНБ
Может вопрос и наивный, но хочу задать:
А будет ли у «стратегического партнера» возможность активировать ME если используется подключение только через внешнюю сетевую плату?
Only those users with full accounts are able to leave comments. Log in, please.