можно ли взломать bitlocker
Страшный сон TPM. Взламываем защиту модулей TPM и шифрование BitLocker
Содержание статьи
Статья основана на исследовании Андрея Малышева, руководителя европейского филиала «Элкомсофт».
Что такое TPM и почему он мешает расшифровать диск
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.)
Если ты сталкивался с экраном наподобие того, который приводится ниже, ты поймешь, о чем идет речь.
Если хочешь — можешь почитать, где взять ключ восстановления доступа. Я же продолжу рассказ о модулях 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 указывает на доверенный статус загрузки. Теперь добавим шифрование.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Олег Афонин
Эксперт по мобильной криминалистике компании «Элкомсофт»
Как обойти защиту BitLocker в Windows 10
Финский IT-специалист Сами Лайхо обнаружил простой способ обхода системы шифрования данных BitLocker в Windows 10. Описанный им способ позволяет получить неавторизованный доступ к зашифрованным файлам на накопителе.
Для обхода защиты BitLocker требуется дождаться, когда компьютер обнаружит обновление операционной системы и начнёт устанавливать его. В ходе подготовки к инсталляции апдейта нужно нажать Shift + F10, после чего запустится командная строка. С помощью этой утилиты можно получить доступ к расшифрованным данным на накопителе устройства. Взлом может быть осуществлён практически любым человеком, каких-либо хакерских знаний для этого не требуется.
Весь процесс взлома описан в видеоролике:
По словам Лайхо, описанной уязвимости подвержены все компьютеры и планшеты, работающие на релизных сборках Windows 10 (1511 — November Update и 1607 — Anniversary Update). Кроме того, этот баг также присутствует во всех инсайдерских сборках, выпущенных до октября 2016 года в рамках подготовки к релизу следующего крупного обновления ОС — Creators Update. В сборках, вышедших в ноябре, этого бага уже нет, так что их можно считать наиболее безопасными. Скорее всего, в ближайшее время Microsoft выпустит патчи для своих операционных систем, которые закроют уязвимость, найденную Лайхо.
Конечно, эту уязвимость вряд ли можно считать очень опасной. Осуществление взлома требует физического доступа хакеру к компьютеру или планшету жертвы. Удалённый взлом невозможен.
BitLocker — криптографическая защита, реализованная в Windows 7, 8 и 10. Оно позволяет зашифровать данные накопителя компьютера или планшета так, что даже если он будет установлен в другое устройство, файлы, хранящиеся на нём, будут недоступны до тех пор, пока вы не введёте пароль, установленный для дешифровки. О том, как установить защиту BitLocker, вы можете прочитать в нашей статье.
Как обойти BitLocker при запуске?
Как я могу разблокировать BitLocker без пароля и ключа восстановления?
Можно ли обойти BitLocker?
Microsoft исправила ошибку в ноябрьском ежемесячном раунде обновлений безопасности. Согласно недавнему исследованию безопасности, BitLocker, инструмент Microsoft для шифрования дисков, можно было легко обойти до выпуска исправлений на прошлой неделе.
Как удалить пароль BitLocker при запуске?
Re: Отключить запрос BitLocker при загрузке?
Как мне войти в BitLocker без ключа?
1. Можно попробовать получить рекавери с учетной записи microsoft. Чтобы получить ключ восстановления, перейдите по адресу https://account.microsoft.com/devices/recoverykey. Войдите в свою учетную запись Microsoft, и тогда вы увидите свой ключ восстановления, который был там сохранен.
Как отключить BitLocker без пароля?
Как удалить BitLocker без пароля или ключа восстановления на ПК
Что делать, если я не могу найти свой ключ восстановления BitLocker?
Если у вас нет рабочего ключа восстановления для запроса BitLocker, вы не сможете получить доступ к системе.
…
разрешение
Почему мой компьютер запрашивает ключ BitLocker?
Эта проблема возникает в системах с портами USB Type-C и Thunderbolt 3 (TBT). BitLocker отслеживает изменения в конфигурации загрузки в системе. Когда BitLocker видит новое устройство в списке загрузки или подключенное внешнее запоминающее устройство, он запрашивает ключ из соображений безопасности.
Почему BitLocker заблокировал меня?
Режим восстановления BitLocker может возникать по многим причинам, в том числе: Ошибки аутентификации: забыть PIN-код. Ввод неправильного PIN-кода слишком много раз (активация логики защиты от ударов TPM)
Как отключить BitLocker?
Чтобы отключить BitLocker:
Как мне удалить пароль перед загрузкой?
Чтобы сбросить пароль, отключите компьютер от сети, откройте корпус и извлеките батарею CMOS на прибл. 15-30 минут, а затем верните обратно. Он сбросит все настройки BIOS, а также пароль, и вам нужно будет повторно ввести все настройки.
Как исправить ошибку BitLocker?
Чтобы решить эту проблему и отремонтировать устройство, выполните следующие действия.
Как отключить BitLocker в BIOS?
Как получить 48-значный ключ восстановления BitLocker?
Где получить ключ восстановления BitLocker, если я забыл
Как разблокировать BitLocker?
Откройте проводник Windows и щелкните правой кнопкой мыши зашифрованный диск BitLocker, а затем выберите «Разблокировать диск» в контекстном меню. В правом верхнем углу вы увидите всплывающее окно с запросом пароля BitLocker. Введите свой пароль и нажмите Разблокировать. Теперь диск разблокирован, и вы можете получить доступ к файлам на нем.
Как создать ключ восстановления BitLocker?
Как найти ключ восстановления BitLocker в Windows 10
Как получить доступ к BitLocker, загрузившись с USB накопителя
BitLocker — одно из самых распространённых решений шифрования дисков в Windows. BitLocker используется как в организациях, так и для защиты портативных устройств — ноутбуков и устройств-трансформеров под управлением Windows. В то же время BitLocker может заблокировать доступ к зашифрованным данным, если пароль для входа в Windows утерян. Мы предлагаем решение на основе загрузочного USB-накопителя, позволяющее восстановить доступ к учётным записям Windows для систем, защищённых BitLocker. В этой статье нет ни слова о том, как взломать шифрование томов BitLocker. Мы рассказываем о том, как получить доступ к учётным записям пользователей Windows, если загрузочный диск зашифрован, но в вашем распоряжении есть депонированный ключ или один из доступных протекторов — факторов, позволяющих разблокировать том.
Методы защиты BitLocker
А что насчёт остальных типов протекторов? Если отвлечься от мощной, но чрезвычайно технически сложной атаки методом холодной загрузки, то остаётся лишь вариант с использованием депонированного ключа — последовательности из 48 цифр, которая сохраняется по умолчанию либо в учётной записи пользователя Microsoft Account, либо, если речь идёт о корпоративном компьютере, в Active Directory.
И если при помощи пароля можно смонтировать или расшифровать соответствующий том даже если пароль к учётной записи пользователя утрачен (к примеру, сотрудник покинул компанию), то что-либо сделать в такой ситуации с загрузочным диском, для которого есть депонированный ключ, достаточно сложно. Microsoft не предлагает внятного способа для восстановления доступа к учётной записи пользователей Windows, если загрузочный томе зашифрован с помощью BitLocker. Восстановить или сбросить пароль к учётной записи пользователя не получится, даже если в вашем распоряжении есть депонированный ключ. По сути, единственный штатный способ восстановить доступ к системе — загрузиться с диска восстановления Windows и смонтировать зашифрованный том, введя ключ восстановления. Однако потом вам придётся либо переустановить Windows, либо скопировать данные с зашифрованного тома. Просто сбросить пароль от учётной записи вы не сможете.
Какие протекторы поддерживаются
О тому, какие именно протекторы существуют, подробно рассказано в статье Механизмы защиты BitLocker: какие диски можно, а какие нельзя взломать. Сегодня перед нами не стоит задача взлома соответствующего протектора; всё, что нам требуется осуществить — это получить доступ к учётным записям системы, загрузившись с USB накопителя. В зависимости от типа протектора доступны следующие варианты.
Для удобства мы свели данные в таблицу. В первой колонке (Supported in ESR 7.05) приводится информация о том, можно ли смонтировать том BitLocker, если в вашем распоряжении есть указанный протектор (к примеру, ключ, пароль или PIN-код). В правой колонке указано, можно ли смонтировать том, если у вас есть доступ к депонированному ключу.
Как смонтировать зашифрованный том
Для загрузки в Elcomsoft System Recovery необходимо создать загрузочный накопитель в ESR 7.05 или новее. Чтобы создать загрузочный USB накопитель, запустите программу на своём (а не на исследуемом) компьютере и следуйте указаниям мастера.
После создания загрузочного накопителя используйте его для загрузки целевого компьютера. После загрузки компьютера будет запущено приложение Elcomsoft System Recovery. Инструмент автоматически просканирует доступные жёсткие диски на предмет зашифрованных томов. Если ESR обнаружит хотя бы один том BitLocker, будет выведено предложение разблокировать диск:
Для продолжения нажмите Yes и Next.
В следующем окне ESR отобразит букву диска и тип протектора. Если будет обнаружен хотя бы один неподдерживаемый протектор, такие протекторы не будут показаны по умолчанию. Чтобы отобразить все протекторы, включая неподдерживаемые, снимите флажок «Show supported disk protectors only».
Как только флажок будет снят, вы увидите неподдерживаемые протекторы. В приведённом ниже примере загрузочный диск был защищён двумя протекторами: TPM+PIN (напрямую не поддерживается в ESR) и депонированным ключом (Recovery Key), который в ESR поддерживается.
Чтобы разблокировать диск, введите ключ восстановления (48 цифр) в поле «Numerical password», затем нажмите «Unprotect». Если ключ восстановления правильный, том будет успешно разблокирован.
Встречаются тома BitLocker, защищённые сразу несколькими протекторами, которые поддерживаются ESR. В приведённом ниже примере том был защищён паролем, а ключ восстановления был создан в качестве дополнительного (резервного) протектора. Собственно, именно так обычно и защищены все диски, кроме загрузочных. В этом случае укажите тот тип протектора, к которому у вас есть доступ. Например, если вы знаете пароль к тому BitLocker, выберите «Password».
Шифрование BitLocker можно обойти за несколько секунд
Реверс малвари
Оказывается, бюллетень безопасности MS15-122, выпущенный компанией Microsoft на прошлой неделе, закрыл весьма опасную уязвимость. Баг позволял буквально за несколько секунд обойти встроенное шифрование Windows (начиная от Vista и заканчивая новейшими версиями ОС).
Исследователь Иан Хакен (Ian Haken) из компании Synopsys представил на конференции Black Hat доклад, в котором рассказал о простом способе обхода шифрования BitLocker. Метод не потребует глубоких и специфических знаний от атакующего, хотя потребует физического доступа к машине жертвы.
Данной уязвимости особенно подвержены компьютеры, подключенные к различным доменам корпоративных сетей. Если атакующий отключит устройство от сети, и сервер домена станет недоступен, ПК обратится к локальному логину и паролю, которые хранит в кэше. Хакен нашел способ подменить пароль в кэше (пароль при этом атакующему неизвестен), что позволит неавторизованному пользователю проникнуть в систему за считанные секунды, если процесс автоматизирован.
Атакующему достаточно создать фейковый сервер домена с именем аналогичным оригинальному, затем останется только создать пользовательский аккаунт, обманув систему и заставив ее считать, что пароль был задан много лет назад. Это запустит механизм смены пароля, после чего атакующий сможет залогиниться в систему с новым паролем, который заменит в кэше старый.
Данный баг был по-тихому исправлен в MS15-122, ранее информация об уязвимости в широкий доступ не попадала, так что Microsoft сообщает, что случаев применения данной техники обхода BitLocker пока зафиксировано не было.