Меры противодействия для защиты BitLocker

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

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

  • Шифрование жестких дисков на компьютере. Например, можно включить BitLocker для диска операционной системы, фиксированного диска с данными или съемного диска с данными (например, флэш-накопителя USB). Включение BitLocker для диска операционной системы приводит к шифрованию всех системных файлов на диске операционной системы, включая файлы подкачки и гибернации.

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

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

Защита перед запуском

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

Доверенный платформенный модуль

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

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

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

Дополнительные сведения о модуле TPM см. в разделе Доверенный платформенный модуль.

UEFI и безопасная загрузка

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

UEFI — это программируемая среда загрузки, позиционируемая как замена системе BIOS, которая оставалась практически неизменной на протяжении последних 30 лет. Аналогично BIOS, компьютеры запускают UEFI до всего остального программного обеспечения. UEFI инициализирует устройства, а затем запускает загрузчик операционной системы. Являясь входной точкой для среды, предшествующей загрузке ОС, UEFI выполнят ряд функций, однако одним из ключевых преимуществ этой системы остается защита новых устройств от сложных типов вредоносных программ, которые называются буткитам, благодаря функции безопасной загрузки.

Недавние реализации UEFI (начиная с версии 2.3.1) могут проверять цифровые подписи встроенного ПО устройства до его запуска. Поскольку только изготовитель оборудования компьютера имеет доступ к цифровому сертификату, необходимому для создания действительной подписи встроенного ПО, UEFI может предотвратить работу буткитов, основанных на встроенном ПО. Таким образом, UEFI является первым звеном в цепочке доверия.

Безопасная загрузка — это основа безопасности платформы и встроенного ПО. Она была разработана для повышения безопасности предзагрузочной среды независимо от архитектуры устройства. Благодаря использованию подписей при безопасной загрузке для проверки целостности образов встроенного ПО до их выполнения снижается риск атаки на загрузчики. Целью безопасной загрузки является блокировка ненадежного встроенного ПО и загрузчиков (подписанных и неподписанных), чтобы те не смогли запустить систему.

В традиционном процессе загрузки BIOS среда, загружавшаяся до операционной системы, была подтверждена атакам вследствие того, что работу загрузчика можно было нарушить с целью запуска вредоносных загрузчиков системы. Эти загрузчики могли оставаться незамеченными для операционной системы и средств борьбы с вредоносным ПО. Схема на рис. 1 противопоставляет процессы запуска, которые используются в BIOS и UEFI.

Процессы запуска в BIOS и UEFI

Рис. 1. Процессы запуска в BIOS и UEFI

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

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

Все устройства, сертифицированные для работы под управлением Windows 8, должны удовлетворять нескольким требованиям, связанным с безопасной загрузкой на основе UEFI.

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

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

  • Они должны разрешать пользователю настраивать безопасную загрузку для доверия другим подписанным загрузчикам.

  • За исключением устройств Windows RT, они должны разрешать пользователю полностью отключить безопасную загрузку.

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

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

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

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

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

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

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

Дополнительные сведения о безопасной загрузке см. в разделе Обеспечение безопасности процесса загрузки Windows 8.1.

Защита перед загрузкой: предзагрузочная проверка подлинности

Предзагрузочная проверка подлинности с помощью BitLocker — это процесс, который требует использования доверенного платформенного модуля (TPM), пользовательского ввода, например ПИН-кода, или и того и другого в зависимости от конфигурации оборудования и операционной системы, для проверки подлинности пользователя, прежде чем содержимое системного диска станет доступным. В случае использования BitLocker шифруется весь диск, включая системные файлы. BitLocker хранит и использует ключ шифрования в памяти только после того, как будет выполнена предзагрузочная проверка подлинности с помощью одного или нескольких из следующих средств: доверенного платформенного модуля (TPM), предоставления пользователем определенного ПИН-кода либо ключа запуска USB.

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

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

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

  • Только TPM. Проверка только с использованием TPM не требует участия пользователя в расшифровке и предоставлении доступа к диску. Если проверка TPM выполнена успешно, вход пользователя выполняется стандартным способом. Если модуль TPM отсутствует или изменен, а также если TPM обнаруживает что критически важные файлы запуска операционной системы были изменены, BitLocker переходит в режим восстановления, и пользователь должен ввести пароль восстановления, чтобы получить доступ к данным.

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

  • Модуль TPM с использованием ПИН-кода. Помимо защиты, которую обеспечивает модуль TPM, BitLocker требует ввода пользователем ПИН-кода. Данные на зашифрованном томе невозможно открыть без ввода ПИН-кода.

  • Модуль TPM с ключом запуска и ПИН-кодом. Помимо защиты ключевых компонентов, которую обеспечивает TPM, часть ключа хранится на флэш-накопителе USB, а для проверки подлинности пользователя при доступе к модулю TPM требуется ввод ПИН-кода. Эта конфигурация обеспечивает многофакторную проверку подлинности, так что если ключ USB будет потерян или украден, его нельзя будет использовать для доступа к диску, так как необходимо также ввести правильный ПИН-код.

Многие годы корпорация Майкрософт рекомендовала использовать предзагрузочную проверку подлинности для защиты от атак, основанных на прямом доступе к памяти и остаточной намагниченности памяти. Сегодня Майкрософт рекомендует использовать предзагрузочную проверку подлинности только на компьютерах, на которых невозможно реализовать меры, описанные в этом документе. Эти меры защиты могут быть реализованы в самом устройстве или могут быть настроены в конфигурации, которую ИТ-отдел предоставляет для устройств и Windows.

Несмотря на свою эффективность, предзагрузочная проверка подлинности создает некоторые неудобства для пользователей. Кроме того, если пользователь забывает свой ПИН-код или теряет ключ запуска, он не может получить доступ к данным, пока не свяжется с группой технической поддержки своей организации и не запросит ключ восстановления. Сегодня большинство новых компьютеров, работающих под управлением Windows 10, Windows 8.1 или Windows 8, обеспечивают достаточную защиту от атак прямого доступа к памяти без необходимости предзагрузочной проверки подлинности. Например, большинство современных компьютеров оснащено USB-портами (которые не подвержены атакам, основанным на принципе прямого доступа к памяти), однако не имеют портов FireWire или Thunderbolt (которые уязвимы для атак по принципу прямого доступа к памяти).

Устройства, зашифрованные BitLocker, с включенными портами прямого доступа к памяти, включая порты FireWire и Thunderbolt, должны быть настроены на использование предзагрузочной проверки подлинности, если они работают под управлением Windows 10, Windows 7, Windows 8 или Windows 8.1, тогда как отключение портов с помощью политики безопасности или конфигурации встроенного ПО не является приемлемым вариантом. Устройства InstantGo, работающие под управлением Windows 8.1 и более поздних версий, не нуждаются в предзагрузочной проверке подлинности для защиты от атак на порты по принципу прямого доступа к памяти, так как такие порты отсутствуют на сертифицированных устройствах. Устройства, отличные от InstantGo, которые работают под управлением Windows 8.1 и более поздних версий, нуждаются в предзагрузочной проверке подлинности, если порты прямого доступа к памяти включены и не реализованы другие меры, описанные в этом документе. Многие пользователи понимают, что порты прямого доступа к памяти на их устройствах никогда не используются, поэтому отключают сами порты или на уровне оборудования, или с помощью групповой политики.

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

Можно устранить риск загрузки вредоносной операционной системы.

  • Windows 10 (без безопасной загрузки), Windows 8.1 (без безопасной загрузки), Windows 8 (без безопасной загрузки на основе UEFI) или Windows 7 (с модулем TPM или без него). Отключите загрузку с внешнего носителя и установите обязательный пароль для встроенного ПО, чтобы злоумышленник не смог изменить этот параметр.

  • Windows 10, Windows 8.1 или Windows 8 (сертифицированная или с безопасной загрузкой. Защитите встроенное ПО паролем и не отключайте безопасную загрузку.

Защита во время запуска

Во время запуска Windows 10 использует доверенную загрузку и ранний запуск антивредоносной программы (ELAM) для проверки целостности каждого компонента. В приведенных ниже разделах эти технологии описываются более подробно.

Надежная загрузка

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

Windows 10 использует надежную загрузку на всех аппаратных платформах; при этом не требуется ни UEFI, ни TPM. Однако без безопасной загрузки вредоносное ПО может скомпрометировать процесс загрузки до запуска Windows, что позволит обойти или даже отключить надежную загрузку.

Ранний запуск антивредоносной программы

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

Целью раннего запуска антивредоносной программы является загрузка драйвера антивредоносной программы до выполнения драйверов, помеченных как необходимые для загрузки. Этот подход позволяет драйверу антивредоносной программы зарегистрироваться в качестве доверенного драйвера, критичного для загрузки. Он запускается во время надежной загрузки. Таким образом Windows гарантирует его загрузку до любого другого программного обеспечения сторонних производителей.

При реализации этого решения драйверы загрузки инициализируются на основе классификации, которую возвращает драйвер ELAM в соответствии с политикой инициализации. ИТ-специалисты могут изменить это поведение через групповую политику.

ELAM классифицирует драйверы следующим образом.

  • Хороший. Драйвер был подписан и не был взломан.

  • Плохой. Драйвер определен как вредоносное ПО. Рекомендуется не разрешать инициализацию известных плохих драйверов.

  • Плохой, но требуется для загрузки. Драйвер был определен как вредоносное ПО, однако компьютер не может запуститься без загрузки этого драйвера.

  • Неизвестный. Этот драйвер не был проверен приложением по определению вредоносного ПО или классифицирован драйвером загрузки ELAM.

Несмотря на то что приведенные выше функции защищают процесс загрузки Windows от угроз вредоносного ПО, которое может нарушить безопасность BitLocker, стоит отметить, что порты прямого доступа к памяти могут быть включены после того, как BitLocker разблокирует диск, и до того, как Windows загрузится до этапа применения настроенных политик, связанных с этими портами. В течение этого периода времени ключ шифрования подвержен атаке по принципу прямого доступа к памяти. На некоторых новых устройствах этот период продолжается меньше минуты, на других — дольше в зависимости от производительности системы. Для устранения возможности такой атаки можно использовать предзагрузочную проверку подлинности с ПИН-кодом.

Защита после запуска: устранение прямого доступа к памяти

Устройства InstantGo, сертифицированные для работы под управлением Windows, не имеют портов прямого доступа к памяти, что устраняет риск атак по принципу прямого доступа к памяти. На других устройствах можно отключить FireWire, Thunderbolt и другие порты, поддерживающие прямой доступ к памяти.

См. также