Tpm device что это
Что такое TPM Device?
Опцию с данным названием можно встретить в разделе управления безопасностью (Security) настроек BIOS. В данном случае TPM расшифровывается как Trusted Platform Module.
Стоит отметить, что в зависимости от версии материнской платы возможны ее иные названия, а именно:
TPM Support в BIOS
Все они отвечают за активацию работы некого модуля TPM. А вот что это за модуль и для чего он нужен мы поговорим в данной статье.
Что такое Trusted Platform Module?
Как правило, данный модуль представляет собой самостоятельный чип, находящийся на материнской плате. Он является своеобразным генератором и одновременно хранилищем ключей шифрования, использующихся в работе систем защиты данных. Например, при работе сканера отпечатка пальцев, при активации функции распознавания лиц или при шифровании данных на жестком диске.
Обратите внимание, что недалеко от опции, отвечающей за активацию TPM устройства, всегда присутствует опция очистки хранилища уже сгенерированных ключей – Clear TPM.
Пользоваться ей стоит с особой осторожностью. Ведь если удалить ключи, участвующие в активных опциях защиты и шифрования данных, то можно потерять доступ к этим данным и функциям.
Обычно для TPM Device доступно два значения:
Почти всегда по умолчанию параметр TPM Device активирован (enabled/available). Для исключения возникновения проблем с доступом к различным защищенным данным отключать его лучше не стоит.
Вывод
Опция TPM Device в настройках BIOS отвечает за включение и отключение специализированного модуля Trusted Platform Module, находящегося на материнской плате ноутбука (компьютера) и использующегося в работе алгоритмов шифрования данных и функций защиты.
Что такое доверенный платформенный модуль (TPM)?
Доверенный платформенный модуль (TPM) используется для повышения безопасности компьютера. Он используется такими службами, как шифрование диска BitLocker, Windows Hello и другие, для безопасного создания и хранения криптографических ключей, а также для подтверждения того, что операционная система и встроенное ПО на вашем устройстве соответствуют указанным сведениям и не были изменены.
Как правило, это отдельная микросхема на системной плате, хотя стандарт TPM 2.0 позволяет изготовителям, например Intel или AMD, встраивать возможности доверенного платформенного модуля в набор микросхем.
Доверенный платформенный модуль используется уже более 20 лет и входит в состав компьютеров с 2005 г. В 2016 г. версия TPM 2.0 (текущая версия на момент написания этой статьи) стала стандартом для новых компьютеров.
Когда вы шифруете данные, чтобы защитить их от посторонних глаз, программа для шифрования берет фрагмент данных, который нужно зашифровать, и объединяет его с длинной случайной строкой символов, чтобы создать новый (зашифрованный) фрагмент данных. Длинная случайная строка символов, используемая программой для шифрования, является криптографическим ключом.
Примечание: Незашифрованные данные называются «открытым текстом». Зашифрованная версия этих данных называется «зашифрованным текстом».
Расшифровать такой текст и прочитать исходный фрагмент данных может только пользователь, у кого есть правильный криптографический ключ.
Имеется ли на моем компьютере доверенный платформенный модуль?
Существует высокая вероятность того, что на вашем компьютере уже есть доверенный платформенный модуль и, если ему менее 5 лет, это версия TPM 2.0.
Чтобы узнать, есть ли доверенный платформенный модуль на вашем компьютере с Windows 10, выберите Пуск > Параметры > Обновление и безопасность > Безопасность Windows > Безопасность устройства. Если он у вас есть, на экране будет отрезок Процессор безопасности.
Совет: Если вы не видите раздел Процессор безопасности, возможно, на вашем устройстве есть TPM, но она отключена. Чтобы узнать, как включить его, см. статью Включение TPM 2.0 на компьютере.
Далее нужно узнать, какая версия доверенного платформенного модуля есть на вашем компьютере. Выберите Сведения об обработчике безопасности и на появившемся экране найдите версию спецификации. Должна быть указана версия 1.2 или 2.0.
Важно: Для Windows 11 требуется TPM 2.0. Дополнительные сведения см. в статье Требования к системе для Windows 11.
Хотите узнать больше о доверенном платформенном модуле? См. статью Обзор технологии доверенного платформенного модуля.
доверенный платформенный модуль (TPM) (TPM) на Windows 10 IoT Базовая
Что такое TPM?
Доверенный платформенный модуль (TPM) (TPM) — это криптографический сопроцессор, включая возможности создания случайных чисел, безопасного создания криптографических ключей и ограничения их использования. Он также включает в себя такие возможности, как удаленная аттестация и запечатанное хранилище. Техническая спецификация доверенного платформенного модуля — общедоступная, управляемая организация TCG (TCG). Последняя версия TPM 2,0 (выпущена 2014 октября) — это основная переработка спецификации, которая добавляет новые функции и устраняет недостатки прежней версии-TPM 1,2.
Зачем нужен TPM?
Компьютеры, включающие доверенный платформенный модуль, могут создавать криптографические ключи и шифровать их, чтобы их можно было расшифровать только с помощью доверенного платформенного модуля. Этот процесс, часто называемый «переносом » или «привязкой» ключа, может помочь защитить ключ от раскрытия. Каждый доверенный платформенный модуль имеет первичный ключ для переноса, называемый корневым ключом хранилища, который хранится в самом доверенном платформенном модуле. Частная часть ключа, созданного в доверенном платформенном модуле, никогда не предоставляется другим компонентам, программному обеспечению, процессу или человеку.
Компьютеры, включающие доверенный платформенный модуль, могут также создать ключ, который не только был упакован, но также привязан к определенным измерениям платформы. Этот тип ключа может быть развернут только в том случае, если эти измерения платформы имеют те же значения, что и при создании ключа. Этот процесс называется «запечатыванием» ключа для доверенного платформенного модуля. Расшифровка ключа называется «расзапечатыванием». TPM также может запечатывать и распечатывать данные, созданные за пределами доверенного платформенного модуля. Благодаря этому закрытому ключу и программному обеспечению, например шифрование диска BitLocker, можно блокировать данные до тех пор, пока не будут выполнены определенные условия оборудования или программного обеспечения.
При использовании доверенного платформенного модуля частные части пар ключей хранятся отдельно от памяти, контролируемой операционной системой. Ключи могут быть запечатаны в доверенный платформенный модуль, и определенные гарантии состояния системы (гарантии, определяющие надежность системы) можно выполнить до того, как ключи будут распечатаны и освобождены для использования. Поскольку TPM использует собственное внутреннее встроенное по и логические цепи для выполнения инструкций по обработке, он не зависит от операционной системы и не предоставляется уязвимостям, которые могут существовать в операционной системе или программном обеспечении приложения.
Архитектура TPM
Разница между TPM 1,2 и доверенным платформенным модулем 2,0.
Спецификация TPM была разработана дважды. В первый раз она разрабатывалась с версии 1.1 b до 1,2, включая новые возможности, запрошенные или идентифицируемые Комитетом по спецификациям. Эта форма развития функций эволюции, предоставилая окончательную спецификацию TPM 1,2 очень сложная. В конечном итоге, недостатки шифрования SHA-1 (который был самым надежным коммерческим алгоритмом в TPM 1,2) был раскрыт, что привело к необходимости изменения. Архитектура доверенного платформенного модуля была переработана с нуля, что привело к гораздо более интегрированному и унифицированному проектированию TPM 2,0.
Изменения и улучшения по сравнению с предыдущим доверенным платформенным модулем 1,2 включают:
Windows IoT Core поддерживает только tpm 2,0 и не поддерживает устаревшие модули tpm 1,2.
Что такое TBS?
Функция базовых служб TPM (TBS) — это системная служба, которая обеспечивает прозрачное совместное использование ресурсов доверенного платформенного модуля. Ресурсы доверенного платформенного модуля совместно используются несколькими приложениями на одном физическом компьютере с помощью удаленных вызовов процедур (RPC). Он централизует доступ к TPM между приложениями, используя приоритеты, заданные вызывающими приложениями.
TPM предоставляет криптографические функции, предназначенные для обеспечения доверия в платформе. Поскольку доверенный платформенный модуль реализован в аппаратном обеспечении, он имеет ограниченные ресурсы. TCG определяет программный стек TPM (ТСС), который использует эти ресурсы для предоставления доверенных операций для программного обеспечения приложения. Однако для запуска реализации Тсс параллельно с программным обеспечением операционной системы, которое также может использовать ресурсы доверенного платформенного модуля, не требуется выполнять собственную инициализацию. Функция TBS решает эту проблему, позволяя каждому стеку программного обеспечения, взаимодействующему с TBS, использовать ресурсы TPM для проверки любых других программных стеков, которые могут выполняться на компьютере.
решения TPM, доступные в Windows IoT Core
Несколько слов о программном TPM (Стпм), TPM встроенного по (Фтпм), дискретном TPM (Дтпм).
TPM встроенного по (Фтпм)
Для TPM (Фтпм) требуется специальная поддержка процессора или SoC, которая в настоящее время не реализована в Raspberry Pi 2 или 3. Для MinnowBoard Max требуется встроенное по версии 0,80 или более поздней. DragonBoard410c предоставляет возможности Фтпм, включенные по умолчанию.
Дискретный доверенный платформенный модуль (Дтпм)
Дискретный доверенный платформенный модуль (Дтпм) считается надежным решением важнейшим приоритетом для всех средств.
существует несколько производителей дтпмных микросхем и модулей пкб, которые поддерживаются в Windows IoT Core:
Изготовитель Веб-страница Тип модул Микросхема TPM инфинеон Доверенный платформенный модуль Инфинеон евалбоард Инфинеон SLB9670 TPM 2,0 Pi3g Pi3g.com Масса & Евалбоард продукта Инфинеон SLB9670 TPM 2,0
Программный доверенный платформенный модуль (Стпм)
Программный доверенный платформенный модуль (Стпм) также называется симулятором TPM. он не зависит от платформы, поддерживается в Windows IoT Core.
Стпм предназначен только для целей разработки и не предоставляет никаких реальных преимуществ безопасности.
Обзор технологии доверенного платформенного модуля
Применяется к
В этом разделе для ИТ-специалистов описывается доверенный платформенный модуль (TPM) и его использование операционной системой Windows для управления доступом и проверки подлинности.
Описание компонента
Технология доверенного платформенного модуля (TPM) предназначена для предоставления аппаратных функций, связанных с безопасностью. Микросхема TPM — это защищенный криптографический процессор, предназначенный для выполнения криптографических операций. Микросхема имеет несколько физических механизмов обеспечения безопасности, которые делают ее устойчивой к несанкционированному вмешательству, и вредоносное программное обеспечение не может взломать функции безопасности TPM. Некоторые из основных преимуществ использования технологии TPM:
создание, сохранение и ограничение использования криптографических ключей;
технологию TPM можно использовать для проверки подлинности устройства с помощью уникального RSA-ключа TPM, записанного в модуль;
обеспечение целостности платформы за счет хранения измерений безопасности.
Самые распространенные функции TPM используются для оценки целостности системы, а также для создания и применения ключей. Во время загрузки системы загружаемый загрузочный код (в том числе встроенное ПО и компоненты операционной системы) можно проверить и записать в модуль TPM. Оценку целостности можно использовать для проверки запуска системы и подтверждения того, что ключ на основе TPM использовался, только когда система была загружена с правильным программным обеспечением.
Ключи на основе TPM можно настраивать различными способами. Например, можно сделать ключ на основе TPM недоступным за пределами модуля. Это удобно для защиты от фишинга, так как в этом случае ключ не может быть скопирован и использован без TPM. Ключи на основе TPM также можно настроить для ввода значения авторизации. Если число неудачных попыток авторизации слишком велико, TPM активирует свою логику защиты от атак перебором по словарю и предотвращает дальнейшие попытки подбора.
Разные версии TPM определены в спецификации организации TCG. Дополнительные сведения см. на веб-сайте TCG.
Автоматическая инициализация TPM в Windows
Начиная с Windows 10 и Windows 11 операционная система автоматически инициализирует TPM и берет его под контроль. Это означает, что в большинстве случаев мы не рекомендуем настраивать TPM с помощью консоли управления TPM, TPM.msc. Существует несколько исключений, в основном связанных со сбросом или чистой установкой на компьютере. Дополнительные сведения см. в разделе Удаление всех ключей из TPM. Мы больше не разрабатываем активно консоль управления доверенного платформенного модуля, начиная с Windows Server 2019 и Windows 10 версии 1809.
В некоторых корпоративных сценариях в Windows 10 версии 1507 и 1511 можно использовать групповую политику для резервного копирования значения авторизации владельца TPM в Active Directory. Состояние TPM сохраняется для разных установок операционной системы, поэтому данные TPM хранятся в Active Directory отдельно от объектов-компьютеров.
Практическое применение
На компьютерах с TPM можно устанавливать и создавать сертификаты. После настройки компьютера закрытый ключ RSA для сертификата привязывается к TPM и не может быть экспортирован. TPM также можно использовать в качестве замены смарт-картам, что сокращает затраты, связанные с созданием и оплатой смарт-карт.
Автоматизированная подготовка в TPM снижает стоимость развертывания TPM на предприятии. Новые API для управления TPM могут определить, требуется ли для подготовки TPM физическое присутствие специалиста для подтверждения запросов на изменение состояния TPM во время загрузки.
Антивредоносное программное обеспечение может использовать измеренные показатели состояния запуска операционной системы для подтверждения целостности компьютера с Windows 10, Windows 11 или Windows Server 2016. При этом запускается Hyper-V, чтобы убедиться, что центры обработки данных, использующие виртуализацию, не запускают недоверенные низкоуровневые оболочки. Вместе с сетевой разблокировкой BitLocker ИТ-администраторы могут передавать обновление, при этом компьютер не будет ожидать ввода ПИН-кода.
В TPM есть ряд параметров групповой политики, которые могут быть полезны в некоторых корпоративных сценариях. Дополнительные сведения см. в разделе Параметры групповой политики TPM.
Новые и измененные функции
Дополнительные сведения о новых и измененных функциях доверенного платформенного модуля в Windows см. в разделе Что нового в доверенном платформенном модуле?
Аттестация работоспособности устройства
Аттестация работоспособности устройства позволяет предприятиям установить отношение доверия на основе аппаратных и программных компонентов управляемого устройства. С помощью аттестации работоспособности устройства можно настроить MDM-сервер для запроса службы подтверждения работоспособности, что позволит или запретит доступ к безопасному ресурсу со стороны управляемого устройства.
На устройстве можно проверить следующее.
Предотвращение выполнения данных поддерживается и включено?
Шифрование диска BitLocker поддерживается и включено?
Безопасная загрузка поддерживается и включена?
Windows 11, Windows 10, Windows Server 2016 и Windows Server 2019 поддерживают подтверждение работоспособности устройства с помощью доверенного платформенного модуля 2.0. Поддержка доверенного платформенного модуля 1.2 была добавлена, начиная с Windows версии 1607 (RS1). Доверенный платформенный модуль 2.0 требует встроенного ПО UEFI. Компьютер с устаревшими BIOS и доверенным платформенным модулем 2.0 будет работать не так, как ожидалось.
Модули TPM: что нужно знать эксперту-криминалисту
Исследование компьютера, системный накопитель которого зашифрован посредством BitLocker, может оказаться намного сложнее, если ключ шифрования основан не на установленном пользователем пароле, а на данных, которые защищены аппаратным модулем TPM. В этом исследовании рассказывается об особенностях защиты ключей в TPM и возможных способах обхода этой защиты.
Что такое TPM и как он мешает исследовать компьютер
Trusted Platform Module (TPM) — система хранения криптографических ключей в персональных компьютерах. Она может быть реализована как в виде отдельного чипа, установленного на материнской плате компьютера, так и являться частью центрального процессора (технология Intel PTT). Отдельный чип TPM чаще всего распаян на материнской плате, но для некоторых плат поставляется отдельным модулем.
Чипы TPM Infineon Optiga:
Отдельный модуль TPM для материнских плат Asus:
Система состоит из криптографического процессора и встроенной памяти. Официально устройства с TPM в Россию не поставляются, так как содержат несертифицированные средства шифрования. Однако, наши российские коллеги регулярно сталкиваются с компьютерами, на которых этот чип присутствует. TPM обеспечивает генерацию, хранение и ограничение использования криптографических ключей. Операционные системы предоставляют разработчикам интерфейсы для работы с TPM, а также используют TPM для работы с ключами шифрования.
В этой статье я расскажу про Windows Bitlocker, который используется для шифрования дисков, и который может для этих целей использовать TPM модуль.
При проектировании системы шифрования дисков разработчики Windows использовали модель угроз, предотвращающую следующие события:
— Логин в операционную систему в обход пароля пользователя
— Перенос диска на другой компьютер и его анализ
— Изменение конфигурации компьютера с целью анализа диска
— Запуск на компьютере других операционных систем для доступа к диску
Но при этом для пользователя использование системы не представляет никаких неудобств, и в большинстве случаев ему достаточно просто включить компьютер и ввести свой пароль. Защиту можно усилить, установив на Bitlocker пин-код или сохранив секретный элемент на USB накопителе.
Как устроена защита
BitLocker использует симметричное шифрование диска, как и остальные подобные приложения. Шифрованием диска занимается центральный процессор. Основным секретным элементом является мастер-ключ, который может быть получен следующими способами:
1. Расшифрован паролем на диск, если используется такая защита.
2. Расшифрован ключом восстановления (Recovery Key). Ключ восстановления генерируется при создании любого контейнера или диска BitLocker и сохраняется пользователем либо в файл, либо в облако Microsoft. При некоторых условиях ключ сохраняется в облако Microsoft автоматически, без уведомления пользователя.
3. Извлечен из TPM модуля при соблюдении определенных условий.
Работа Bitlocker с системой TPM:
Работа TPM модуля очень напоминает блокчейн. Строится «цепочка доверия», которая сохраняется в регистрах PCR (Platform Configuration Register).
Рассмотрим работу TPM модуля по шагам:
1. Включаем компьютер. Управление передается первому «доверенному» модулю, который имеет название SRTM (Static root of trust for measures). Обычно этот модуль находится в ПЗУ материнской платы и не может быть изменен. Уязвимость в этом модуле может поставить под угрозу всю систему безопасности. Эффект подобной уязвимости можно наблюдать в эксплоите checkm8 для платформы Apple iOS. SRTM делает первую запись в цепочке: считает хеш от программного кода BIOS и записывает его в регистр PCR
2. Управление передается UEFI BIOS-у, который формирует дальнейшие компоненты цепочки. Анализируется конфигурация компьютера, разбивка жесткого диска, загрузчик (boot loader), загрузочные секторы диска (Master Boot Record) и множество других параметров. При этом в хешировании полученных данных участвует и предыдущий регистр PCR. Таким образом, все компоненты цепочки связаны между собой и любое нарушение приведет к изменению содержимого PCR регистров.
3. Заполнив несколько PCR регистров, BIOS передает управление загрузчику, который запускает код из MBR жесткого диска. Еще несколько записей в цепочке загрузки.
4. Наконец, запускается ядро операционной системы, которое тоже записывает в цепочку свои параметры.
Таким образом, при загруженной операционной системе мы получаем уникальный набор контрольных сумм, хранящихся в PCR регистрах модуля TPM. Модуль TPM не позволяет произвольным образом изменить содержимое PCR регистров; можно лишь добавить очередной компонент цепочки.
Загрузка компьютера с TPM модулем:
Итак, пользователь включил шифрование жесткого диска BitLocker. По случайному закону генерируется мастер-ключ, а также ключ восстановления. Мастер-ключ записывается в модуль TPM, а также шифруется при помощи ключа восстановления и в таком виде сохраняется в заголовке диска. При перезапуске компьютера происходит следующее:
1. Все PCR регистры обнуляются.
2. Происходит инициализация, запуск BIOS, bootloader, MBR, ядра операционной системы.
3. Операционная система пытается получить ключ шифрования диска из TPM. При запросе TPM чип анализирует содержимое цепочки, хранящейся в регистрах PCR. Если цепочка повреждена, ключ шифрования не выдается, при этом выдается сообщение о необходимости ввода ключа восстановления.
Таким образом, при выключенном компьютере мы можем получить ключ шифрования диска только в случае запуска оригинальной системы. Изменение любого компонента системы приведет к необходимости ввода Recovery ключа.
Как работать с защитой TPM
Чаще всего к нам в руки попадает выключенный компьютер, о конфигурации которого ничего неизвестно. Самый первый шаг, который необходимо сделать в этой ситуации – снять побайтовый образ диска. Это можно сделать, например, при помощи утилиты Elcomsoft System Recovery. Перед снятием образа мы увидим список разделов диска, а также способ их шифрования, если он присутствует. Если мы имеем дело с защитой диска при помощи TPM, программа сообщит, что диск зашифрован BitLocker-ом, но хеш пароля извлечь невозможно. Для расшифровки диска понадобится найти либо ключ восстановления, либо мастер-ключ, хранящийся в TPM модуле. В этой статье я не буду останавливаться подробно на механизмах получения ключа восстановления. Отмечу лишь, что он может быть сохранен пользователем в файл на другом диске, в Active Directory, а также в облако Microsoft. В следующих разделах мы рассмотрим различные способы получения мастер-ключа из модуля TPM.
Получение мастер-ключа из памяти компьютера
После снятия образа диска можно попробовать включить компьютер и загрузиться с основного диска, защищенного BitLocker-ом. Если пользователь не установил пароль на вход в операционную систему, либо этот пароль известен, диск расшифруется полученным из TPM ключом. Исключение составляет ситуация, когда доступ к модулю TPM защищен дополнительным PIN-кодом. При нескольких попытках неправильного ввода такого кода модуль TPM блокирует доступ к мастер-ключу и доступ к диску становится возможным только при вводе Recovery ключа. Если у нас получилось загрузить ОС и залогиниться, мастер-ключ BitLocker-а находится в памяти компьютера. Его можно найти, используя портативную версию Elcomsoft Forensic Disk Decryptor. Этой же программой можно подключить снятый образ диска для анализа.
Конечно же, в этом случае возможен и анализ загруженной системы с активной пользовательской сессией. Но получение мастер-ключа и работа с образом более надежна; помимо прочего, мы получаем абсолютно точный образ системы, которая была изъята, без изменений, произошедших при старте ОС. Наши иностранные коллеги называют такой подход “forensically sound”.
Атаки методами холодной загрузки и через порты FireWire/Thunderbolt
Если загрузка ОС произошла успешно, но невозможно войти в систему, так как неизвестен пароль пользователя, можно попробовать прочитать содержимое памяти компьютера. Существует два известных способа: прямой доступ к памяти через шину PCI и метод «холодной загрузки» (cold boot).
К сожалению, такой способ работает только для Windows 7 и 8. В более старших версиях Windows доступ DMA через Thunderbolt уже закрыт. Дамп памяти, сделанный в inception, можно загрузить в Elcomsoft Forensic Disk Decryptor и, как уже было описано выше, найти мастер-ключ, с помощью которого можно либо полностью расшифровать образ диска, либо подключить его к системе для анализа.
Еще один вид атаки основан на том, что содержимое оперативной памяти компьютера обнуляется не мгновенно, а лишь спустя несколько секунд после выключения питания. Многие модули памяти способны сохранять свое состояние в течение нескольких минут и иногда даже часов, если их охладить до отрицательной температуры. На этом их свойстве и основана атака методом «холодной загрузки» (cold boot). Для атаки нам потребуется любой баллончик с хладагентом, например, предназначенный для тестирования термонестабильных электронных компонентов.
Включаем исследуемый компьютер, замораживаем память при помощи баллончика, сразу отключаем питание (ни в коем случае нельзя делать штатный shutdown средствами операционной системы), перезагружаемся с USB накопителя с Linux, на котором установлено расширение ядра LiME.
Далее создаём дамп оперативной памяти. Признаюсь честно, в нашей лаборатории мы ни разу не делали этот тип атаки. Но некоторые наши партнеры рассказывали, что у них получалось воспроизвести такую атаку и получить дамп памяти. Если других способов не осталось, вполне можно попробовать!
Заморозка памяти ноутбука:
Атака на TPM модуль через Sleep Mode
В любых системах обеспечения безопасности встречаются уязвимости. Не избежали этой участи и модули TPM. В 2018 году корейские исследователи Seunghun Han, Wook Shin, Jun-Hyeok Park и HyoungChun Kim из National Security Research Institute представили на конференции Usenix научную работу под названием «Страшный сон».
Когда компьютер уходит в «спящий режим», TPM сохраняет свое состояние в NVRAM, а при выходе из этого режима восстанавливает его. И вот в этот момент некоторые модели модулей TPM позволяют подменить содержимое PCR регистров. Модуль TPM также ведет свой внутренний журнал, что позволяет узнать всю «цепочку доверия» в тот момент, когда в штатном режиме загружалась Windows, и модуль отдавал мастер-ключ шифрования диска. Исследователи тут же поставили в известность крупнейших производителей материнских плат: Intel, Lenovo, Gigabyte, Dell, hp. Уязвимость была закрыта в обновлениях BIOS. Однако очень немногие пользователи устанавливают обновления BIOS, так что в мире ещё много компьютеров, уязвимых к этой атаке.
Seunghun Han написал две утилиты:
Имеет смысл запустить сначала его; это утилита для проверки TPM модуля на предмет наличия уязвимости «страшных снов». На странице есть ссылка на скачивание образа Live CD; достаточно записать его на USB накопитель (я для этих целей обычно пользуюсь отличной отечественной программой Rufus) и загрузить с нее исследуемый компьютер. К сожалению, все компьютеры в нашей тестовой лаборатории оказались неуязвимыми к этой атаке.
К сожалению, ее нет в виде Live CD, поэтому придется повозиться сначала с установкой Ubuntu на USB накопитель или внешний диск, а потом собрать и установить Bitleaker согласно инструкции. Для загрузки этой системы нужно либо отключить Secure Boot, либо подписать модифицированные загрузчик и ядро своей подписью и внести публичный ключ в BIOS компьютера. Подробную инструкцию можно найти, например, здесь.
Учтите, что добавление нового доверенного сертификата тоже изменяет содержимое регистров PCR, поэтому я бы советовал просто отключить Secure Boot при загрузке.
Атака на TPM путем анализа сигналов
Модуль TPM «общается» с компьютером через шину данных LPC (Low Pin Count). Эта шина используется для передачи данных от «медленных» устройств, к примеру, последовательных портов COM, и имеет частоту всего 33 МГц. Передаваемые по шине данные никак не зашифрованы, поэтому у нас есть возможность перехватить передаваемый мастер-ключ путем анализа сигналов. Denis Andzakovic показывает нам, как у него это получилось для TPM версий 1.2 и 2.0.
Для версии 1.2 он использует логический анализатор DSLogic Plus (цена в России около 10 тыс рублей), имеющий интерфейс USB и позволяющий анализировать до 16 каналов одновременно. Впрочем, этот анализатор автор не советует использовать, так как пришлось решать проблемы с синхронизацией и даже патчить его прошивку. Но, тем не менее, результат получен и мастер-ключ успешно извлечен из модуля.
Для версии 2.0 использовалось еще более дешевое устройство — Lattice ICEStick. Это FPGA модуль с интерфейсом USB, в который можно залить прошивку, предназначенную специально для сниффинга TPM модулей.
Осталось лишь аккуратно припаять проводки к нужным ножкам TPM чипа (для материнских плат, в которых модуль TPM вставляется в специальный разъём, достаточно просто подключиться между разъёмом и модулем), включить сниффер и получить мастер-ключ.
Конечно же, если BitLocker защищен еще и пин-кодом, такой способ не сработает. Очевидно, что этот способ не работает и для Intel PTT, так как мы не имеем физического доступа к интерфейсу модуля.