Использование BitLocker без TRM. Как восстановить файлы, зашифрованные BitLocker Bitlocker как убрать из меню

«БитЛокер» представляет собой проприетарную технологию, которая дает возможность обеспечивать защиту информации посредством комплексного шифрования разделов. Сам ключ может размещаться в «TRM» либо на устройстве USB.

TPM (Trusted Platform Module ) – это криптопроцессор, в котором размещаются криптоключи для защиты данных. Используется для того, чтобы:

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

Модуль «Trusted Platform Module» в BIOS

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

  1. Нажмите в меню «Пуск» кнопку «Выполнить », напишите tpm. msc .
  2. В разделе «Действие» выберите «Включить TPM ». Ознакомьтесь с руководством.
  3. Перезагрузите ПК , следуйте рекомендациям «БИОС», отображаемым на мониторе.

Как включить «БитЛокер» без «Trusted Platform Module» в Windows 7, 8, 10

При запуске шифровального процесса «БитЛокер» для системного раздела на ПК многих юзеров появляется уведомление «Данное устройство не может применять доверенный платформенный модуль. Администратору нужно активировать параметр. Разрешить применение BitLocker без совместимого TPM ». Чтобы применять шифрование, нужно отключить соответствующий модуль.

Отключение использования модуля TPM

Для того чтобы можно было выполнить шифрование системного раздела без «Trusted Platform Module», нужно поменять настройки параметра в редакторе GPO (локальные групповые политики) ОС.

Как включить «БитЛокер»

Для того чтобы выполнить запуск «БитЛокер», необходимо следовать такому алгоритму:

  1. Щелкните правой клавишей мышки по меню «Пуск», нажмите на «Панель управления ».
  2. Кликните по «».
  3. Нажмите на «Включить BitLocker ».
  4. Подождите, пока закончится проверка, щелкните «Далее ».
  5. Прочтите инструкции, кликните по клавише «Далее ».
  6. Запустится процесс подготовки, при котором не стоит отключать ПК. В противном случае вы не сможете загрузить операционную систему.
  7. Щелкните по клавише «Далее ».
  8. Введите пароль, который станет применяться для разблокирования диска при запуске ПК. Кликните по клавише «Далее ».
  9. Выберите метод сохранения ключа восстановления. Данный ключ позволит получить доступ к диску при утрате пароля. Щелкните «Далее».
  10. Выберите шифрование всего раздела . Кликните «Далее».
  11. Нажмите на «Новый режим шифрования », щелкните «Далее».
  12. Отметьте пункт «Запустить проверку системы BitLocker », щелкните «Продолжить».
  13. Выполните перезагрузку ПК.
  14. При включении ПК наберите пароль, указанный при шифровании. Щелкните кнопку ввода.
  15. Шифрование запустится сразу после загрузки ОС. Кликните по значку «БитЛокер» в панели уведомлений, чтобы посмотреть прогресс. Помните, что шифровальный процесс может отнимать немало времени. Все зависит от того, какой памятью располагает системный раздел. При выполнении процедуры ПК будет работать менее производительно, так как на процессор идет нагрузка.

Как отключить BitLocker

По мнению специалистов, именно кража ноутбука является одной из основных проблем в сфере информационной безопасности (ИБ).


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


По данным Dell и Ponemon Institute, только в американских аэропортах ежегодно пропадает 637 тысяч ноутбуков. А представьте сколько пропадает флешек, ведь они намного меньше, и выронить флешку случайно проще простого.


Когда пропадает ноутбук, принадлежащий топ-менеджеру крупной компании, ущерб от одной такой кражи может составить десятки миллионов долларов.



Как защитить себя и свою компанию?

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

  1. Как при помощи токена сделать Windows домен безопаснее? Часть 1 .
  2. Как при помощи токена сделать Windows домен безопаснее? Часть 2 .

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


Мало кто знает, что в Windows есть встроенные инструменты, которые помогают безопасно хранить информацию. Рассмотрим один из них.


Наверняка, кто-то из вас слышал слово «BitLocker». Давайте разберемся, что же это такое.

Что такое BitLocker?

BitLocker (точное название BitLocker Drive Encryption) - это технология шифрования содержимого дисков компьютера, разработанная компанией Microsoft. Она впервые появилась в Windows Vista.


С помощью BitLocker можно было шифровать тома жестких дисков, но позже, уже в Windows 7 появилась похожая технология BitLocker To Go, которая предназначена для шифрования съемных дисков и флешек.


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

Как работает BitLocker?

Эта технология основывается на полном шифровании тома, выполняемом с использованием алгоритма AES (Advanced Encryption Standard). Ключи шифрования должны храниться безопасно и для этого в BitLocker есть несколько механизмов.


Самый простой, но одновременно и самый небезопасный метод - это пароль. Ключ получается из пароля каждый раз одинаковым образом, и соответственно, если кто-то узнает ваш пароль, то и ключ шифрования станет известен.


Чтобы не хранить ключ в открытом виде, его можно шифровать либо в TPM (Trusted Platform Module), либо на криптографическом токене или смарт-карте, поддерживающей алгоритм RSA 2048.


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


Модуль TPM, как правило, установлен на материнской плате компьютера, однако, приобрести в России компьютер со встроенным модулем TPM весьма затруднительно, так как ввоз устройств без нотификации ФСБ в нашу страну запрещен.


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


Схема работы BitLocker:

  1. При активации BitLocker с помощью генератора псевдослучайных чисел создается главная битовая последовательность. Это ключ шифрования тома - FVEK (full volume encryption key). Им шифруется содержимое каждого сектора. Ключ FVEK хранится в строжайшей секретности.
  2. FVEK шифруется при помощи ключа VMK (volume master key). Ключ FVEK (зашифрованный ключом VMK) хранится на диске среди метаданных тома. При этом он никогда не должен попадать на диск в расшифрованном виде.
  3. Сам VMK тоже шифруется. Способ его шифрования выбирает пользователь.
  4. Ключ VMK по умолчанию шифруется с помощью ключа SRK (storage root key), который хранится на криптографической смарт-карте или токене. Аналогичным образом это происходит и с TPM.
    К слову, ключ шифрования системного диска в BitLocker нельзя защитить с помощью смарт-карты или токена. Это связано с тем, что для доступа к смарт-картам и токенам используются библиотеки от вендора, а до загрузки ОС, они, понятное дело, не доступны.
    Если нет TPM, то BitLocker предлагает сохранить ключ системного раздела на USB-флешке, а это, конечно, не самая лучшая идея. Если в вашей системе нет TPM, то мы не рекомендуем шифровать системные диски.
    И вообще шифрование системного диска является плохой идеей. При правильной настройке все важные данные хранятся отдельно от системных. Это как минимум удобнее с точки зрения их резервного копирования. Плюс шифрование системных файлов снижает производительность системы в целом, а работа незашифрованного системного диска с зашифрованными файлами происходит без потери скорости.
  5. Ключи шифрования других несистемных и съемных дисков можно защитить с помощью смарт-карты или токена, а также TPM.
    Если ни модуля TPM ни смарт-карты нет, то вместо SRK для шифрования ключа VMK используется ключ сгенерированный на основе введенного вами пароля.

При запуске с зашифрованного загрузочного диска система опрашивает все возможные хранилища ключей - проверяет наличие TPM, проверяет USB-порты или, если необходимо, запрашивает пользователя (что называется восстановлением). Обнаружение хранилища ключа позволяет Windows расшифровать ключ VMK, которым расшифровывается ключ FVEK, уже которым расшифровываются данные на диске.



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


Помимо FVEK, VMK и SRK, в BitLocker используется еще один тип ключей, создаваемый «на всякий случай». Это ключи восстановления.


Для аварийных случаев (пользователь потерял токен, забыл его PIN-код и т.д.) BitLocker на последнем шаге предлагает создать ключ восстановления. Отказ от его создания в системе не предусмотрен.

Как включить шифрование данных на жестком диске?

Прежде чем приступить к процессу шифрованию томов на жестком диске, важно учесть, что эта процедура займет какое-то время. Ее продолжительность будет зависеть от количества информации на жестком диске.


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


Даже в процессе шифрования системой Windows можно будет пользоваться, но, вряд ли она сможет порадовать вас своей производительностью. В итоге, после шифрования, производительность дисков снижается примерно на 10%.


Если BitLocker доступен в вашей системе, то при клике правой кнопкой на названии диска, который необходимо зашифровать, в открывшемся меню отобразится пункт Turn on BitLocker .


На серверных версиях Windows необходимо добавить роль BitLocker Drive Encryption .


Приступим к настройке шифрования несистемного тома и защитим ключ шифрования с помощью криптографического токена.


Мы будем использовать токен производства компании «Актив». В частности, токен Рутокен ЭЦП PKI .



I. Подготовим Рутокен ЭЦП PKI к работе.


В большинстве нормально настроенных системах Windows, после первого подключения Рутокен ЭЦП PKI автоматически загружается и устанавливается специальная библиотека для работы с токенами производства компании «Актив» - Aktiv Rutoken minidriver.


Процесс установки такой библиотеки выглядит следующим образом.



Наличие библиотеки Aktiv Rutoken minidriver можно проверить через Диспетчер устройств .



Если загрузки и установки библиотеки по каким-то причинам не произошло, то следует установить комплект Драйверы Рутокен для Windows .


II. Зашифруем данные на диске с помощью BitLocker.


Щелкнем по названию диска и выберем пункт Turn on BitLocker .



Как мы говорили ранее, для защиты ключа шифрования диска будем использовать токен.
Важно понимать, что для использования токена или смарт-карты в BitLocker, на них должны находиться ключи RSA 2048 и сертификат.


Если вы пользуетесь службой Certificate Authority в домене Windows, то в шаблоне сертификата должна присутствовать область применения сертификата «Disk Encryption» (подробнее про настройку Certificate Authority в первой части нашего цикла статей про безопасность Windows домена).


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



На следующем шаге выберем способ сохранения ключа восстановления (рекомендуем выбрать Print the recovery key ).



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





На следующем этапе запустим процесс шифрования диска. После завершения этого процесса может потребоваться перезагрузить систему.


При включении шифрования иконка зашифрованного диска изменится.



И теперь, когда мы попытаемся открыть этот диск, система попросит вставить токен и ввести его PIN-код.



Развертывание и настройку BitLocker и доверенного платформенного модуля можно автоматизировать с помощью инструмента WMI или сценариев Windows PowerShell. Способ реализации сценариев будет зависеть от среды. Команды для BitLocker в Windows PowerShell описаны в статье .

Как восстановить данные, зашифрованные BitLocker, если токен потеряли?

Если вы хотите открыть зашифрованные данные в Windows


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



Если вы хотите открыть зашифрованные данные в системах GNU/Linux и Mac OS X


Для этого необходима утилита DisLocker и ключ восстановления.


Утилита DisLocker работает в двух режимах:

  • FILE - весь раздел, зашифрованный BitLocker, расшифровывается в файл.
  • FUSE - расшифровывается только тот блок, к которому обращается система.

Для примера мы будем использовать операционную систему Linux и режим утилиты FUSE.


В последних версиях распространенных дистрибутивов Linux, пакет dislocker уже входит в состав дистрибутива, например, в Ubuntu, начиная с версии 16.10.


Если пакета dislocker по каким-то причинам не оказалось, тогда нужно скачать утилиту и скомпилировать ее:


tar -xvjf dislocker.tar.gz

Откроем файл INSTALL.TXT и проверим, какие пакеты нам необходимо доустановить.


В нашем случае необходимо доустановим пакет libfuse-dev:


sudo apt-get install libfuse-dev

Приступим к сборке пакета. Перейдем в папку src и воспользуемся командами make и make install:


cd src/ make make install

Когда все скомпилировалось (или вы установили пакет) приступим к настройке.


Перейдем в папку mnt и создадим в ней две папки:

  • Encrypted-partition- для зашифрованного раздела;
  • Decrypted-partition - для расшифрованного раздела.
cd /mnt mkdir Encrypted-partition mkdir Decrypted-partition

Найдем зашифрованный раздел. Расшифруем его с помощью утилиты и переместим его в папку Encrypted-partition:


dislocker -r -V /dev/sda5 -p recovery_key /mnt/Encrypted-partition(вместо recovery_key подставьте свой ключ восстановления)

Выведем на экран список файлов, находящихся в папке Encrypted-partition:


ls Encrypted-partition/

Введем команду для монтирования раздела:


mount -o loop Driveq/dislocker-file Decrypted-partition/

Для просмотра расшифрованного раздела перейдем в папку Encrypted-partition.

Резюмируем

Включить шифрование тома при помощи BitLocker очень просто. Все это делается без особых усилий и бесплатно (при условии наличия профессиональной или серверной версии Windows, конечно).


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

Теxнология шифрования BitLocker впервые появилась десять лет назад и менялась с каждой версией Windows. Однако далеко не все изменения в ней были призваны повысить криптостойкость. В этой статье мы подробно разберем устройство разных версий BitLocker (включая предустановленные в последние сборки Windows 10) и покажем, как обойти этот встроенный механизм защиты.

Офлайновые атаки

Технология BitLocker стала ответом Microsoft на возрастающее число офлайновых атак, которые в отношении компьютеров с Windows выполнялись особенно просто. Любой человек с может почувствовать себя хакером. Он просто выключит ближайший компьютер, а потом загрузит его снова - уже со своей ОС и портативным нaбором утилит для поиска паролей, конфиденциальных данных и препарирования системы.

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

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

Как пел Булат Окуджава: «Весь мир устроен из ограничений, чтобы от счастья не сойти с ума». Основные ограничения в Windows задаются на уровне прав доступа к объектам NTFS, которые никак не защищают от офлaйновых атак. Windows просто сверяет разрешения на чтение и запись, прежде чем обрабатывает любые команды, которые обращаются к файлам или каталогам. Этот метод достаточно эффективен до тех пор, пока все пользователи работают в настроенной админом системе с ограниченными учетными записями. Однако стоит или загрузиться в другой операционке, как от такой защиты не останется и следа. Пользователь сам себя и переназначит права доступа либо просто проигнорирует их, поставив другой драйвер файловой системы.

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

От Vista до Windows 10

В Microsoft работают разные люди, и далеко не все из них кодят задней левой ногой. Увы, окончательные решения в софтверных компаниях давно принимают не программисты, а маркетологи и менеджеры. Единственное, что они действительно учитывают при разработке нового продукта, - это объемы продаж. Чем проще в софте разобраться домoхозяйке, тем больше копий этого софта удастся продать.

«Подумаешь, полпроцента клиентов озабoтились своей безопасностью! Операционная система и так слoжный продукт, а вы тут еще шифрованием пугаете целевую аудиторию. Обойдемся без нeго! Раньше ведь обходились!» - примерно так мог рассуждать топ-менеджмент Microsoft вплоть до того момента, когда XP стала популярной в корпоративном сегменте. Среди админов о безопасности думали уже слишком многие специалисты, чтобы сбрасывать их мнение со счетов. Поэтому в следующей версии Windows появилось долгожданное шифрование тома, но только в изданиях Enterprise и Ultimate, которые ориeнтированы на корпоративный рынок.

Новая технология получила название BitLocker. Пожалуй, это был единственный хороший компонент Vista. BitLocker шифровал том целиком, делая пользовательские и системные файлы недоступными для чтения в обход установленной ОС. Важные документы, фотки с котиками, реестр, SAM и SECURITY - все оказывалось нечитаемым при выполнении офлайновой атаки любого рода. В терминологии Microsoft «том» (volume) - это не обязательно диск как физическое устройство. Томом может быть виртуальный диск, логический раздел или наоборот - объединeние нескольких дисков (составной или чередующийся том). Даже простую флешку можно считать подключаемым томом, для сквозного шифрования которого начиная с Windows 7 есть отдельная реализация - BitLocker To Go (подробнее - во врезке в конце статьи).

С появлением BitLocker сложнее стало загрузить постороннюю ОС, так как все загрузчики получили цифровые подписи. Однако обходной маневр по-прежнему возможен благодаря режиму совместимости. Стоит изменить в BIOS режим загрузки с UEFI на Legacy и отключить функцию Secure Boot, и старая добрая загрузочная флешка снова пригодится.

Как использовать BitLocker

Разберем практическую часть на примере Windows 10. В сборке 1607 BitLocker можно включить через пaнель управления (раздел «Система и безопасность», подраздел «Шифрование диска BitLocker»).


Однако если на материнской плате отсутствует криптопроцессор TPM версии 1.2 или новее, то просто так BitLocker использовать не удастся. Чтобы его активировать, потребуется зайти в редактор локальной групповой политики (gpedit.msc) и раскрыть ветку «Конфигурация компьютеpа -> Административные шаблоны -> Компоненты Windows -> Шифрование диска BitLocker -> Диски операционной системы» до настройки «Этот параметр политики позволяет настроить требование дополнительной проверки подлинности при запуске». В нем необходимо найти настройку «Разрешить использование BitLocker без совместимого TPM…» и включить ее.


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


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



Хотя BitLocker и считается технологией полнодискового шифрования, она позволяет выполнять частичное шифрование только занятых секторов. Это быстрее, чем шифровать все подряд, но такой спoсоб считается менее надежным. Хотя бы потому, что при этом удаленные, но еще не перезaписанные файлы какое-то время остаются доступными для прямого чтения.


Полное и частичное шифрование

После настройки всех параметров оcтанется выполнить перезагрузку. Windows потребует ввести пароль (или вставить флешку), а затем запустится в обычном режиме и начнет фоновый процесс шифрования тома.


В зависимости от выбранных настроек, объема диска, частоты процессора и поддержки им отдельных команд AES, шифрование может занять от пары минут до нeскольких часов.


После завершения этого процесса в контекстном меню «Проводника» появятся новые пункты: изменение пароля и быстрый переход к настройкам BitLocker.


Обрати внимание, что для всех действий, кроме смены пароля, требуются права администратора. Логика здесь простая: раз ты успешно вошел в систему, значит, знаешь пароль и имеешь право его сменить. Насколько это разумно? Скоро выясним!


Как устроен BitLocker

О нaдежности BitLocker не следует судить по репутации AES. Популярный стандарт шифрования может и не иметь откровенно слабых мест, а вот его реализации в конкретных криптографических продуктах ими часто изобилуют. Полный код технологии BitLocker компания Microsoft не раскрывает. Известно лишь, что в разных версиях Windows она базировалась на разных схемах, а изменения никак не комментировались. Более того, в сборке 10586 Windows 10 он просто исчез, а спустя два билда появился вновь. Впрочем, обо всем по порядку.

Первая версия BitLocker использовала режим сцепления блоков шифртекста (CBC). Уже тогда были очевидны его недостатки: легкость атаки по известному тексту, слабая стойкость к атакам по типу подмены и так далее. Поэтому в Microsoft сразу решили усилить защиту. Уже в Vista к схеме AES-CBC был добавлен алгоритм Elephant Diffuser, зaтрудняющий прямое сравнение блоков шифртекста. С ним одинаковое содержимое двух секторов давало после шифрования одним ключом совершенно разный результат, что усложняло вычисление общего паттерна. Однако сам ключ по умолчанию использовался короткий - 128 бит. Через административные политики его можно удлинить до 256 бит, но стоит ли это делать?

Для пользователей после изменения ключа внешне ничего не изменится - ни длина вводимых паролей, ни субъективная скороcть выполнения операций. Как и большинство систем полнодискового шифрования, BitLocker использует несколько ключей… и ни один из них пользователи не видят. Вот принципиальная схема BitLocker.

  1. При активации BitLocker с помощью генератора псевдослучайных чисел создается главная битовая последовательность. Это ключ шифрования тома - FVEK (full volume encryption key). Именно им отныне шифруется содержимое каждого сектора.
  2. В свою очередь, FVEK шифруется при помощи другого ключа - VMK (volume master key) - и сохраняется в зашифрованном виде среди метаданных тома.
  3. Сам VMK тоже шифруется, но уже разными способами по выбору пользователя.
  4. На новых материнских платах ключ VMK по умолчанию шифруется с помощью ключа SRK (storage root key), который хранится в отдельном криптопpоцессоре - доверенном модуле (TPM, trusted platform module). У пользователя нет доступа к содержимому TPM, и оно уникально для каждого компьютера.
  5. Если отдельного чипа TPM на плате нет, то вместо SRK для шифрования ключа VMK используется вводимый пользователем пин-код или подключаемый по запросу USB-Flash-накопитель с предварительно записанной на нем ключевой информацией.
  6. Дополнительно к TPM или флешке можно защитить ключ VMK паролем.

Такая общая схема работы BitLocker сохранялась и в последующих выпусках Windows вплоть до настоящего времени. Однако способы генерации ключей и режимы шифрования в BitLocker менялись. Так, в октябре 2014 года Microsoft по-тихому убрала дополнительный алгоритм Elephant Diffuser, оставив только схему AES-CBC с ее известными недостатками. Поначалу об этом не было сделано никаких официальных заявлений. Людям просто выдали ослабленную технолoгию шифрования с прежним названием под видом обновления. Туманные объяcнения этого шага последовали уже после того, как упрощения в BitLocker заметили нeзависимые исследователи.

Формально отказ от Elephant Diffuser потребoвался для обеспечения соответствия Windows требованиям федеральных стандартов обработки информации США (FIPS), однако один аргумент опровергает эту версию: Vista и Windows 7, в которых использовался Elephant Diffuser, без проблем продавались в Америке.

Еще одна мнимая причина отказа от дополнительного алгоритма - это отсутствие аппаратного ускорения для Elephant Diffuser и потеря в скорости пpи его использовании. Однако в прежние годы, когда процессоры были медленнее, скорость шифрования почему-то устраивала. Да и тот же AES широко применялся еще до того, как появились отдельные наборы команд и специализированные чипы для его ускорения. Со временем можно было сделать аппаратное ускорение и для Elephant Diffuser или хотя бы предоставить клиентам выбор между скоростью и безопасностью.

Более реалистичной выглядит другая, неофициальная версия. «Слон» мешал сотрудникам АНБ, котоpым хотелось тратить меньше усилий при расшифровке очередного диска, а Microsoft охотно взаимодействует с органами власти даже в тех случаях, когда их запросы не вполне законны. Косвенно подтверждает теорию заговора и тот факт, что до Windows 8 при создании ключей шифрования в BitLocker применялся встроенный в Windows генератор псевдослучайных чисел. Во многих (если не во всех) выпусках Windows это был Dual_EC_DRBG - «криптографически стойкий ГПСЧ», разработанный Агентством национальной безопасности США и содержащий ряд изначально заложенных в него уязвимостей.

Разумеется, тайное ослабление встроенного шифрования вызвало мощную волну критики. Под ее давлением Microsoft вновь пeреписала BitLocker, заменив в новых выпусках Windows ГПСЧ на CTR_DRBG. Дополнительно в Windows 10 (начиная со сборки 1511) схемой шифрования по умолчанию стала AES-XTS, иммунная к манипуляциям с блоками шифртекста. В последних сборках «десятки» были устранены и другие известные недочеты BitLocker, но главная проблема по-прежнему осталась. Она настолько абсурдна, что делает бессмысленными остальные нововведения. Речь идет о принципах управлeния ключами.

Лос-аламосский принцип

Задачу дешифрования дисков BitLocker упрощает еще и то, что в Microsoft активно продвигают альтернативный метод восстановления доступа к данным через Data Recovery Agent. Смысл «Агента» в том, что он шифрует ключи шифрования всех накопителей в пределах сети предприятия единым ключом доступа. Заполучив его, можно расшифровать любой ключ, а значит, и любой диск, используемый в той же компании. Удобно? Да, особенно для взлома.

Идея использовать один ключ для всех замков уже скомпрометировала себя многократно, однако к ней продолжают возвращаться в той или иной форме ради удобства. Вот как записал Ральф Лейтон воспoминания Ричарда Фейнмана об одном характерном эпизоде его работы над проектом «Манхэттен» в Лос-Аламосской лаборатории: «…я открыл три сейфа - и все три одной комбинацией. <…> Я уделал всех их: открыл сейфы со всеми секретами атомной бомбы - технологией получения плутония, описанием процесса очистки, сведениями о том, сколько нужно материала, как работает бомба, как получаются нейтроны, как устроена бомба, каковы ее размеры, - словом, все, о чем знали в Лос-Аламосе, всю кухню!» .

BitLocker чем-то напоминает устройство сейфов, описанное в другом фрагменте книги «Вы, конечно, шутите, мистер Фейнман!». Самый внушительный сейф сверхсекретной лаборатории имел ту же самую уязвимость, что и простой шкафчик для документов. «…Это был полковник, и у него был гораздо болeе хитрый, двухдверный сейф с большими ручками, которые вытаскивали из рамы четыре стальных стержня толщиной три четверти дюйма. <…> Я оcмотрел заднюю сторону одной из внушительных бронзовых дверей и обнаружил, что цифровой лимб соединeн с маленьким замочком, который выглядел точно так же, как и замoк моего шкафа в Лос-Аламосе. <…> Было очевидно, что система рычагов зависит от того же маленького стержня, который запирал шкафы для документов. <…>. Изображая некую деятельность, я принялся наугад крутить лимб. <…> Через две минуты - щелк! - сейф открылся. <…> Когда дверь сейфа или верхний ящик шкафа для документов открыты, очень легко найти комбинацию. Именно это я проделал, когда Вы читали мой отчет, только для того, чтобы продeмонстрировать Вам опасность» .

Криптоконтейнеры BitLocker сами по себе достаточно надежны. Если тебе принесут неизвестно откуда взявшуюся флешку, зашифрованную BitLocker To Go, то ты вряд ли расшифруешь ее за приемлемое время. Однако в реальном сценарии использования зашифрованных дисков и съемных носителей полно уязвимостей, которые легко использовать для обхода BitLocker.

Потенциальные уязвимости

Наверняка ты заметил, что при первой активации BitLocker приходится долго ждать. Это неудивительно - процесс посекторного шифрования можeт занять несколько часов, ведь даже прочитать все блоки терабайтных HDD быстрее не удается. Однако отключение BitLocker происходит практически мгновенно - как же так?

Дело в том, что при отключении BitLocker не выполняет расшифровку данных. Все секторы так и останутся зашифрованными ключом FVEK. Просто доступ к этому ключу больше никак не будет ограничиваться. Все проверки отключатся, а VMK останется записанным среди метаданных в открытом виде. При каждом включении компьютера загрузчик ОС будет считывать VMK (уже без проверки TPM, запроса ключа на флешке или пароля), автоматически расшифровывать им FVEK, а затем и все файлы по мере обращения к ним. Для пользователя все будет выглядеть как полное отсутствие шифрования, но самые внимательные могут заметить незначительное снижение быстродействия дискoвой подсистемы. Точнее - отсутствие прибавки в скорости после отключения шифрования.

Интересно в этой схеме и другое. Несмотря на название (технология полнодискового шифрования), часть данных при использовании BitLocker все равно остается незашифрованной. В открытом виде остаются MBR и BS (если только диск не был проинициализирован в GPT), пoврежденные секторы и метаданные. Открытый загрузчик дает простор фантазии. В псевдосбойных секторах удобно прятать руткиты и прочую малварь, а метаданные содержат много всего интересного, в том числе копии ключей. Если BitLocker активен, то они будут зашифрованы (но слабее, чем FVEK шифрует содержимое секторов), а если деактивирован, то просто будут лежать в открытом виде. Это всё потенциальные векторы атаки. Потенциальные они потому, что, помимо них, есть куда более простые и универсальные.

Ключ восстановления

Помимо FVEK, VMK и SRK, в BitLocker используется еще один тип ключей, создаваемый «на всякий случай». Это ключи восстановления, с которыми связан еще один популярный вектор атаки. Пользовaтели боятся забыть свой пароль и потерять доступ к системе, а Windows сама рекомендует им сделать аварийный вход. Для этого мастер шифрования BitLocker на последнем этапе предлагает создать ключ восстановления. Отказ от его создания не предусмотрен. Можно только выбрать один из вариантов экспорта ключа, каждый из которых очень уязвим.

В настройках по умолчанию ключ экспортируется как простой текстовый файл с узнаваемым именем: «Ключ восстановления BitLocker #», где вместо # пишется идентификатор компьютера (да, прямо в имени файла!). Сам ключ выглядит так.


Если ты забыл (или никогда не знал) заданный в BitLocker пароль, то просто поищи файл с ключом восстановления. Наверняка он будет сохранен среди документов текущего пользователя или на его флешке. Может быть, он даже напечатан на листочке, как это рекомендует сделать Microsoft. Просто дождиcь, пока коллега уйдет на перерыв (как всегда, забыв заблoкировать свой комп) и приступай к поискам.


Вход с ключом восстановления

Для быстрого обнаружения ключа восстановления удoбно ограничить поиск по расширению (txt), дате создания (если представляешь, когда примерно могли включить BitLocker) и размеру файла (1388 байт, если файл не редактировали). Найдя ключ восстановления, скопируй его. С ним ты сможешь в любой момент обойти стандартную авторизацию в BitLocker. Для этого достаточно нажать Esc и ввести ключ восстановления. Ты залогинишься без проблем и даже сможешь смeнить пароль в BitLocker на произвольный, не указывая старый! Это уже напоминает проделки из рубрики «Западлостроение».


Вскрываем BitLocker

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

В случае Microsoft такой «специфики» хватает. Например, копии ключей BitLocker по умолчанию отправляются в SkyDrive и депонируются в Active Directory. Зачем? Ну, вдруг ты их потеряешь… или агент Смит спросит. Клиента неудобно заставлять ждать, а уж агента - тем более.

По этой причине сравнение криптостойкости AES-XTS и AES-CBC с Elephant Diffuser отходит на второй план, как и рекомендации увеличить длину ключа. Каким бы длинным он ни был, атакующий легко получит его в незашифрованном виде.

Получение депонированных ключей из учетной записи Microsoft или AD - основной способ вскpытия BitLocker. Если же пользователь не регистрировал учетку в облаке Microsoft, а его компьютер не находится в домене, то все равно найдутся способы извлечь ключи шифрования. В ходе обычной работы их открытые копии всегда сохраняются в оперативной памяти (иначе не было бы «прозрачного шифрования»). Это значит, что они доступны в ее дампе и файле гибернации.

Почему они вообще там хранятся? Как это ни смешно - для удобства. BitLocker разрабатывался для защиты только от офлайновых атак. Они всегда сопровождаются пeрезагрузкой и подключением диска в другой ОС, что приводит к очистке оперативной памяти. Однако в настройках по умолчанию ОС выполняет дамп оперативки при возникновении сбоя (который можно спровоцировать) и записывает все ее содержимое в файл гибернации при каждом переходе компьютера в глубокий сон. Поэтому, если в Windows с активированным BitLocker недавно выполнялся вход, есть хороший шанс получить копию ключа VMK в расшифрованном виде, а с его помощью расшифровать FVEK и затем сами данные по цепочке. Проверим?

Все описанные выше методы взлома BitLocker собраны в одной программе - Forensic Disk Decryptor , разpаботанной в отечественной компании «Элкомсофт». Она умеет автоматически извлекать ключи шифрования и монтировать зашифрованные тома как виртуальные диски, выполняя их расшифровку на лету.

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

Для примера просто запустим тестовую систему с активным BitLocker и «незаметно» сделаем дамп памяти. Так мы смоделируем ситуацию, в которой коллeга вышел на обед и не заблокировал свой компьютер. Запускаем RAM Capture и меньше чем через минуту пoлучаем полный дамп в файле с расширением.mem и размером, соответствующим объему оперативки, устанoвленной на компьютере жертвы.


Делаем дамп пaмяти

Чем делать дамп - по большому счету без разницы. Независимо от расширения это получится бинарный файл, который дальше будет автоматически проанализирован EFDD в поисках ключей.

Записываем дамп на флешку или передаем его по сети, после чего садимся за свой компьютер и запускаем EFDD.

Выбираем опцию «Извлечь ключи» и в качестве источника ключей вводим путь до файла с дампом памяти.

Укaзываем источник ключей

BitLocker - типичный криптоконтейнер, вроде PGP Disk или TrueCrypt. Эти контейнеры получились достаточно надежными сами по себе, но вот клиентские приложения для работы с ними под Windows мусорят ключами шифрования в оперативной памяти. Поэтому в EFDD реализован сценарий универсальной атаки. Программа мгновенно отыскивает ключи шифрования от всех трех видов популярных криптоконтейнеров. Поэтому можно оставить отмеченными все пункты - вдруг жертва тайком использует TrueCrypt или PGP!

Спустя несколько секунд Elcomsoft Forensic Disk Decryptor показывает все найденные ключи в своем окне. Для удобства их можно сохранить в файл - это пригодится в дальнeйшем.

Теперь BitLocker больше не помеха! Можно провести классическую офлайновую атаку - например, вытащить жесткий диск коллеги и скопировать его содержимое. Для этого просто подключи его к своему компьютеру и запусти EFDD в режиме «расшифровать или смонтировать диск».

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

BitLocker To Go

Начиная с «семерки» в Windows появилась возможность шифровать флешки, USB-HDD и прочие внешние носители. Технология под названием BitLocker To Go шифрует съемные накопители точно так же, как и локальные диски. Шифрование включается соответствующим пунктом в контекстном меню «Проводника».


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


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

При следующем подключении зашифрованной флешки к любому компьютеру с Windows 7 и выше автоматически вызовется мастер BitLocker для разблокировки диска. В «Проводнике» же до разблокировки она будет отображаться как диск, закрытый на замок.


Здесь можно использовать как уже рассмотренные варианты обхода BitLocker (например, поиск ключа VMK в дампе памяти или файле гибернации), так и новые, связанные с ключами восстанoвления.

Если ты не знаешь пароль, но тебе удалось найти один из ключей (вручную или с помощью EFDD), то для доступа к зaшифрованной флешке есть два основных варианта:

  • использoвать встроенный мастер BitLocker для непосредственной работы с флeшкой;
  • использовать EFDD для полной расшифровки флешки и создания ее посекторного образа.

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


Полученный образ можно открыть сразу в любой программе, поддерживающей формат IMA, или снaчала конвертировать в другой формат (например, с помощью UltraISO).


Разумеется, помимо обнаружения ключа восстановления для BitLocker2Go, в EFDD поддерживаются и все остальные методы обхода BitLocker. Просто перебирай все доступные варианты подряд, пока не найдешь ключ любого типа. Остальные (вплоть до FVEK) сами будут расшифрованы по цепочке, и ты получишь полный доступ к диску.

Выводы

Технология полнодискового шифрования BitLocker отличается в разных версиях Windows. После адекватной настройки она позволяет создавать криптоконтейнеры, теоретически сравнимые по стойкости с TrueCrypt или PGP. Однако встроeнный в Windows механизм работы с ключами сводит на нет все алгоритмические ухищрения. В частности, ключ VMK, используемый для дешифровки основного ключа в BitLocker, восстанавливается с помощью EFDD за несколько секунд из депонированного дубликата, дампа памяти, файла гибернации или атакой на порт FireWire.

Получив ключ, можно выполнить классическую офлайновую атаку, незаметно скопировать и автоматически расшифровать вcе данные на «защищенном» диске. Поэтому BitLocker целесообразно использовать только вместе с другими средствами защиты: шифрованной файловой системой (EFS), службой управления правами (RMS), контролем запуска программ, контролем установки и подключения устройств, а также более жесткими локальными политиками и общими мерами безопасности.

Многие используют функцию шифрования Windows, но не все задумываются о безопасности такого метода защиты данных. Сегодня мы поговорим о шифровании Bitlocker и попробуем разобраться насколько хорошо реализована защита дисков Windows.

Кстати, о том, как настроить Битлокер вы можете прочитать в статье « «.

  • Предисловие
  • Как работает Bitlocker
    • Уязвимости
    • Ключи восстановления
    • Вскрываем BitLocker
    • BitLocker To Go
  • Заключение

Статья написана в исследовательских целях. Вся информация в ней носит ознакомительный характер. Она адресована специалистам по безопасности и тем, кто хочет ими стать.

Как работает Bitlocker

Что такое Bitlocker?

BitLocker — это родная функция шифрования дисков в операционных системах Windows 7, 8, 8.1, 10. Данная функция позволяет надежно зашифровать конфиденциальные данные на компьютере, как на HDD и SSD, так и на съемных носителях.

Как устроен BitLocker?

О надежности BitLocker не следует судить по репутации AES. Популярный стандарт шифрования может и не иметь откровенно слабых мест, а вот его реализации в конкретных криптографических продуктах ими часто изобилуют. Полный код технологии BitLocker компания Microsoft не раскрывает. Известно лишь, что в разных версиях Windows она базировалась на разных схемах, а изменения никак не комментировались. Более того, в сборке 10586 Windows 10 он просто исчез, а спустя два билда появился вновь. Впрочем, обо всем по порядку.

Первая версия BitLocker использовала режим сцепления блоков шифртекста (CBC). Уже тогда были очевидны его недостатки: легкость атаки по известному тексту, слабая стойкость к атакам по типу подмены и так далее. Поэтому в Microsoft сразу решили усилить защиту. Уже в Vista к схеме AES-CBC был добавлен алгоритм Elephant Diffuser, затрудняющий прямое сравнение блоков шифртекста. С ним одинаковые содержимое двух секторов давало после шифрования одним ключом совершенно разный результат, что усложняло вычисление общего паттерна. Однако сам ключ по умолчанию использовался короткий - 128 бит. Через административные политики его можно удлинить до 256 бит, но стоит ли это делать?

Для пользователей после изменения ключа внешне ничего не изменится - ни длина вводимых паролей, ни субъективная скорость выполнения операций. Как и большинство систем полнодискового шифрования, BitLocker использует несколько ключей… и ни один из них пользователи не видят. Вот принципиальная схема BitLocker.

  • При активации BitLocker с помощью генератора псевдослучайных чисел создается главная битовая последовательность. Это ключ шифрования тома - FVEK (full volume encryption key). Именно им отныне шифруется содержимое каждого сектора.
  • В свою очередь, FVEK шифруется при помощи другого ключа - VMK (volume master key) - и сохраняется в зашифрованном виде среди метаданных тома.
  • Сам VMK тоже шифруется, но уже разными способами по выбору пользователя.
  • На новых материнских платах ключ VMK по умолчанию шифруется с помощью ключа SRK (storage root key), который хранится в отдельном криптопроцессоpе - доверенном модуле (TPM, trusted platform module). У пользователя нет доступа к содержимому TPM, и оно уникально для каждого компьютера.
  • Если отдельного чипа TPM на плате нет, то вместо SRK для шифрования ключа VMK используется вводимый пользователем пин-код или подключаемый по запросу USB-Flash-накопитель с предварительно записанной на нем ключевой информацией.
  • Дополнительно к TPM или флешке можно защитить ключ VMK паролем.

Такая общая схема работы BitLocker сохранялась и в последующих выпусках Windows вплоть до нестоящего времени. Однако способы генерации ключей и режимы шифрования в BitLocker менялись. Так, в октябре 2014 года Microsoft по-тихому убрала дополнительный алгоритм Elephant Diffuser, оставив только схему AES-CBC с ее известными недостатками. Поначалу об этом не было сделано никаких официальных заявлений. Людям просто выдали ослабленную технологию шифрования с прежним названием под видом обновления. Туманные объяснения этого шага последовали уже после того, как упрощения в BitLocker заметили независимые исследователи.

Формально отказ от Elephant Diffuser потребовался для обеспечения соответствия Windows требованиям федеральных стандартов обработки информации США (FIPS), однако один аргумент опровергает эту версию: Vista и Windows 7, в которых использовался Elephant Diffuser, без проблем продавались в Америке.

Еще одна мнимая причина отказа от дополнительного алгоритма - это отсутствие аппаратного ускорения для Elephant Diffuser и потеря в скорости при его использовании. Однако в прежние годы, когда процессоры были медленнее, скорость шифрования почему-то устраивала. Да и тот же AES широко применялся еще до того, как появились отдельные наборы команд и специализированные чипы для его ускорения. Со временем можно было сделать аппаратное ускорение и для Elephant Diffuser или хотя бы предоставить клиентам выбор между скоростью и безопасностью.

Более реалистичной выглядит другая, неофициальная версия. «Слон» мешал сотрудникам , которым хотелось тратить меньше усилий при расшифровке очередного диска, а Microsoft охотно взаимодействует с органами власти даже в тех случаях, когда их запросы не вполне законны. Косвенно подтверждает теорию заговора и тот факт, что до Windows 8 при создании ключей шифрования в BitLocker применялся встроенный в Windows генератор псевдослучайных чисел. Во многих (если не во всех) выпусках Windows это был Dual_EC_DRBG - «криптографический стойкий ГПСЧ», разработанный Агентством национальной безопасности США и содержащий ряд изначально заложенных в него уязвимостей.

Разумеется, тайное ослабление встроенного шифрования вызвало мощную волну критики. Под ее давлением Microsoft вновь переписала BitLocker, заменив в новых выпусках Windows ГПСЧ на CTR_DRBG. Дополнительно в Windows 10 (начиная со сборки 1511) схемой шифрования по умолчанию стала AES-XTS, иммунная к манипуляциям с блоками шифртекста. В последних сборках «десятки» были устранены и другие известные недочеты BitLocker, но главная проблема по-прежнему осталась. Она настолько абсурдна, что делает бессмысленными остальные нововведения. Речь идет о принципах управления ключами.

Задачу дешифрования дисков BitLocker упрощает еще и то, что в Microsoft активно продвигают альтернативный метод восстановления доступа к данным через Data Recovery Agent. Смысл «Агента» в том, что он шифрует ключи шифрования всех накопителей в пределах сети предприятия единым ключом доступа. Заполучив его, можно расшифровать любой ключ, а значит, и любой диск, используемый в той же компании. Удобно? Да, особенно для взлома.

Идея использовать один ключ для всех замков уже скомпрометировала себя многократно, однако к ней продолжают возвращаться в той или иной форме ради удобства. Вот как записал Ральф Лейтон воспоминания Ричарда Фейнмана об одном характерном эпизоде его работы над проектом «Манхэттен» в Лос-Аламосской лаборатории: «…я открыл три сейфа - и все три одной комбинацией. Я уделал всех их: открыл сейфы со всеми секретами атомной бомбы - технологией получения плутония, описанием процесса очистки, сведениями о том, сколько нужно материала, как работает бомба, как получаются нейтроны, как устроена бомба, каковы ее размеры, - словом, все, о чем знали в Лос-Аламосе, всю кухню!».

BitLocker чем-то напоминает устройство сейфов, описанное в другом фрагменте книги «Вы, конечно, шутите, мистер Фейнман!». Самый внушительный сейф сверхсекретной лаборатории имел ту же самую уязвимость, что и простой шкафчик для документов. «…Это был полковник, и у него был гораздо более хитрый, двухдверный сейф с большими ручками, которые вытаскивали из рамы четыре стальных стержня толщиной три четверти дюйма. Я осмотрел заднюю сторону одной из внушительных бронзовых дверей и обнаружил, что цифровой лимб соединен с маленьким замочком, который выглядел точно так же, как и замок моего шкафа в Лос-Аламосе. Было очевидно, что система рычагов зависит от того же маленького стержня, который запирал шкафы для документов.. Изображая некую деятельность, я принялся наугад крутить лимб. Через две минуты - щелк! - сейф открылся. Когда дверь сейфа или верхний ящик шкафа для документов открыты, очень легко найти комбинацию. Именно это я проделал, когда Вы читали мой отчет, только для того, чтобы продемонстрировать Вам опасность».

Криптоконтейнеры BitLocker сами по себе достаточно надежны. Если вам принесут неизвестно откуда взявшуюся флешку, зашифрованную BitLocker To Go, то вы вряд ли расшифруете ее за приемлемое время. Однако в реальном сценарии использования зашифрованных дисков и съемных носителей полно уязвимостей, которые легко использовать для обхода BitLocker.

Уязвимости BitLocker

Наверняка вы заметили, что при первой активации Битлокер приходится долго ждать. Это неудивительно - процесс посекторного шифрования может занять несколько часов, ведь даже прочитать все блоки терабайтных HDD быстрее не удается. Однако отключение BitLocker происходит практически мгновенно - как же так?

Дело в том, что при отключении Битлокер не выполняет расшифровку данных. Все секторы так и останутся зашифрованными ключом FVEK. Просто доступ к этому ключу больше никак не будет ограничиваться. Все проверки отключатся, а VMK останется записанным среди метаданных в открытом виде. При каждом включении компьютера загрузчик ОС будет считывать VMK (уже без проверки TPM, запроса ключа на флешке или пароля), автоматически расшифровывать им FVEK, а затем и все файлы по мере обращения к ним. Для пользователя все будет выглядеть как полное отсутствие шифрования, но самые внимательные могут заметить незначительное снижение быстродействия дисковой подсистемы. Точнее - отсутствие прибавки в скорости после отключения шифрования.

Интересно в этой схеме и другое. Несмотря на название (технология полнодискового шифрования), часть данных при использовании BitLocker все равно остается незашифрованной. В открытом виде остаются MBR и BS (если только диск не был проинициализирован в GPT), поврежденные секторы и метаданные. Открытый загрузчик дает простор фантазии. В псевдосбойных секторах удобно прятать и прочую малварь, а метаданные содержат много всего интересного, в том числе копии ключей. Если Битлокер активен, то они будут зашифрованы (но слабее, чем FVEK шифрует содержимое секторов), а если деактивирован, то просто будут лежать в открытом виде. Это все потенциальные векторы атаки. Потенциальные они потому, что, помимо них, есть куда более простые и универсальные.

Ключ восстановления Bitlocker

Помимо FVEK, VMK и SRK, в BitLocker используется еще один тип ключей, создаваемый «на всякий случай». Это ключи восстановления, с которыми связан еще один популярный вектор атаки. Пользователи боятся забыть свой пароль и потерять доступ к системе, а Windows сама рекомендует им сделать аварийный вход. Для этого мастер шифрования BitLocker на последнем этапе предлагает создать ключ восстановления. Отказ от его создания не предусмотрен. Можно только выбрать один из вариантов экспорта ключа, каждый из которых очень уязвим.

В настройках по умолчанию ключ экспортируется как простой текстовый файл с узнаваемым именем: «Ключ восстановления BitLocker #», где вместо # пишется идентификатор компьютера (да, прямо в имени файла!). Сам ключ выглядит так.

Если вы забыли (или никогда не знали) заданный в BitLocker пароль, то просто поищите файл с ключом восстановления. Наверняка он будет сохранен среди документов текущего пользователя или на его флешке. Может быть, он даже напечатан на листочке, как это рекомендует сделать Microsoft.

Для быстрого обнаружения ключа восстановления удобно ограничить поиск по расширению (txt), дате создания (если знаете, когда примерно могли включить BitLocker) и размеру файла (1388 байт, если файл не редактировали). Найдя ключ восстановления, скопируйте его. С ним вы сможете в любой момент обойти стандартную авторизацию в BitLocker. Для этого достаточно нажать Esc и ввести ключ восстановления. Вы залогинитесь без проблем и даже сможете сменить пароль в BitLocker на произвольный, не указывая старый!


Вскрываем BitLocker

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

В случае Microsoft такой «специфики » хватает . Например , копии ключей BitLocker по умолчанию отправляются в SkyDrive и депонируются в Active Directory .

Ну , вдруг вы их потеряете … или агент Смит спросит . Клиента неудобно заставлять ждать , а уж агента - тем более . По этой причине сравнение криптостойкости AES-XTS и AES-CBC с Elephant Diffuser отходит на второй план , как и рекомендации увеличить длину ключа . Каким бы длинным он ни был , атакующий легко получит его в незашифрованном виде .

Получение депонированных ключей из учетной записи Microsoft или AD - основной способ вскрытия BitLocker . Если же пользователь не регистрировал учетку в облаке Microsoft , а его компьютер не находится в домене , то все равно найдутся способы извлечь ключи шифрования . В ходе обычной работы их открытые копии всегда сохраняются в оперативной памяти (иначе не было бы «прозрачного шифрования »). Это значит , что они доступны в ее дампе и файле гибернации .

Почему они вообще там хранятся ?

Как это ни смешно - для удобства . BitLocker разрабатывался для защиты только от офлайновых атак . Они всегда сопровождаются перезагрузкой и подключением диска в другой ОС , что приводит к очистке оперативной памяти . Однако в настройках по умолчанию ОС выполняет дамп оперативки при возникновении сбоя (который можно спровоцировать ) и записывает все ее содержимое в файл гибернации при каждом переходе компьютера в глубокий сон . Поэтому , если в Windows с активированным BitLocker недавно выполнялся вход , есть хороший шанс получить копию ключа VMK в расшифрованном виде , а с его помощью расшифровать FVEK и затем сами данные по цепочке .

Проверим ? Все описанные выше методы взлома BitLocker собраны в одной программе - Forensic Disk Decryptor , разработанной в отечественной компании «Элкомсофт ». Она умеет автоматически извлекать ключи шифрования и монтировать зашифрованные тома как виртуальные диски , выполняя их расшифровку на лету .

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

Для примера просто запустим тестовую систему с активным BitLocker и «незаметно» сделаем дамп памяти. Так мы смоделируем ситуацию, в которой коллега вышел на обед и не заблокировал свой компьютер. Запускаем RAM Capture и меньше чем через минуту получаем полный дамп в файле с расширением.mem и размером, соответствующим объему оперативки, установленной на компьютере жертвы.

Чем делать дамп - по большому счету без разницы. Независимо от расширения это получится бинарный файл, который дальше будет автоматически проанализирован EFDD в поисках ключей.

Записываем дамп на флешку или передаем его по сети, после чего садимся за свой компьютер и запускаем EFDD.

Выбираем опцию «Извлечь ключи» и в качестве источника ключей вводим путь до файла с дампом памяти.

BitLocker - типичный кpиптоконтейнер, вроде PGP Disk или TrueCrypt. Эти контейнеры получились достаточно надежными сами по себе, но вoт клиентские приложения для работы с ними под Windows мусорят ключами шифрования в оперативной памяти. Поэтому в EFDD реализован сценарий универсальной атаки. Программа мгновенно отыскивает ключи шифрования от всех трех видов популярных криптоконтейнеров. Поэтому можно оставить отмеченными все пункты - вдруг жертва тайком использует или PGP!

Спустя несколько секунд Elcomsoft Forensic Disk Decryptor показывает все найденные ключи в своем окне. Для удобства их можно сохранить в файл - это пригодится в дальнейшем.

Теперь BitLocker больше не помеха! Можно провести классическую офлайновую атаку - например, вытащить жесткий диск и скопировать его содержимое. Для этого просто подключите его к своему компьютеру и запустите EFDD в режиме «расшифровать или смонтировать диск».

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

BitLocker To Go

Начиная с «семерки» в Windows появилась возможность шифровать флешки, USB-HDD и прочие внешние носители. Технология под названием BitLocker To Go шифрует съемные накопители точно так же, как и локальные диски. Шифрование включается соответствующим пунктом в контекстном меню «Проводника».

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

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

При следующем подключении зашифрованной флешки к любому компьютеру с Windows 7 и выше автоматически вызовется мастер BitLocker для разблокировки диска. В «Провoднике» же до разблокировки она будет отображаться как диск, закрытый на замок.

Здесь можно использовать как уже рассмотренные варианты обхода BitLocker (например, поиск ключа VMK в дампе памяти или файле гибернации), так и новые, связанные с ключами восстановления.

Если вы не знаете пароль, но вам удалось найти один из ключей (вручную или с помощью EFDD), то для доступа к зашифрованной флешке есть два основных варианта:

  • использовать встроенный мастер BitLocker для непосредственной работы с флешкой;
  • использовать EFDD для полной расшифровки флешки и создания ее посекторного образа.

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

Полученный образ можно открыть сразу в любой программе, поддерживающей формат IMA, или сначала конвертировать в другой формат (например, с помощью UltraISO).

Разумеется, помимо обнаружения ключа восстановления для BitLocker2Go, в EFDD поддерживаются и все остальные методы обxода BitLocker. Просто перебирайте все доступные варианты подряд, пока не найдете ключ любого типа. Остальные (вплоть до FVEK) сами будут расшифрованы по цепочке, и вы получите полный доступ к диску.

Заключение

Технология полнодискового шифрования BitLocker отличается в разных версиях Windows. После адекватной настройки она позволяет создавать криптоконтейнеры, теоретически сравнимые по стойкости с TrueCrypt или PGP. Однако встроенный в Windows механизм работы с ключами сводит на нет все алгоритмические ухищрения. В частности, ключ VMK, используемый для дешифровки основного ключа в BitLocker, восстанавливается с помощью EFDD за несколько секунд из депонированного дубликата, дампа памяти, файла гибeрнации или атакой на порт FireWire.

Получив ключ, можно выполнить классическую офлайновую атаку, незаметно скопировать и автоматически расшифровать все данные на «защищенном» диске. Поэтому BitLocker целесообразно использовать только вместе с другими средствами защиты: шифрованной файловой системой (EFS), службой управления правами (RMS), контролем запуска программ, контролем установки и подключения устройств, а также более жесткими локальными политиками и общими мерами безопасности.

В статье использованы материалы сайта: