Аппаратная закладка на шину данных. В модуле Intel Management Engine найдены закладки для АНБ США

Множество информационных систем работают исходят из того, что аппаратное обеспечение не приносит никаких угроз. При таком раскладе даже не проводятся начальные и регулярные проверки. Закладка — логическое /аппаратное устройство, которое реализует определенные недокументированные функции обычно в ущерб пользователю определенной информационной системы. Закладка может сохранять или передавать данные о системе.

Не все предприятия имеют необходимых специалистов, которые способны выявить аппаратные закладки. Для первоначальной уверенности в отсутствии таких закладок на новом оборудовании придется доверится прилагающимся сертификатам поставщика. Для повышения доверия к такому оборудования можно приглашать специалистов для полной или выборочной проверки оборудования.

Реализация регулярной проверки возможно разными способами, все зависит от требований конкретного класса информации или методов работы с ней. Методы проверки могут быть следующими:

  • Периодическая проверка оборудования приглашенными специалистами определенных уполномоченных структур
  • Анализ серийных номеров оборудования
  • Автоматизированная инвентаризация компонентов аппаратного оборудования в информационной сфере предприятия
  • Опечатывания разных частей корпусов оборудования с регулярной проверкой целостности

В критических зонах можно реализовывать оборудования для постоянного мониторинга, или же подавления разных сигналов передачи извне предприятия. К таким средствам относят: радиоэфир, сети проводной передачи информации, сети питания, инфракрасный диапазон, звуковой фон.

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

Если вкратце, то в ней утверждается следующее (далее по тексту мой субъективный вольный пересказ).

Якобы крупные корпорации по всему миру, включая Apple, Amazon и иже с ними, много лет заказывали у SuperMicro дорогие топовые серваки. Последняя о**ела от таких объёмов заказов, её собственные фабрики перестали справляться. Тогда она отдала производство какого-то количества материнских плат своим китайским субподрядчикам.

К этим самым субподрядчикам пришли китайские же вежливые люди и сделали им предложение, от которого невозможно отказаться. Мол, давайте, ребята, вы по нашей просьбе дополнительно установите на выпускаемые вами матплаты ещё один ма-а-а-а-аленький такой недокументированный чип. Если сделаете — занесём вам дополнительную денюжку, а не сделаете — загнобим ваш бизнес разными проверками. В итоге "модифицированные" таким образом материнские платы разошлись по всему миру, а какая-то их часть попала в том числе в крупные американские компании первого эшелона, банки, правительственные учреждения.

Прошло какое-то время. Одно из подразделений Amazon-а, некая компания под названием "Elements" озаботилась безопасностью разработанных ей решений в области массовой обработки видеопотоков. В числе прочего они заказали аудит безопасности аппаратной части некой канадской фирмочке. И вот тут-то и обнаружились искусно спрятанные имплантированные в матплаты недокументированные чипы. Которые, типа, не так-то просто обнаружить. Потому что во-первых, очень маленькие и серенькие. Во-вторых, маскируются под обычные распаечные муфты или чип-конденсаторы. В третьих, в последних ревизиях их начали прятать прямо в толщу текстолита, так что видно их только на рентгеновских снимках.

Если верить тексту, то посредством вшитого микрокода шпионский чип через BMC-модуль периодически "пингует" одного из своих анонимных "кукловодов", от которых получает дальнейшие инструкции к действию. И якобы даже оный супостат умеет скачивать "откуда надо" некий код, который потом инжектируется прямо в выполняющееся ядро операционной системы либо в код приложений.

Ну и далее следуют разглагольствования о том, насколько это большая дырка в безопасности, какие козлы эти китайцы, какова их дерзость и наглость, все мужики козлы никому нельзя верить, "теперь мы все умрём" и вот это всё. Интересные с технической точки зрения рассуждения на этом заканчиваются.

Я вообще большой скептик по жизни. Не отрицая гениальности китайцев, некоторые моменты лично мне представляются всё-таки весьма малореалистичными. Взять вот так вот просто, втихаря от инженеров и руководства, и внести изменения в конструкцию материнской платы на уровне завода-изготовителя, не нарушив её работоспособности? А если с ведома руководства, то как тогда его замотивировали подставить под такой серьёзный репутационный риск весь столь крупный бизнес? Инжектировать свой код в работу операционной системы и приложений? Ну с виндой ещё ладно, со скрипом готов поверить. Но в Linux, где заранее не знаешь кто и как его собирал? Проявлять беспалевную сетевую активность? Которую при желании можно и обнаружить, и отфильтровать. Не говоря уже о том, что нормальные админы никогда не выставляют BMC-шки "светить голой жопой в интернет", а хорошие админы вообще выкидывают их в отдельный VLAN без возможности доступа куда-либо.

Ну и опять же, в последнее время у американцев прогрессирует какая-то лютая шпиономания и паранойя. Да и с Китаем они тоже чё-то решили поссориться. Так что объективность и непредвзятость оригинальной статьи находится под большим вопросом. С другой стороны, я не очень хорошо понимаю, откуда они в принципе берут такие красивые сюжеты. Ещё в 2011-м году бульварный журнал "Ксакеп" писал про те же самые китайские закладки на уровне микрокода во флешке BMC. Та статья тоже попахивает параноидальным бредом, но ведь дыма без огня не бывает. Или бывает?

В общем, делитесь своим мнением в комментах. Особенно интересно услышать тов. kvazimoda24 на тему возможности интеграции каких-то шпионских микросхем в толщу текстолита.

Обеспокоенность тем, что при достаточном техническом уровне противника существует опасность выполнения им скрытой модификации любого чипа. Изменённый чип станет работать в критических узлах, а внедрённый «троянский конь» или «аппаратная закладка» будут оставаться незамеченными, подрывая обороноспособность страны на самом фундаментальном уровне. Долгое время такая угроза оставалась гипотетической, однако международная группа исследователей недавно смогла реализовать её на физическом уровне.

Георг Беккер (Georg T. Becker) из университета штата Массачусетс вместе с коллегами из Швейцарии и Германии в рамках доказательства концепции создал две версии «трояна аппаратного уровня», нарушающего работу генератора (псевдо)случайных чисел (ГПСЧ) в криптографическом блоке процессоров Intel архитектуры Ivy Bridge. Создаваемые с помощью изменённого ГПСЧ криптографические ключи для любой системы шифрования окажутся легко предсказуемыми.

Наличие аппаратной закладки никак не определяется ни специально разработанными для этого встроенными тестами, ни при внешнем осмотре процессора. Как же такое могло произойти? Для ответа на этот вопрос необходимо вернуться к истории появления аппаратного ГПСЧ и ознакомиться с базовыми принципами его работы.

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

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

Для снижения эффекта предсказуемости любому генератору чисел требуется надёжный источник случайного начального заполнения — random seed. Обычно в качестве него используются результаты измерений каких-то хаотических физических процессов. Например, флуктуации интенсивности световых колебаний или регистрация радиочастотного шума. Такой элемент случайности (да и весь аппаратный ГПСЧ) было бы технически удобно использовать в компактном варианте, а в идеале — сделать встроенным.

Компания Intel встраивает генераторы (псевдо)случайных чисел в свои чипы начиная с конца девяностых. Раньше их природа была аналоговой. Случайные значения на выходе получались за счёт влияния трудно прогнозируемых физических процессов — тепловых шумов и электромагнитных помех. Аналоговые генераторы было сравнительно просто реализовать в виде отдельных блоков, но трудно интегрировать в новые схемы. По мере уменьшения технологического процесса требовались новые и длительные этапы калибровки. К тому же закономерное снижение напряжение питания ухудшало соотношение сигнал/шум в таких системах. ГПСЧ работали постоянно и потребляли значительное количество энергии, а скорость их работы оставляла желать лучшего. Эти недостатки накладывали ограничения на возможные сферы применения.

Идея генератора (псевдо)случайных чисел с полностью цифровой природой долгое время казалась странной, если не абсурдной. Ведь состояние любой цифровой схемы всегда жёстко детерминировано и предсказуемо. Как внести в неё необходимый элемент случайности, если нет аналоговых компонентов?

Попытки получить желанный хаос на базе только цифровых элементов предпринимались инженерами Intel с 2008 года и увенчались успехом через пару лет изысканий. Работа была представлена в 2010 году на летнем симпозиуме VLSI в Гонолулу и произвела маленькую революцию в современной криптографии. Впервые полностью цифровой, быстрый и энергоэффективный ГПСЧ был реализован в серийно выпускаемых процессорах общего назначения.

Его первое рабочее название было Bull Mountain. Затем его переименовали в Secure Key. Этот криптографический блок состоит из трёх базовых модулей. Первый генерирует поток случайных битов с относительно медленной скоростью — 3 Гбит/с. Второй оценивает их дисперсию и объединяет в блоки по 256 бит, которые используются как источники случайного начального заполнения. После ряда математических процедур в третьем блоке с более высокой скоростью генерируется поток случайных чисел длиной 128 бит. На их основе с помощью новой инструкции RdRand при необходимости создаются и помещаются в специально отведённый регистр случайные числа требуемой длины: 16, 32 или 64 бита, которые в итоге и передаются запросившей их программе.

Ошибки в генераторах (псевдо)случайных чисел и их злонамеренные модификации причиной утраты доверия к популярным криптографическим продуктам и самой процедуре их сертификации.

По причине исключительной важности ГПСЧ для любой криптографической системы в Secure Key были встроены тесты для проверки качества генерируемых случайных чисел, а для сертификации привлекли ведущие экспертные группы. Весь блок соответствует критериям стандартов ANSI X9.82 и NIST SP 800-90. Вдобавок он сертифицирован на уровень 2 в соответствии с требованиями NIST FIPS 140-2.

До сих пор большинство работ об аппаратных троянах носило гипотетический характер. Исследователями предлагались добавочные конструкции из небольших логических цепей, которые следовало каким-то образом добавить в существующие чипы. Например, Сэмюэл Талмадж Кинг (Samuel Talmadge King) с соавторами представил на конференции LEET-08 вариант такого аппаратного трояна для центрального процессора, который предоставлял бы полный контроль над системой удалённому атакующему. Просто отправив сконфигурированный определённым образом UDP-пакет, можно было бы сделать любые изменения на таком компьютере и получить неограниченный доступ к его памяти. Однако дополнительные логические цепи сравнительно просто определить при микроскопии, не говоря уже о специализированных методах поиска таких модификаций. Группа Беккера пошла другим путём:

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

В результате проделанной работы вместо уникальных чисел длиной 128 бит третий блок Secure Key стал накапливать последовательности, в которых различались только 32 бита. Создаваемые на основе таких псевдослучайных чисел криптографические ключи обладают очень высокой предсказуемостью и могут быть вскрыты в течение нескольких минут на обычном домашнем компьютере.

Лежащее в основе аппаратной закладки выборочное изменение удельной электрической проводимости было реализовано в двух вариантах:

  1. цифровая пост-обработка сигналов от Intel Secure Key;
  2. использование на побочном канале по методу табличной битовой подстановки (Substitution-box).

Последний метод более универсален и может применяться с небольшими изменениями на других чипах.

Возможность использовать встроенный ГПСЧ через инструкцию RdRand впервые появилась в процессорах Intel архитектуры Ivy Bridge. Компания Intel написала подробные руководства для программистов. В них рассказано о методах оптимальной реализации криптографических алгоритмов и даётся ссылка на описание принципов работы Secure Key. Долгое время усилия экспертов по безопасности были направлены на поиск уязвимостей в программной части. Пожалуй, впервые скрытое вмешательство на аппаратном уровне оказалось куда более опасной и вполне реализуемой на практике технологией.

Удобные средства удалённого управления спасают системным администраторам много сил — и одновременно представляют собой огромную угрозу безопасности в том случае, когда их нельзя отключить аппаратно с помощью джампера или переключателя на системной плате. Блок Intel Management Engine 11 в современных платформах Intel представляет собой именно такую опасность — изначально он неотключаем и, более того, на него завязаны некоторые механизмы инициализации и функционирования процессора, так что грубая деактивация может просто привести к полной неработоспособности системы. Уязвимость кроется в технологии Intel Active Management Technology (AMT) и при удачной атаке позволяет получить полный контроль над системой, о чём было рассказано ещё в мае этого года. Но исследователям из Positive Technologies .

Сам процессор IME является частью микросхемы системного хаба (PCH). За исключением процессорных слотов PCI Express, всё общение системы с внешним миром проходит именно через PCH, а значит, IME имеет доступ практически ко всем данным. До версии 11 атака по этому вектору была маловероятна: процессор IME использовал собственную архитектуру с набором команд ARC, о которой было мало что известно сторонним разработчикам. Но в 11 версии с технологией сыграли плохую шутку: она была переведена на архитектуру x86, а в качестве ОС применили доработанный MINIX, а значит, сторонние исследования бинарного кода существенно упростились: и архитектура, и ОС неплохо документированы. Российским исследователям Дмитрию Склярову, Марку Ермолову и Максиму Горячему удалось расшифровать исполняемые модули IME 11 версии и начать их тщательное изучение.

Технологии Intel AMT присвоена оценка уязвимости 9,8 из 10 баллов. К сожалению, полное отключение IME на современных платформах невозможно по вышеописанной причине — подсистема тесно связана с инициализацией и запуском ЦП, а также управлением энергопотреблением. Но из образа флеш-памяти, содержащего модули IME, можно удалить всё лишнее, хотя сделать это очень сложно, особенно в версии 11. Активно развивается проект me_cleaner , утилита, позволяющая удалить общую часть образа и оставить только жизненно необходимые компоненты. Но приведём небольшое сравнение: если в версиях IME до 11 (до Skylake) утилита удаляла практически всё, оставляя примерно 90 Кбайт кода, то в настоящее время необходимо сохранить около 650 Кбайт кода — и то в некоторых случаях система может отключиться через полчаса, поскольку блок IME переходит в режим восстановления.

Подвижки, однако, имеются. Вышеупомянутой группе исследователей удалось воспользоваться комплектом разработчика, который предоставляется самой Intel и включает в себя утилиты Flash Image Tool для настройки параметров IME и прошивальщик Flash Programming Tool, работающий через встроенный SPI-контроллер. Intel не выкладывает эти программы в открытый доступ, но найти их в сети не представляет особого труда.

Полученные с помощью этого комплекта XML-файлы были подвергнуты анализу (они содержат структуру прошивки IME и описание механизма PCH strap). Один бит под названием «reserve_hap» (HAP) показался подозрительным из-за описания «High Assurance Platform (HAP) enable». Поиск в сети показал, что это название программы по созданию платформ высокой доверенности, связанная с АНБ США. Задействование этого бита показало, что система перешла в режим Alt Disable Mode. Блок IME не отвечал на команды и не реагировал на воздействия из операционной системы. Имеется и ряд более тонких нюансов, которые можно узнать в статье на Habrahabr.ru , но в новой версии me_cleaner уже реализована поддержка большей части опасных модулей без установки бита HAP, что вводит движок IME в состояние «TemporaryDisable».

Последняя модификация me_cleaner оставляет даже в 11-ой версии IME только модули RBE, KERNEL, SYSLIB и BUP, в них не найдено кода, позволяющего включить саму систему IME. В дополнение к ним можно использовать и бит HAP для полной уверенности, что утилита также умеет делать. Intel ознакомлена с результатами исследований и подтвердила, что ряд настроек IME действительно связан с потребностями государственных организаций в средствах повышенной безопасности. Введены эти настройки были по просьбе правительственных клиентов США, они прошли ограниченную проверку и официально такие конфигурации компанией Intel не поддерживаются. Компания также отрицает внедрение в свои продукты так называемых бэкдоров.