Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Модули TPM часто используются для шифрования дисков с помощью BitLocker даже без ведома пользователя. Система загружается и зашифрованный том разблокируется настолько прозрачно, что пользователь может и не подозревать, что накопитель в его устройстве зашифрован. Расшифровать такой диск можно лишь с использованием ключа восстановления или… или взломав чип TPM, в котором хранится ключ шифрования.
info
Статья основана на исследовании Андрея Малышева, руководителя европейского филиала «Элкомсофт».
Trusted Platform Module (TPM) — технология безопасности, представленная в виде дополнительного чипа, распаянного или установленного на материнской плате компьютера. Несмотря на то что официально устройства с TPM в Россию не поставляются, так как содержат несертифицированные средства шифрования, технология присутствует в большинстве ноутбуков. Чип TPM либо распаян на материнской плате (но не активирован в BIOS), либо, что случается гораздо чаще, присутствует в «виртуальном» виде благодаря использованию платформы Intel PTT (Intel Platform Trust Technology).
Для пользователя и операционной системы практической разницы между этими подходами нет, однако с точки зрения уязвимостей и их эксплуатации разница существует.
Если рассматривать модуль TPM в качестве аппаратного «довеска», то он состоит из криптографического процессора и встроенной памяти небольшого объема. При этом криптографический сопроцессор не используется для шифрования данных — как, например, это сделала Apple с чипом T2.
В рамках модели безопасности TPM основная функция чипа заключается в безопасном хранении и генерации криптографических ключей, а также аппаратном контроле за легитимностью их использования исключительно доверенными агентами. В типичной конфигурации в роли доверенного агента выступает операционная система Windows, причем не любая, а именно та, в которой был сгенерирован конкретный криптографический ключ.
Разумеется, как самой операционной системе, так и ее компонентам и приложениям доступны интерфейсы для работы с TPM и ключами шифрования — что тем не менее не означает полной бесконтрольности.
Почему одни диски, зашифрованные BitLocker, можно взломать методом перебора, в то время как другие, точно такие же, нельзя? Мешает то, что пароль в таких дисках не используется вовсе, — перебирать‑то, собственно, нечего. Ключ шифрования хранится в аппаратном модуле TPM, и именно этот модуль будет решать, выдать ключ по запросу, отказать в доступе или вовсе заблокировать чип, заставив расшифровывать контейнер другим способом. (В скобках замечу, что «другой способ» — это резервный ключ, так называемый ключ восстановления доступа, он всегда сохраняется при создании тома или на диске, или в облаке Microsoft, или в Active Directory. Зашифрованный этим ключом ключ шифрования диска также сохраняется в заголовке тома BitLocker.)
Если ты сталкивался с экраном наподобие того, который приводится ниже, ты поймешь, о чем идет речь.
info
Если хочешь — можешь почитать, где взять ключ восстановления доступа. Я же продолжу рассказ о модулях TPM.
С точки зрения пользователя, защита, которую обеспечивает модуль TPM, не только совершенно прозрачна, но и абсолютно незаметна. Я много раз слышал о случаях, когда владелец устройства утверждал, что никакого шифрования нет, — при этом системный раздел был зашифрован BitLocker. И если порой в утверждениях пользователей можно было усомниться, то в остальных случаях их слова подозрений не вызывали. Как правило, речь идет о функции шифрования устройств BitLocker Device Encryption, описанной в статье «Общие сведения о функции шифровании устройств BitLocker в Windows 10». Если не вдаваться в детали, Windows (независимо от редакции — функция поддерживается даже в Windows 10 Home) автоматически зашифрует системный раздел в фоновом режиме при выполнении нескольких условий:
В ранних сборках Windows дополнительно присутствовало требование, чтобы оперативная память была распаянной, а в качестве системного использовался твердотельный накопитель, однако в свежих версиях платформенной документации упоминаний этого я не нашел.
Итак, ты вошел в систему с правами администратора, использовав учетную запись Microsoft Account. Системный диск был зашифрован, но ты этого даже не заметил. Через какое‑то время ты перезагрузил систему. Изменилось ли что‑нибудь в процессе загрузки? С точки зрения пользователя — ровным счетом ничего: компьютер загрузился, Windows вывела запрос пароля. К этому моменту зашифрованный BitLocker диск уже разблокирован, но ты даже не прикасался к компьютеру. С какой стороны это называется защитой?
А вот с какой. При проектировании архитектуры защиты разработчики Windows использовали модель угроз, призванную предотвратить следующие события:
Таким образом, если тебе известен пароль входа в систему — ты не испытаешь никаких неудобств от того, что диск зашифрован. А вот если пароля у тебя нет, то тебе не удастся даже запустить перебор: база данных SAM хранится на зашифрованном диске, и доступа к ней у тебя не будет до тех пор, пока ты не справишься с шифрованием. Для параноиков доступны варианты усиленной защиты: например, на системный раздел можно дополнительно установить PIN-код, сохранить ключ на USB-накопителе или использовать сразу оба способа. В разделе, посвященном противодействию атакам, как раз и упоминается этот способ.
В BitLocker используется симметричное шифрование диска. По умолчанию — алгоритм AES с ключом длиной 128 бит. В свежих сборках Windows 10 применяется режим XTS; более старые версии ОС и первый релиз Windows 10 используют режим CBC.
Как именно выполняется шифрование: средствами центрального процессора (с использованием команд AES-NI) или контроллера диска, — вопрос сложный. До недавнего времени Windows отдавала предпочтение механизмам шифрования, встроенным в контроллер диска или SSD, однако обнаруженная исследователями в целом ряде моделей уязвимость в реализации подобных механизмов заставила Microsoft отказаться от этой практики и реализовать шифрование силами центрального процессора. Впрочем, это касается только вновь создаваемых томов; уже зашифрованные диски будут продолжать использовать тот механизм, который был использован при их создании.
С нашей точки зрения, оба механизма эквивалентны. Для расшифровки диска в любом случае потребуется мастер‑ключ, который можно получить одним из нескольких способов:
О парольных атаках я писал уже достаточно; извлечение ключа восстановления — интересная тема, заслуживающая отдельной статьи. Сейчас нас интересует исключительно третий вариант — извлечение ключа из модуля TPM.
Модуль TPM или технология Intel PTT используется в том числе для аппаратного контроля «доверенной загрузки» (Trusted boot). Цель «доверенной загрузки» — убедиться, что загружена именно та операционная система и именно в той конфигурации, которая использовалась при создании ключей. Для этого используется технология, напоминающая блокчейн. Строится своеобразная «цепочка доверия» — последовательность блоков с информацией об этапах загрузки, выстроенная в хронологическом порядке. Так же как и в блокчейне, информацию в цепочке нельзя изменить — только добавить. «Цепочка доверия» сохраняется в регистрах PCR (Platform Configuration Register).
Для начала рассмотрим работу механизма «доверенной загрузки» и роль модуля TPM без шифрования. Во время загрузки происходят следующие операции.
Отлично, система загрузилась, содержимое регистров PCR указывает на доверенный статус загрузки. Теперь добавим шифрование.
Источник: xakep.ru