Типы атак для ключей шифрования томов

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

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

Атаки bootkit и rootkit

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

Различные типы программ bootkit и rootkit загружаются на разных уровнях программного обеспечения.

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

  • Уровень приложений. Эти программы rootkit стремятся заменить двоичные файлы приложений вредоносным кодом, например программой-трояном, и могут даже изменять поведение существующих приложений.

  • Уровень библиотеки. Цель программ rootkit — перехватить, модифицировать или заменить системные вызовы вредоносным кодом, который может скрыть вредоносную программу.

  • Уровень низкоуровневой оболочки. Программы rootkit уровня низкоуровневой оболочки предназначены для последовательности загрузки. Их основная задача — изменить последовательность, чтобы загрузить себя в качестве низкоуровневой оболочки.

  • Уровень встроенного ПО. Эти программы rootkit перезаписывают встроенное ПО BIOS, предоставляя вредоносной программе доступ низкого уровня и возможность устанавливать или скрывать вредоносные программы, даже если они удалены с жесткого диска.

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

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

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

Защита паролем конфигурации UEFI важна для защиты конфигурации устройств и предотвращения отключения безопасной загрузки злоумышленником, но крайне важно использовать доверенный платформенный модуль и измерения регистра конфигурации платформы (PCR7) для подтверждения отсутствия модификаций загрузчика системы (решение шифрования Windows или стороннее решение) и проверки кода, который выполняется на устройстве первым. Решение шифрования, которое не использует доверенный платформенный модуль устройства, чтобы защитить свои компоненты от изменения, может быть подвержено заражению на уровне bootkit, благодаря чему злоумышленник получит пароль пользователя или ключи шифрования.

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

Любые изменения конфигурации UEFI делают PCR7 недействительным, а пользователю при этом необходимо ввести ключ восстановления BitLocker. Из-за этой особенности защита конфигурации UEFI паролем не критична. Если злоумышленники успешно отключают безопасную загрузку или иным образом меняют конфигурацию UEFI, им понадобится ввести ключ восстановления BitLocker, но при этом все равно рекомендуется защищать UEFI паролем. Кроме того, это обязательно для систем без доверенного платформенного модуля (например, систем сторонних поставщиков).

Атаки на данные входа методом подбора

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

Существуют три возможности для атак методом подбора.

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

  • Против ключа восстановления. Злоумышленник может попытаться угадать 48-разрядный ключ восстановления BitLocker. Даже без периода блокировки ключ достаточно длинный, что делает атаки методом подбора практически неприемлемыми. В частности, энтропия ключа восстановления BitLocker составляет 128 разрядов. Таким образом, средняя атака методом подбора преуспеет после 18 446 744 073 709 551 616 попыток. Если злоумышленник сможет перебирать 1 миллион паролей в секунду, для успешной атаки методом подбора в среднем потребуется более 580 000 лет.

  • Против проверки подлинности данных входа операционной системы. Злоумышленник может попытаться угадать допустимое имя пользователя и пароль. Windows применяет задержку между попытками ввода пароля, замедляя атаки методом подбора. Кроме того, все последние версии Windows позволяют администраторам принудительно применять сложные пароли и блокировки. Аналогично администраторы могут использовать политику Microsoft Exchange ActiveSync или групповую политику, чтобы автоматически перезагружать Windows 8.1 или Windows 8 и запрашивать ввод 48-разрядного ключа восстановления BitLocker после указанного числа неудачных попыток. Если эти параметры включены и пользователи следуют рекомендациям для сложных паролей, атаки методом подбора против данных входа операционной системы практически неприменимы.

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

Атаки с прямым доступом к памяти

Прямой доступ к памяти (DMA) позволяет некоторым типам устройств взаимодействовать напрямую с системной памятью. Например, если вы используете Thunderbolt, чтобы подключить другое устройство к компьютеру, второе устройство автоматически получает права на чтение и запись в память целевого компьютера.

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

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

Не все типы портов уязвимы к атакам DMA. USB, в частности, не допускает прямого доступа к памяти, но устройства со следующими типами портов уязвимы:

  • FireWire;

  • Thunderbolt;

  • ExpressCard;

  • PCMCIA;

  • PCI;

  • PCI-X;

  • PCI Express.

Для атаки DMA злоумышленники обычно подключают второй компьютер со средством сканирования памяти (например, Passware или ElcomSoft) к порту FireWire или Thunderbolt целевого компьютера. После подключения программное обеспечение проверяет системную память компьютера и находит ключ шифрования. Полученный ключ можно использовать, чтобы расшифровать диск и прочитать или изменить его содержимое.

Теоретически существует гораздо более эффективная форма этой атаки: злоумышленник создает специальное устройство FireWire или Thunderbolt с запрограммированной логикой атаки DMA. Теперь злоумышленнику просто нужно физически подключиться к устройству. Если у злоумышленников нет физического доступа, они могут замаскировать свое устройство как бесплатное USB-устройство флэш-памяти и распространять его среди сотрудников целевой организации. После подключения вредоносное устройство может использовать атаку DMA для поиска ключа шифрования в памяти компьютера. Затем оно может передать ключ (или любые данные в памяти компьютера), используя подключение компьютера к Интернету или собственное беспроводное подключение. Для атак такого типа требуется очень высокий уровень подготовки, так как злоумышленнику необходимо создать специальное устройство (устройства подобного рода нет на рынке в настоящее время).

Сегодня один из самых распространенных способов использования портов DMA на устройствах Windows — отладка, которую необходимо выполнять разработчикам, но не пользователям. Поскольку порты USB, DisplayPort и другие более надежные типы портов удовлетворяют потребностям потребителей, большинство новых мобильных компьютеров не оснащены портами DMA. Корпорация Майкрософт считает, что из-за уязвимости, свойственной портам DMA, их не следует размещать на мобильных устройствах, поэтому Майкрософт запрещает их для устройств с сертификатом InstantGo. Устройства InstantGo обеспечивают возможности управления питанием и мгновенного включения, аналогичные функциям мобильных телефонов. Во время подготовки данной статьи ими располагали в основном планшеты с Windows.

Гнезда расширения DMA — еще одно направление для атаки, но они обычно используются только на настольных компьютерах, предназначенных для расширения. Организации могут использовать физические средства для защиты своих настольных компьютеров от атак извне. Кроме того, для атаки DMA против разъема расширения потребуется специальное устройство. В результате в большинстве случаев злоумышленник вставит интерфейс с традиционным портом DMA (например, FireWire) в гнездо компьютера.

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

Атаки против файла Hyberfil.sys

Файл hyberfil.sys — это файл гибернации Windows. Он содержит снимок памяти системы, который создается, когда устройство переходит в режим гибернации, в том числе ключ шифрования для BitLocker и других технологий шифрования. Злоумышленники заявляют, что они успешно извлекали ключи шифрования из файла hyberfil.sys.

Как и в случае с атаками на порты DMA, описанные в предыдущем разделе, доступны инструменты, которые могут просмотреть файл hyberfile.sys и найти ключ шифрования, например инструменты, созданные Passware. Корпорация Майкрософт не считает Windows уязвимой для атак этого типа, так как файл hyberfil.sys в Windows хранится на зашифрованном системном томе. Из-за этого файл будет доступен, только если у злоумышленника есть физический доступ к компьютеру и данные для входа в систему. Если у злоумышленников есть данные для входа на компьютер, у них есть основания расшифровать диск, поскольку они уже получили полный доступ к данным на нем.

На практике атака на файл hyberfil.sys обеспечивает дополнительный доступ, только если администратор изменил конфигурацию Windows по умолчанию и сохранил файл hyberfil.sys на незашифрованном диске. Windows 10 изначально защищена от атак этого типа.

Атаки против остаточной памяти

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

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

Для получения ключей злоумышленники выполняют следующие действия.

  1. Заморозка памяти компьютера. Например, злоумышленник может заморозить память до температуры −50 °C, распылив аэрозоль.

  2. Перезагрузка компьютера.

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

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

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

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

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

  • Безопасная загрузка блокирует вредоносные инструменты, необходимые для проведения принстонской атаки, на целевом устройстве.

  • Системы Windows с BIOS или UEFI можно заблокировать паролем, а загрузку с USB-накопителя можно отключить.

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

  • Скорость разрядки памяти сильно различаются для разных устройств, и многие из них оснащены модулями памяти, полностью неуязвимыми к атакам против остаточной памяти.

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

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

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

См. также: