Защита процесса загрузки Windows 10

Применимо к:

  • Windows 10
  • Windows8.1

Операционная система Windows имеет множество функций для защиты от вредоносных программ, и очень хорошо справляется с этой задачей. За исключением приложений, разрабатываемых организациями самостоятельно для внутреннего использования, все приложения Microsoft Store должны соответствовать ряду требований, чтобы пройти сертификацию и быть представленными в Microsoft Store. В процессе сертификации проверяется несколько критериев, включая безопасность. Этот процесс является эффективным средством защиты Microsoft Store от вредоносных программ. Даже если вредоносное приложение получится, в операционной системе Windows10 входит ряд функций безопасности, которые могут снизить последствия. Например, приложения Microsoft Store изолированы и не имеют разрешений, необходимых для доступа к данным пользователя или изменения параметров системы.

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

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

При запуске Windows 10 на компьютерах или любых компьютеров, которые поддерживают Единый расширяемый микропрограммный интерфейс (UEFI) надежная загрузка защищает компьютер от вредоносных программ с момента включения компьютера до запуска защиты от вредоносных программ. В случае заражения компьютера вредоносным ПО оно не сможет оставаться скрытым; надежная загрузка сможет подтвердить целостность системы вашей инфраструктуры таким образом, который вредоносное программное обеспечение не сможет скрыть. Даже на компьютерах без UEFI Windows10 обеспечивает более высокую безопасность при загрузке по сравнению с предыдущими версиями Windows.

Давайте сначала рассмотрим программы rootkit и то, как они работают. Затем мы покажем, как Windows10 сможет защитить вас.

Угроза: программы rootkit

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

Различные типы программ rootkit загружаются на различных этапах процесса запуска:

  • Программы rootkit встроенного ПО. Такие программы перезаписывают встроенное ПО BIOS компьютера и другого оборудования для запуска программ rootkit перед Windows.
  • Буткиты. Такие программы заменяют собой загрузчик операционной системы (небольшую программу, которая запускает операционную систему), чтобы компьютер загружал буткит перед загрузкой операционной системы.
  • Программы rootkit, работающие на уровне ядра. Эти программы заменяют собой часть ядра операционной системы, чтобы программа rootkit запускалась автоматически при загрузке операционной системы.
  • Драйверные программы rootkit. Эти программы выдают себя за один из надежных драйверов, используемых Windows для взаимодействия с оборудованием компьютера.

Меры противодействия

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

  • Безопасная загрузка. Компьютеры со встроенным ПО UEFI и доверенным платформенным модулем можно настроить на загрузку только надежных загрузчиков операционной системы.
  • Надежная загрузка. Windows проверяет целостность всех компонентов процесса запуска перед их загрузкой.
  • Ранний запуск защиты от вредоносных программ (ELAM). ELAM проверяет все драйверы перед их загрузкой и блокирует загрузку неутвержденных драйверов.
  • Измеряемая загрузка Встроенное ПО компьютера записывает в журнал процесс загрузки, и Windows 10 может отправлять этот журнал надежному серверу, который способен объективно оценить работоспособность компьютера.

В Figure1 показан процесс запуска Windows10.

Процесс запуска Windows10

Рисунок 1. Безопасная загрузка, надежная загрузка и измеряемая загрузка блокируют вредоносные программы на каждом этапе

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

В следующих разделах описаны безопасная загрузка, надежная загрузка, ELAM и измеряемая загрузка.

Безопасная загрузка

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

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

  • Загрузчик был подписан с использованием доверенного сертификата. В случае компьютеров, сертифицированных для Windows10, сертификат Microsoft® является надежным.
  • Пользователь вручную утвердил цифровую подпись загрузчика. Это позволяет пользователю загружать сторонние операционные системы.

Все сертифицированные для Windows10 компьютеров на базе x86 должны соответствовать нескольким требованиям, связанным с безопасной загрузкой:

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

Эти требования обеспечивают защиту от программ rootkit и позволяют запустить любую операционную систему по своему выбору. Существует три варианта запуска сторонних операционных систем.

  • Использование ОС с сертифицированным загрузчиком. Так как все сертифицированные для Windows10 ПК должны доверять сертификату Microsoft, корпорация Майкрософт предоставила услуги для анализа и подписывания любого загрузчика, не относящегося к корпорации Майкрософт, чтобы его можно было считать надежным для всех сертифицированных для Windows10 компьютеров. Собственно, загрузчик с открытым исходным кодом, поддерживающий загрузку Linux, уже доступен. Чтобы начать процесс получения сертификата, перейдите на http://partner.microsoft.com/dashboardвеб-странице.
  • Настройка UEFI на доверие пользовательскому загрузчику. Все сертифицированные для Windows10 компьютеров позволяют доверять несертифицированному загрузчику с помощью добавления подписи в базу данных UEFI, что позволяет запускать любые операционные системы, в том числе символизирующий операционные системы.
  • Отключение безопасной загрузки. Все сертифицированные для Windows10 компьютеров позволяют отключить безопасную загрузку, чтобы можно было запускать какое – либо программное обеспечение. Однако это не поможет защититься от буткитов.

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

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

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

Надежная загрузка начинает работать, когда заканчивается безопасная загрузка. Загрузчик проверяет цифровую подпись ядра Windows10 перед ее загрузкой. Ядро Windows10, в свою очередь, проверяет все остальные компоненты процесса запуска Windows, в том числе загрузочные драйверы, загрузочные файлы и ЕЛАМ. Если файл был изменен, загрузчик обнаруживает проблему и не загружает поврежденный компонент. Как правило, Windows10 может автоматически восстановить поврежденный компонент, восстановить целостность Windows и разрешить запуск компьютера в обычном режиме.

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

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

Ранний запуск антивредоносной программы (ELAM) может загрузить драйвер антивредоносного ПО Майкрософт или сторонних разработчиков перед загрузкой всех драйверов и приложений загрузки, отличных от Майкрософт, сохраняя таким образом цепочку доверия, установленную безопасной загрузкой и надежной загрузкой. Поскольку операционная система еще не запущена и ОС Windows необходимо загрузиться максимально быстро, у ELAM простая задача: изучить каждый драйвер загрузки и определить, входит ли он в список надежных драйверов. Если он не считается доверенным, Windows его не загружает.

Драйвер ELAM не является полнофункциональным решением для защиты от вредоносных программ; оно загружается позже в процессе загрузки. Защитник Windows (включенный в Windows10) поддерживает ЕЛАМ, как это делает Microsoft System Center2012 Endpoint Protection и несколькими антивредоносными приложениями, отличными от Microsoft.

Измеряемая загрузка

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

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

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

  1. Встроенное ПО UEFI компьютера хранит в доверенном платформенном модуле хэш встроенного ПО, загрузчик, загрузочные драйверы и все, что должно быть загружено до приложения для защиты от вредоносных программ.
  2. В конце процесса запуска Windows запускается клиент удаленной аттестации сторонних разработчиков. Сервер удаленной аттестации отправляет клиенту уникальный ключ.
  3. Доверенный платформенный модуль использует уникальный ключ для цифровой подписи журнала, записанного UEFI.
  4. Клиент отправляет журнал на сервер, иногда вместе с другими сведениями о безопасности.

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

Figure2 иллюстрирует измеряемый процесс загрузки и удаленной аттестации.

Измеряемая загрузка и процесс удаленной аттестации

Рисунок 2. Измеряемая загрузка демонстрирует работоспособность компьютера удаленному серверу

Windows10 включает интерфейс прикладного программирования для поддержки измеряемой загрузки, но вам понадобятся средства сторонних разработчиков для реализации удаленного клиента аттестации и доверенного сервера аттестации для использования его возможностей. В качестве примера такого инструмента можно скачать TPM Platform Crypto-Provider Toolkit от Microsoft Research или Measured Boot Tool от MVP Microsoft Enterprise Security Дэна Гриффина.

Измеряемая Загрузка использует мощь UEFI, TPM и Windows10, чтобы предоставить вам возможность уверенно оценивать надежность клиентского компьютера в сети.

Резюме

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

Дополнительные ресурсы