Tpm state в биосе что это
Что такое TPM и как его использовать в Windows
Во многих компьютерах и ноутбуках сегодня можно встретить дополнительный чип, который называется TPM. В операционной системе он определяется в разделе «Устройства безопасности». Что это за зверь такой и для чего он, собственно, нужен мы и поговорим сегодня.
Расшифрование (decryption) иногда некорректно называют дешифрование (deciphering). Разница между ними в том, что при расшифровании вам известен алгоритм и секретный ключ, которым зашифрованы данные, а при дешифровании – нет.
Рассмотрим эти шаги более подробно.
1 Включение модуля TPM в BIOS компьютера
Для включения модуля зайдите в BIOS и перейдите в раздел, связанный с безопасностью. Хотя BIOS может существенно отличаться на разных компьютерах, как правило, раздел с настройками безопасности называется «Security». В этом разделе должна быть опция, которая называется «Security Chip».
Настройки безопасности в BIOS
Модуль может находиться в трёх состояниях:
В первом случае он не будет виден в операционной системе, во втором – он будет виден, но система не будет его использовать, а в третьем – чип виден и будет использоваться системой. Установите состояние «активен».
Тут же в настройках можно очистить старые ключи, сгенерированные чипом.
Очистка памяти чипа TPM
Очистка TPM может пригодиться, если вы, например, захотите продать свой компьютер. Учтите, что стерев ключи, вы не сможете восстановить данные, закодированные этими ключами (если, конечно, вы шифруете свой жёсткий диск).
Теперь сохраните изменения («Save and Exit» или клавиша F10) и перезагрузите компьютер.
После загрузки компьютера откройте диспетчер устройств и убедитесь, что доверенный модуль появился в списке устройств. Он должен находиться в разделе «Устройства безопасности».
Чип TPM в диспетчере устройств Windows
2 Инициализация модуля TPM в Windows
В правой части оснастки находится меню действий. Нажмите «Инициализировать TPM…». Если эта возможность не активна, значит, ваш чип уже инициализирован. Если он инициализирован не вами, и вы не знаете пароль владельца, то желательно выполнить сброс и очистку памяти модуля, как описано в предыдущем пункте.
Оснастка для управления чипом TPM
Инициализация модуля TPM через оснастку
Пароль TPM сгенерирован, инициализация
По завершении программа сообщит об успешной инициализации модуля. После завершения инициализации все дальнейшие действия с модулем – отключение, очистка, восстановление данных при сбоях, сброс блокировки – будут возможны только с помощью пароля, который вы только что получили.
Пароль владельца для TPM создан
Теперь действие инициализации стало неактивным, зато появилась возможность отключить TPM, сменить пароль владельца и сбросить блокировку модуля, если это произошло (модуль блокирует сам себя для предотвращения мошенничества или атаки).
Инициализация TPM завершена
Поделиться
Похожие материалы (по тегу)
Последнее от aave
Другие материалы в этой категории:
12 комментарии
Хочу поделиться своей проблемой по поводу TPM. Недавно система обновилась
KB4565503 (Build 19041.388) для Windows 10 (версия 2004) В тот же день появился
Синий экран смерти, у меня таково раньше никогда не было. Ошибка 0x00000133
И так стало продолжаться каждый день. Нашел такую информацию : ( Драйвер устройства для доверенного платформенного модуля (TPM) обнаружил неустранимую ошибку, связанную с оборудованием TPM, которая не позволяет использовать службы TPM (например, шифрование данных). Обратитесь за помощью к производителю компьютера.) Пришлось в биосе отключить модуль ТРМ, пока все работает четко.
Может кому-то моя информация поможет
Андрей, спасибо большое за информацию! Это действительно интересно. Жаль только, что пришлось полностью отключать модуль TPM и не нашлось другого решения.
Цифровая лицензия виндовс 10 слетит при этом?
Влад! При чём «при этом»?
Зашел в биос, включил ТПМ. Не пришлось никаких паролей создавать. Ничего инициализировать. Но скорее всего из-за того, что у меня включена учетка мелкософт.
Вопрос, чем грозит нажатие справа команды «Отчистить ТПМ»?
Алексей, в чипе TPM могут храниться какие-то ваши пароли и идентификационные данные (например, для входа в Windows). Также если вы зашифровали свои данные или диски с помощью аппаратного шифрования (используя, например, BitLocker), то не сможете восстановить их.
Поэтому прежде чем очищать модуль TPM, необходимо расшифровать все данные, которые были с помощью него зашифрованы. Перед очисткой желательно создать TPM-файл с резервной копией ключей. Это делается в оснастке TPM.
Рекомендуется очищать модуль при продаже компьютера другому владельцу или при неполадках в работе чипа.
Владимир! В таком случае лучше не отключайте модуль TPM и не обращайте на него внимания. Никакие Ваши данные он не может «украсть» или повредить. Вероятно, модуль был активирован производителем ноутбука.
Что такое 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 и как он поможет защитить информацию на компьютере
Материл обновлен в сентябре 2021 года. Сегодня для защиты компьютерных данных повсеместно используют шифрование. Обычно мы говорим о криптографических программах, таких, как Veracrypt. Но справляться с подобными задачами помогают и физические чипы. Одно из таких полезных устройств называют Trusted Platform Module, «доверенный платформенный модуль» или просто TPM. В этой статье мы выясним, как пользователю Windows определить наличие TPM-модуля у себя в компьютере.
Зачем нужен TPM
Модуль может оказаться полезен, например, для:
Вероятно, самый распространенный сценарий использования TPM – шифрование жесткого диска. Эта операция позволяет надежно защитить данные от несанкционированного доступа. Если с компьютером произойдет неприятность – кража, потеря, изъятие во время следственных действий – полнодисковое шифрование не позволит посторонним людям добраться до ваших файлов.
В Windows 10 pro и Windows 8 pro есть программа Bitlocker. С ее помощью можно включить на компьютере полнодисковое шифрование. Тут-то и пригодится TPM. Модуль позволит создать и хранить криптографические ключи, нужные для шифрования. При этом TPM не является частью Windows. Он не зависит от возможных уязвимостей ни в самой операционной системе, ни в прикладных программах.
Если злоумышленник попробует стартовать компьютер с флешки или CD/DVD, пара Bitlocker + TPM не разрешат доступ к диску. Если злоумышленник вынет жесткий диск из корпуса изъятого компьютера и подключит диск к своему компьютеру (а так обычно и делают), Bitlocker + TPM тоже защитят ваши данные. Любая попытка «обойти» оригинальную конфигурацию загрузки приведет к неудаче. (Точнее, потребуется специальный ключ).
Можно ли пользоваться полнодисковым шифрованием без TPM? Да, конечно. Криптомодуль делает этот процесс в чем-то удобнее для пользователя. Если он у вас есть – значит, у вас, как минимум, есть выбор, и вы можете попробовать что-то новое для безопасности своего компьютера.
Как выглядит TPM
«Классический» дискретный TPM – микроплата, вставленная в разъем на материнской плате. Разъем (на сленге компьютерщиков – «колодка»), как правило, имеет маркировку «TPM». Если вы дружите с отверткой, можете заглянуть внутрь своего десктопа и поискать TPM-разъем самостоятельно. Как правило, он находится на краю материнской платы рядом с разъемами для подключения внешних («корпусных») USB-портов и аудиоразъемов. На этой странице вы можете видеть, как выглядит сам криптомодуль и гнездо для TPM на материнской плате ASUS ROG MAXIMUS X APEX. Другой вариант – когда TPM-модуль распаян прямо на материнской плате.
Функции криптомодуля могут быть реализованы программно, в прошивке. Например, у AMD это называется fTPM (firmware-based TPM). Если на компьютере есть и fTPM, и разъем для дискретного криптомодуля, выбор между ними пользователю предстоит сделать в BIOS.
Как узнать, есть ли у меня TPM
«Раскрутить и посмотреть» – не всегда хороший совет. Если у вас, допустим, ультрабук, то для доступа к внутренностям может понадобиться выкрутить 5-10 крошечных винтиков, а потом отыскивать нужную микросхему в плотной компоновке мелких деталей. Вряд ли вы захотите удовлетворять свое любопытство таким способом.
Способ 1
Загляните в диспетчер устройств Windows. Если в разделе устройств безопасности вы видите строчку типа «Trusted Platform Module 2.0», значит, у вас есть криптомодуль.
Способ 2
Запустите в командной строке (клавиша Windows + R) утилиту tpm.msc. (Наберите и нажмите Enter). Утилита покажет наличие (или отсутствие) TPM.
Способ 3
Все еще не уверены? Попробуйте открыть командную строку с правами администратора (клавиша Windows + Х, соответствующий пункт меню) и выполните команду:
wmic /namespace:\\root\cimv2\security\microsofttpm path win32_tpm get * /format:textvaluelist.xsl
Если первые строки возвращают значение «TRUE», вы счастливый обладатель TPM. В противном случае вы увидите надпись «Отсутствуют экземпляры».
Впрочем, модуль может быть принудительно отключен в UEFI/BIOS. Чтобы выяснить, так ли это, перезагрузите компьютер, войдите в UEFI/BIOS и отыщите в настройках что-нибудь вроде «TPM configuration» или «Security Chip» (название пункта меню зависит от вашего компьютера).
Возможна ситуация, когда у вас нет доступа к компьютеру (например, вы только собираетесь его приобрести). Тогда лучше заранее поискать спецификации компьютера и/или материнской платы. Примеры:
Хотите узнать о TPM больше?
Что такое TPM и как его использовать в Windows
Во многих компьютерах и ноутбуках сегодня можно встретить дополнительный чип, который называется TPM. В операционной системе он определяется в разделе «Устройства безопасности». Что это за зверь такой и для чего он, собственно, нужен мы и поговорим сегодня.
Расшифрование (decryption) иногда некорректно называют дешифрование (deciphering). Разница между ними в том, что при расшифровании вам известен алгоритм и секретный ключ, которым зашифрованы данные, а при дешифровании – нет.
Рассмотрим эти шаги более подробно.
1 Включение модуля TPM в BIOS компьютера
Для включения модуля зайдите в BIOS и перейдите в раздел, связанный с безопасностью. Хотя BIOS может существенно отличаться на разных компьютерах, как правило, раздел с настройками безопасности называется «Security». В этом разделе должна быть опция, которая называется «Security Chip».
Настройки безопасности в BIOS
Модуль может находиться в трёх состояниях:
В первом случае он не будет виден в операционной системе, во втором – он будет виден, но система не будет его использовать, а в третьем – чип виден и будет использоваться системой. Установите состояние «активен».
Тут же в настройках можно очистить старые ключи, сгенерированные чипом.
Очистка памяти чипа TPM
Очистка TPM может пригодиться, если вы, например, захотите продать свой компьютер. Учтите, что стерев ключи, вы не сможете восстановить данные, закодированные этими ключами (если, конечно, вы шифруете свой жёсткий диск).
Теперь сохраните изменения («Save and Exit» или клавиша F10) и перезагрузите компьютер.
После загрузки компьютера откройте диспетчер устройств и убедитесь, что доверенный модуль появился в списке устройств. Он должен находиться в разделе «Устройства безопасности».
Чип TPM в диспетчере устройств Windows
2 Инициализация модуля TPM в Windows
В правой части оснастки находится меню действий. Нажмите «Инициализировать TPM…». Если эта возможность не активна, значит, ваш чип уже инициализирован. Если он инициализирован не вами, и вы не знаете пароль владельца, то желательно выполнить сброс и очистку памяти модуля, как описано в предыдущем пункте.
Оснастка для управления чипом TPM
Инициализация модуля TPM через оснастку
Пароль TPM сгенерирован, инициализация
По завершении программа сообщит об успешной инициализации модуля. После завершения инициализации все дальнейшие действия с модулем – отключение, очистка, восстановление данных при сбоях, сброс блокировки – будут возможны только с помощью пароля, который вы только что получили.
Пароль владельца для TPM создан
Теперь действие инициализации стало неактивным, зато появилась возможность отключить TPM, сменить пароль владельца и сбросить блокировку модуля, если это произошло (модуль блокирует сам себя для предотвращения мошенничества или атаки).
Инициализация TPM завершена
Поделиться
Похожие материалы (по тегу)
Последнее от aave
Другие материалы в этой категории:
12 комментарии
Хочу поделиться своей проблемой по поводу TPM. Недавно система обновилась
KB4565503 (Build 19041.388) для Windows 10 (версия 2004) В тот же день появился
Синий экран смерти, у меня таково раньше никогда не было. Ошибка 0x00000133
И так стало продолжаться каждый день. Нашел такую информацию : ( Драйвер устройства для доверенного платформенного модуля (TPM) обнаружил неустранимую ошибку, связанную с оборудованием TPM, которая не позволяет использовать службы TPM (например, шифрование данных). Обратитесь за помощью к производителю компьютера.) Пришлось в биосе отключить модуль ТРМ, пока все работает четко.
Может кому-то моя информация поможет
Андрей, спасибо большое за информацию! Это действительно интересно. Жаль только, что пришлось полностью отключать модуль TPM и не нашлось другого решения.
Цифровая лицензия виндовс 10 слетит при этом?
Влад! При чём «при этом»?
Зашел в биос, включил ТПМ. Не пришлось никаких паролей создавать. Ничего инициализировать. Но скорее всего из-за того, что у меня включена учетка мелкософт.
Вопрос, чем грозит нажатие справа команды «Отчистить ТПМ»?
Алексей, в чипе TPM могут храниться какие-то ваши пароли и идентификационные данные (например, для входа в Windows). Также если вы зашифровали свои данные или диски с помощью аппаратного шифрования (используя, например, BitLocker), то не сможете восстановить их.
Поэтому прежде чем очищать модуль TPM, необходимо расшифровать все данные, которые были с помощью него зашифрованы. Перед очисткой желательно создать TPM-файл с резервной копией ключей. Это делается в оснастке TPM.
Рекомендуется очищать модуль при продаже компьютера другому владельцу или при неполадках в работе чипа.
Владимир! В таком случае лучше не отключайте модуль TPM и не обращайте на него внимания. Никакие Ваши данные он не может «украсть» или повредить. Вероятно, модуль был активирован производителем ноутбука.
Модули 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, так как мы не имеем физического доступа к интерфейсу модуля.