Intel AMT - история появления и развития функционала
Intel® Active Management Technology (Intel® AMT) - аппаратная технология, позволяющая удалённо управлять компьютером. Так будет, если кратко описать суть AMT. Если же интересует "некратко" - далее чутка букв об истории появления и развития Intel AMT (с упором на функционал и хронологию, т.е. без подробностей "программного" характера - вопросы активации/инициализации/конфигурирования слишком обширны и будут описаны отдельно).
Intel® Management Engine (Intel® ME)
Intel AMT базируется на Intel ME, потому для начала, кто захочет разобраться, стоит прочитать статьи о "предыстории появления ME" и более подробная по "Intel ME".
Технологии удалённого управления до Intel AMT
Intel AMT - технология по удалённому управлению компьютером, потому она есть продолжение-развитие предшествующих ей решений.
Wired for Management (WfM)
В середине 90-ых был бум так называемых NetPC - когда взрывообразное развитие интернета, казалось, уже совсем скоро распространится на всё, а потому будущее за "сетевыми компьютерами", целиком "интегрированными в сеть" (в т.ч. так называемые "тонкие клиенты" - бездисковые рабочие станции, которые загружаются удалённо). Для реализации подобного жизненно требовались стандарты, описывающие работу таких систем. Так в 1997-м году появилась первая подобная спецификация - WfM 1.0. В её составе были ставшие после классическими Wake-on-LAN (WoL) и Preboot Execution Environment (PXE). Стандарт WoL описывал возможность удалённого включения компьютера, а PXE - удалённой загрузки по сети.
Alert on LAN
В 1998-м году на Pentium II системах с расположенной на материнской плате сетевой картой Intel 82558, появилась возможность не только включать и загружать компьютер, но также и отправлять через неё системные сообщения о состоянии компьютера. Технология реализована аппаратно - чипсет, соединённый с сетевым адаптером через шину SMBus, выдавал все подробности о состоянии системы (температура датчиков, сообщения об ошибках загрузки и т.п.), а тот пересылал их на предварительно сконфигурированный адрес (т.е. администратору).
Alert Standart Format (ASF)
Во второй версии Alert-on-Lan (AoL) обзавёлся возможностью не только отсылать данные, но и обратную возможность - администратору включить/выключить/перезагрузить компьютер. После оформления его в готовую спецификацию (2001-ый год) AoL-2 переименовали в ASF.
Появление Intel AMT
Первый опыт эксплуатации ASF высветил ряд серьёзных проблем в его использовании. В первую очередь это было отсутствие шифрования канала (хотя данный недостаток в какой-то мере был устранён в ASF 2.0). Однако кроме этого был ряд серьёзных моментов - работа по UDP, отсутствие политик обработки сообщений (лишь один админ на все устройства), невозможность сохранения сообщений в лог локально (т.е. если не было сети, то что "было" с компьютером после определить невозможно, т.к. сообщение о состоянии компьютера может быть лишь "сразу отправлено") и др.
Это подвигло всё ту же команду Интел наряду с разработкой второй версии ASF, сразу же заняться разработкой будущего, более продвинутого стандарта по управлению, где-то схожего с IPMI, но для "несерверов", подходящего также и для "мобильного" применения (т.е. применимого для ноутбуков).
С учётом представляющейся возможности сделать всё "с чистого листа", было решено подойти к проблеме разработки максимально обстоятельно. В 2002-м году были проведены серьёзные маркетинговые исследования, в процессе которых были опрошены сотни компаний на предмет их проблем и "пожеланий" по части обслуживания компьютеров по сети.
Под собранные данные был разработан прототип стандарта, который через год ещё раз был уточнён и согласован с ними же. По результатам в 2004-м году появилась первая версия AMT, которая была анонсирована на IDF’04. После окончания тестирования, она вышла на рынок летом 2005-го года в составе чипсета i945/ICH7 с сетевой картой i82573E.
Intel AMT 1.0
Процессор для первой версии Intel ME/AMT был встроен в сетевой контроллер Intel 82573E (кодовое название "Tekoa"):
При расположении на материнской плате он был "аппаратно" связан с южным мостом ICH7 посредством SMBus. "Программно" данная связь реализовалась посредством устанавливаемого AMT KCS-драйвера, что позволяло взаимодействовать с ОС.
Аббревиатура KCS расшифровывается как Keyboard Control Style - характерный для простых ("однопроводных") интерфейсов (каким является SMBus) вариант взаимодействия, ещё с древних времён (1980г.) популярного контроллера клавиатуры Intel 8051.
Общая схема работы Intel AMT1.0 следующая:
Весь входящий трафик фильтруется на входе (Packet Filter) и все пакеты, предназначенные "для AMT" из него "вырезаются" (т.е. ОС этот "management"-трафик "не видит", т.к. банально не получает, потому, в частности, и название "out-of-bond" - "внеполосной") и отправляются на ME/AMT. Всё взаимодействие с AMT происходит через веб-сервисы, потому на входе у ME имеется HTTP-сервер, преобразующий через API получаемые команды/данные. Для работы по шифрованному каналу может быть использовано TLS-шифрование, потому также присутствует необходимый для реализации данного функционала блок. Для взаимодействия ME/AMT с BIOS используется MEBx (ME-BIOS extension, в первых версиях назывались AMTBx) - специально разработанный для OEM-производителей модуль для BIOS, позволяющий настраивать основные параметры AMT/ME (значения которых хранятся в NVRAM). Обычно данный модуль вызывается путём нажатия CTRL-P при загрузке.
Основной функционал AMT1.0
- Работа вне зависимости от состояния (наличия) ОС, в том числе работа в S5 (компьютер выключен - в "дежурном" режиме работы)
- Включение, выключение, перезагрузка (всё вне зависимости от состояния компьютера)
-
"Serial-over-LAN" (SoL) - виртуальный последовательный порт по сети, который позволяет удалённо производить (относительно простые) действия (например, настраивать BIOS Setup)
-
Удалённое получение данных о составе "железа" ("hardware inventory")
- Сохранение AMT-данных в специальной области NVRAM (которые после могут быть доступны удалённо, в том числе, когда компьютер выключен)
-
IDE-R — перенаправление (по сети) загрузки с локальных носителей на предварительно сконфигурированный образ, позволяющий с него загрузиться (в отличие от PXE — не требуется наличие DCHP-сервера, сконфигурированного специально под это). Таким образом, с помощью IDE-R может осуществляться удалённая диагностика и даже ремонт
Основные отличия AMT1.0 от ASF2.0
- Интерфейс - SOAP вместо RMCP
- Шифрование - TLS вместо RSP
- IDER (в добавление к PXE)
- Возможность настроить разных подписчиков на сообщения о работе компьютера и политики его на управление им (а не лишь единый админ)
- Event log - сохранение лога событий локально
- Область для сохранения пользовательских AMT-данных
- Возможность получения состава оборудования ("asset information", "hardware inventory" и др. подобные названия данной фичи)
Недостатки AMT1
- процесс конфигурирования не поддерживал шифрования (лишь после - сама работа сконфигурированной AMT), потому в документации присутствовала рекомендация использования для этого процесса "isolated network"
- однопоточный ("single treaded") режим работы Windows<=>KCS<=>АМТ (т.к. связь через SMBus)
Intel AMT 2.0
В 2006-м году появились AMT2-системы. Главное отличие первой и второй версии в том, что процессор ME был встроен не в сетевую карту, а в чипсет (северный мост Q965, южный мост ICH8):
Это позволило добавить новые фичи: System Defense и Agent presence.
System Defence
В 2004-м году, когда разрабатывалась данная технология, одной из самых острых проблем были "черви" ("worms") - вирусы, которые заражали компьютер и с огромной скоростью распространялись по сети, заражая все уязвимые системы.
Для борьбы с данной напастью была разработана технология System Defence, которая позволяла задавать правила работы сетевой карты - такая-то скорость приёма-передачи (пакетов-байт в секунду), вплоть до её полной блокировки (и на приём и на передачу), в то же время "АМТ канал связи" продолжал работать, позволяя после устранения проблемы "разблокировать" (удалённо) систему, "вернув" ей доступ в сеть (т.е. через АМТ "включив" сетевую карту для операционной системы).
Agent Presence
Другой проблемой всё в то же самое время были настолько злобные вирусы, которые могли "выключать" антивирусы, потому для борьбы с этим (хотя не только) была разработана технология Agent Presence.
Она позволяла ставить "аппаратное слежение" за наличием выбранного процесса в операционной системе, а когда он по любой причине "исчезал" (например, был остановлен/убит вражеским процессом вируса) - админу по "AMT-каналу" отправлялось соответственное предупреждение. Таким образом можно было быть уверенным, что система точно крутится под управлением важных для неё (или вас) процессов и если что-то произойдёт - вы сможете сразу предпринять какие-то действия (например, удалённо заблокировать сетевой интерфейс с помощью функции System Defense или совсем выключить компьютер).
HECI
Связь между ОС и AMT2 происходит через HECI-драйвер.
Host Embedded Controller Interface -
интерфейс между ОС (т.е. "Host") и "Embedded Controller" (т.е. Intel ME)
Основные отличия AMT1.0 и AMT2.0
- Новые возможности благодаря встроенному в чипсет ME/AMT - "System Defense" и "Agent presence"
- Многопоточный ("multi treaded") режим работы, т.к. HECI (в отличие от KCS) не имеет таких ограничений
- Больше места для сохранения AMT-данных
- Конфигурирование по шифрованному каналу благодаря наличию TLS-PSK (PreShared Keys) - предварительно заданных ключей в MEBx и конфигурирующем сервере
Изменения в AMT2.1:
- Добавлен режим "ME-Wake-on-LAN", позволяющий ME переходить в "спящий режим" (пониженного энергопотребления) и "просыпающийся" (начинает работать на полной частоте) по сигналу от какого-то события.
Изменения AMT2.2:
- Поддержка конфигурирования через сертификаты (в дополнение к TLS-PSK) - "Remote Configuration"
- Поддержка "Zero-Touch" технологии - это когда с помощью USB-флешки можно было в "полуавтоматическом" режиме (т.е. просто нажав "Y" на запрос о автоконфигурировании AMT) внести нужные настройки AMT (в т.ч. ключи шифрования PID/PSK) и AMT сам отправляет запрос на конфигурирование (на указанный в конфигурационных данных сервер)
Intel AMT2.5
Версии Intel AMT2.0-2.2 - "десктопные", соответственно, работающие исключительно через Ethernet-интерфейс (LAN only). Для мобильных платформ i965/ICH9, где связь могла осуществлятья по WiFi, в 2007-м году появились AMT2.5-системы, где AMT-фичи теперь работали и через LAN, и через WLAN.
Отличия AMT2.5 от AMT2
- Главное отличие - работа AMT по WiFi. Реализация функционала System Defense при этом реализована "программно" (на уровне драйвера).
- Поддержка "Environment Detection" - возможности AMT определять по DNS-суффиксу, в какой локальной сети сейчас работает компьютер и железно закрывать все AMT-порты в случае "вне корпоративной сети".
- Поддержка работы AMT по VPN
- Поддержка 802.1x
Изменения в AMT2.6:
- Поддержка конфигурирования через сертификаты ("Remote Configuration") в дополнение к TLS-PSK и поддержка "Zero-Touch" - аналогично AMT2.2 (данное обновление вышло одновременно для десктопной и ноутбучной версии)
- Поддержка PXE поверх 802.1x
Intel AMT3.0
С выходом в 2007-м году Q35-го чипсета, предназначенного для десктоп-систем (т.е. без WiFi), в AMT появилась поддержка WS-Man и DASH1.0 (частично, полная лишь в 3.2). Кроме того, улучшая Zero-Touch вариант конфигурации, был добавлен так называемый "Bare Metal" метод конфигурирования - по-настоящему "полностью автоматический", когда компьютер сам находил сервер для конфигурирования и отсылал на него запрос просто после подачи питания.
Отличия AMT3 от AMT2.x
- Шифрование ME-данных
- Поддержка "Bare Metal" инициализации AMT
Изменения в AMT3.1:
- Поддержка 802.1x (как для AMT 2.5)
Изменения в AMT3.2:
- Поддержка PXE поверх 802.1x (как для AMT2.6)
- Полная поддержка DASH1.0
Intel AMT4.0
В 2008-м году появилась версия AMT4.0 - чисто "ноутбучная" (как и 2.5/2.6), на мобильных чипсетах Intel Series 4. Самым главным и самым важным нововведением стала возможность работы AMT через интернет с помощью CIRA (Client Initiated Remote Access) - когда канал связи между AMT и администратором создавался путём "вызова" со стороны AMT-компьютера, что позволяло соединяться при наличии любых firewall/routers и т.п.
- Компьютер (AMT) "инициирует соединение" с MPS (Management Proxy Server - прокси-сервер для AMT-трафика). При этом AMT-компьютер является "вызывающей" стороной, поэтому созданию канала не помешают никакие фиреволлы, за которыми он может находиться. Канал AMT-MPS обычно использует TLS-шифрование.
- Админ со своей Management-консоли может подключить к MPS-серверу и получать, либо отправлять данные на AMT-компьютер "через" MPS.
- MPS отправляет данные от админа на AMT-компьютер (и обратно), через созданный канал.
Отличие AMT4 от AMT3
- Работа AMT через интернет - локальный фукнкционал "транслируется" на MPS и может быть использован на админской стороне (обеспечивается с помощью CIRA)
- Audit log, где хранится отчёт по операциям управления AMT-компьютером. Для защиты от изменений лог подписан цифровым сертификатом.
Изменения в AMT4.1:
- Поддержка технологии "AntiTheft" - функционала "антивор", позволяющего блокировать компьютер удалённо при краже-утере с возможностью разблокировки в случае возврата
Изменения в AMT4.2:
- Поддержка Windows 7
- Обновлены корневые сертификаты
- Поддержка инициализации AMT через WiFi-интерфейс
Intel AMT5.0
Сразу же после выхода "ноутбучной" версии 4.0 появилась и AMT5.0 - как и 3.х "чисто десктопная". В основном она повторяла функционал AMT4.0, лишь без "ноутбучных" особенностей.
Отличие AMT5 от AMT4
Самым главным отличием было появление "Standard Manageability" варианта AMT - урезанной версии AMT5, где оставались лишь базовые возможности. По сути компьютер с такой "обрезанной" версией AMT5 имел функционал AMT3.x.
Изменения в AMT5.1:
- Поддержка "PC Alarm Clock" - возможности включать компьютер по расписанию (указывая нужное время "просыпания" как "будильник")
Изменения в AMT5.2:
- Исправление ошибок, добавленных в предыдущих версиях
Intel AMT6.0
В 2010-м году появилась версия AMT6.0 - общая и для "ноутбучного" и для "десктопного" сегментов. Самым заметным нововведением AMT6.0 стала поддержка KVM (Keyboard Video Mouse) - удалённое управление компьютером в графическом режиме, при чём сеанс работы с ним не прекращался даже после (и в момент) перезагрузки. В результате компьютеры с Intel AMT KVM получали функционал, доступный до этого лишь в сегменте серверов (с видеоядром в BMC - Baseboard Management Controller).
Присутствующий в предыдущих версиях AMT функционал для упрощённой "первичной настройки" AMT, который подразумевал так называемый "Small Business"-сегмент (и имел некоторые ограничения по сравнению с "полной" версией - "Enterprise") был упразднён. Вместо этого в настройках MEBx появилась кнопка "Activate Network Access" автоматически (сразу же после нажатия - прямо в BIOS) переводила AMT в сконфигурированный Admin-режим работы.
Отличие AMT6 от AMT5
- Поддержка "KVM Remote Control" с разрешение до 1600x1200 включительно
- Поддержка IPv6
- "Manual Configuration" (кнопка "Activate Network Access" в BIOS/MEBx)
- Для мобильных систем - синхронизация WiFi профиля (автоматическая передача настроек доступа из Windows в AMT)
- Для мобильных систем - возможность задания "LinkPreference" (предпочитаемый интерфейс, который получает управление послеIDER-перезагрузки)
Изменения в AMT6.1:
- Поддержка "Host Based Configuration" (HBC) - возможности конфигурировать компьютер локально, а не только с конфигурационного сервера (правда лишь для уже проинициализированного AMT; сам же процесс инициализация по-прежнему был возможен лишь с удалённого сервера).
- Поддержка 1920x1080 для AMT KVM
- Поддержка удалённого управления "LinkPreference"
Изменения в AMT6.2:
- Поддержка Windows 8
- Исправлены некоторые ошибки связанные с безопасностью версии 6.1, потому официально HBC поддерживается лишь с этой версии
- Поддержка цифровой подписи текущей конфигурации AMT
Intel AMT7.0
В 2011-м году с выходом чипсетов 6-й серии ("Sandy Bridge") появилась AMT версии 7.0. Основной её отличительной особенностью стало полноценное локальное и конфигурирование и инициализация - Host Based Proviosing (HBP), т.е. AMT7 компьютер мог быть настроен локально и без захода в BIOS.
Отличие AMT7 от AMT6
- "HBP" - полноценная "локальная настройка" AMT
- Для "десктоп"-систем - поддержка работы AMT по WiFi (до этого так могли лишь мобильные)
- Синхронизация IP AMT-системы со статическим адресом в ОС
- Поддержка 1920x1200 для AMT KVM
- Отмена поддержки PID/PSK-варианта инициализации
- Отмена поддержки удалённого обновления AMT-прошивки
Изменения в AMT7.1:
- Поддержка динамического обновления DNS для IP AMT-системы (DyDNS)
Intel AMT8.0
В 2012-м году с выходом чипсетов 7-й серии ("Ivy Bridge") появилась и версия 8.0. Из-за того, что и сами чипсеты отличались минимально (от 6-й серии) - лишь поддержкой новых процессоров, то и функционал AMT8 не изменился (лишь обновление и косметические правки по ходу разработки).
Отличие AMT8 от AMT7
- Поддержка Small Business Technology (SBT или в другом варианте Small Business Advantage - SBA) - узконаправленный функционал по некоторому управлению компьютерами для малого бизнеса. Данная технология напрямую к AMT не относится, однако использует некоторые его элементы (например, "PC Alarm Clock") и SDK
Изменения в AMT8.1:
- "Link Protection" - поддержка автоматического управления "LinkPreference", избавляющего от необходимости при загрузке (IDE-R) по WiFi "вручную" менять это значение
Intel AMT9.0
В 2013-м году с выходом чипсетов 8-й серии ("Lynx Point") появилась версия Intel AMT 9.0. Для поддержки новых состояний процессора Haswell в ней был добавлен требуемый функционал и со стороны AMT. Для встраиваемых систем (только) появилась возможность преконфигурировать систему для работы в "Admin mode" (чтобы такую систему можно было издалека активировать и полностью настроить).
Отличие AMT9 от AMT8
- Поддержка новых состояний энергосбережения процессора Haswell
- Поддержка 2560x1600 для AMT KVM
- Полностью отменена поддержка SOAP-интерфейса
Intel AMT9.5
Вместе с выходом версии 9.0 появилась и версия AMT9.5, которая предназначалась для мобильных систем (планшеты и ультрабуки), не имеющих Ethernet интерфейса (т.е. только WiFi и другие беспроводные варианты работы). Это привело к урезанию некоторого функционала из-за архитектуры, которая по своей схеме работы не изменилась со времён АМТ2.5 и не предполагала отсутствия LAN-интерфейса, ME-подсистема которого играла существенную роль (а у неё в свою очередь родителем была ME2.0, где АМТ вообще впервые появилась в составе чипсета). WiFi в схеме ME2.5 работает "через" Ethernet ME-subsystem и потому последняя пропала - "всё поломалось", остались лишь "программные" (на уровне драйвера ОС) возможности.
Отличие AMT9.5 от AMT9
- Урезаны некоторые функции, которые были завязаны на Ethernet-подсистему. Из наиболее значимых - это поддержка сертификатов (TLS-шифрование)
Intel AMT10.0/10.5
В конце 2014-го года планируется к выходу AMT10. Информации о новом функционале пока нет, но можно предположить, что в первую очередь будет решаться проблема "wireless-only" платформ.
Отличие AMT10/10.5 от AMT9/9.5:
- Отменена поддержка "AntiTheft" (появившейся в AMT4.1)
- Alert on LAN™ 2
- Alert Standard Format Specification (ASF 2.0)
- Презентация "Intel Active Management Technology - Обзор", 2009 (автор - сотрудник Intel, Пётр Щеглов)
Комментарии
очень информативно, спасибо!
очень информативно, спасибо!
Добавить комментарий