Когда Bitlocker разблокирует диск?

Sep 10 2020

Я хочу настроить конфигурацию двойной загрузки Windows 10 Pro + Debian на моем ноутбуке с TPM. Дело в том, что я хочу, чтобы разделы Windows и Linux были полностью зашифрованы Bitlocker. Я нашел руководство, позволяющее мне загружаться в Linux из загрузчика Windows, так что цепочка безопасной загрузки не разрывается. Я еще не пробовал, но это звучит многообещающе, и мне интересно, могу ли я использовать этот хак, чтобы заставить Bitlocker разблокировать мой диск перед загрузкой в ​​GRUB.

Это будет работать? Или можно еще проще?

edit: в Интернете существует множество потоков, которые, как мне кажется, отвечают на вопрос об установке незащищенного Linux рядом с win10, зашифрованным с помощью битлокера. это не то, что я имею в виду здесь

Ответы

1 user1686 Sep 11 2020 at 11:58

Интересно, могу ли я использовать этот хак, чтобы Bitlocker разблокировал мой диск перед загрузкой в ​​GRUB.

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

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

Другой режим - OPAL «аппаратное шифрование» - это полная противоположность: он делает запирать все это, и привод делает на самом деле остается незапертой после Загрузчик отпирает его. Может это то, что ты ищешь? Однако он поддерживается только несколькими моделями SSD (не жесткими дисками), он не получил особого доверия с точки зрения безопасности и вообще не кажется дружественным к двойной загрузке .

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

Собственно, именно так можно разорвать цепочку безопасной загрузки. У вас есть подписанный загрузчик (диспетчер загрузки Windows), и вы говорите ему запустить полностью произвольный загрузочный код без подписи на нем - именно то, что должна предотвратить интеграция с безопасной загрузкой BitLocker.

Кроме того, Secure Boot означает UEFI. Но в связанном руководстве говорится о загрузочном коде MBR, который здесь не применяется - процесс загрузки EFI совершенно другой. (Хотя большинство EFI имеют режим эмуляции совместимости с BIOS, он является взаимоисключающим с безопасной загрузкой.)


Кроме того, в UEFI диспетчер загрузки Windows отказывается запускать сторонние приложения EFI, даже если вы их добавили. Даже если у вас есть файлы EFI Linux, совместимые с безопасной загрузкой, и вы адаптируете команды bcdedit к EFI (например, grubx64.efi вместо mbr.bin), они все равно загрузят вас на экран ошибки.

Вы по- прежнему можете выполнять двойную загрузку, но вам нужно будет использовать собственное меню загрузки микропрограммы (обычно то, которое появляется при нажатии Esc или F8), когда вы решите загрузить Linux.


Примечание: поддержка TPM BitLocker на самом деле не требует безопасной загрузки; для работы требуется только журнал событий TPM. Это правда, что BitLocker предпочитает иметь доступную безопасную загрузку (чтобы он мог запечатать ключи диска по цепочке подписей, найденной в журнале событий), но если она недоступна, он будет использовать другую часть журнала событий, в которой записываются точные хэши. использованных загрузчиков и тому подобное.

Если вы запустите manage-bde c: -protectors -getрежим запечатывания без SB, это будет обозначено «PCR: 0, 1, 4, 7» или что-то в этом роде.

Обратной стороной этого режима является то, что он более чувствителен, например, к изменениям меню загрузки EFI или изменениям таблицы разделов, и особенно к обновлениям ядра / загрузчика Windows (поскольку все они хешируются и учитываются в PCR 0/1/4/7), поэтому вы всегда должен иметь под рукой числовой пароль восстановления. (Для сравнения, режим с поддержкой SB только запечатывает ключ от порядка загрузки и сертификатов подписи безопасной загрузки, поэтому он менее хрупок, но, возможно, также менее безопасен против атак перехода на более раннюю версию.)

BitLocker также сделает это, если безопасная загрузка доступна, но цепочка не полностью доверена. Например, даже если у вас есть подписанный и поддерживающий безопасную загрузку GRUB, вы все равно не можете связать GRUB → Windows - он загрузит ОС, да, но BitLocker по-прежнему будет настаивать на использовании базового уплотнения на основе PCR и откажется использовать Secure Пыльник с уплотнением.


Итак, в конце концов, если вы хотите использовать двойную загрузку на зашифрованных дисках, вам нужно будет позволить Windows и Linux делать свои собственные вещи: вы можете продолжать использовать BitLocker для разделов Windows, но Linux потребуется собственная расшифровка для своих собственный корневой раздел (предпочтительным вариантом является LUKS).

Тем не менее, являются относительно простые способы для достижения автоматического ТРМ на основе разблокировку для Linux, и они даже могут быть использованы системы с двойной загрузкой , не нарушая Windows.

(Разделы с общими данными могут продолжать использовать BitLocker - их ключи всегда основаны на файлах или паролях, никогда не запечатаны TPM, поэтому Linux может разблокировать их с помощью обычных инструментов, таких как Dislocker или cryptsetup.)

1 davidgo Sep 11 2020 at 03:21

Нет.

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

Я не уверен, что это возможно сделать то, что вы пытаетесь сделать, но если это возможно, потребуется дистрибутив / механизм Linux, который использует TPM и безопасную загрузку, а затем использует dislocker после загрузки Linux для расшифровки / монтирования раздела Windows. [Предполагая, что вы продолжаете идти по этому пути, а не идете в корень ВМ].

Вы не можете полностью защитить процесс загрузки, если используете для загрузки обычный GRUB, поскольку GRUB не поддерживает TPM и является частью процесса загрузки. (Есть такие вещи, как securegrub, которые могут помочь). На самом деле виртуальная машина Linux или WSL может быть более простым и безопасным решением.