Сможет ли UEFI обеспечить компьютерную безопасность?

22 Окт 2013

Сможет ли UEFI обеспечить компьютерную безопасность?

Технологии обеспечения безопасности в современных операционных системах базируются на присвоении выполняемым программным модулям одного из двух статусов.

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

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

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

BIOS Legacy Boot: беспечный и наивный

Одна из основных проблем Legacy Boot состоит в том, что описанный выше безопасный контекст создается в процессе старта операционной системы и имеет место только после ее загрузки. В момент, когда с загрузочного устройства считывается Master Boot Record (MBR) и управление передается загрузчику, находящемуся в нем, процессор работает в Real Mode и все системные ресурсы беззащитны перед действиями вредоносных программ. Кроме того, вирус, может выполнить переключение в Protected Mode и даже включить аппаратную виртуализацию. Тогда в статус пользовательской задачи с низкими привилегиями будет переведена «законная» операционная система.

В этом месте полезным может оказаться отсыл к реализациям Phoenix-Award BIOS, в которых безуспешно выполнялась антивирусная защита MBR (в частности, с помощью Trend Anti-Virus и тому подобных программных продуктов). Как всем известно, в процессе эксплуатации операционных систем Microsoft уже на начальном этапе пришлось отказываться от такого рода действий в силу того, что она просто мешали инсталляции Windows.


Рис 1. Опция Virus Warning по умолчанию в Phoenix-Award BIOS отключена

Отложенные ожидания UEFI

При UEFI Boot, в момент передачи управления загрузчику (например, модулю bootx64.efi), процессор уже переведен в 64-битный режим Protected Mode. Эту операцию выполнило firmware платформы, предварительно создав таблицы дескрипторов страниц и сегментов и получив статус супервизора. Тем не менее, проблема безопасности остается открытой, так как с целью обеспечения максимальной функциональности UEFI-приложений, передача управления от firmware к загрузочному модулю выполняется без понижения привилегий. Вирус может, например, создать и подключить собственные дескрипторные таблицы. Хотя, это ему и не требуется, ведь контекст, уже созданный firmware, позволяет беспрепятственно адресовать любой системный объект. Простой пример – работа утилиты UEFImark с ресурсами видео адаптера:

Результат работы программы UEFImark v0.96 на платформе ASUS Z87-K
Рис 2. Утилита UEFImark определяет параметры низкоуровневого контекста,
получая беспрепятственный доступ к аппаратным ресурсам платформы

UEFI Secure Boot стучит в двери

Технология Secure Boot для UEFI, призванная закрыть описанную уязвимость, основана на создании последовательности или цепи безопасной загрузки (Security Chain). Эта последовательность охватывает все этапы старта платформы, от передачи управления на System ROM по адресу FFFFFFF0h при аппаратном сбросе до запуска загрузчика с дискового устройства.


Рис. 3. Последовательность инициализации UEFI firmware
и загрузки операционной системы

При последовательном запуске модулей, обеспечивающих старт платформы, каждый модуль, передавая управление следующему, выполняет его верификацию. При этом используется электронная подпись или digital signature. Авторизованные разработчики модулей или trusted code creators, встраивают электронную подпись в каждую секцию выполняемого кода. Таким образом, родительская процедура может убедиться в отсутствии искажения или подмены дочерней процедуры, сравнив два значения сигнатуры: значение, вычисленное на основании содержимого секции и значение, хранящееся в секции.

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

Сегодня существует список авторизованных разработчиков или trusted signers. В него входят ведущие производители firmware для системных плат, Option ROM плат-адаптеров, загрузчиков, драйверов и UEFI-приложений. Компания Microsoft анонсировала программу, позволяющую разработчикам централизованно сертифицировать свои продукты с использованием Microsoft CA или centralized Certificate Authority:


Рис. 4. UEFI firmware использует EFI_AUTHENTICATION_INFO_PROTOCOL
для обеспечения UEFI Secure Boot

Резюме

Технология UEFI Secure Boot обеспечивает эффективную интеграцию средств обеспечения безопасности в UEFI firmware. Вместе с тем, не секрет, что развитие вредоносного программного обеспечения происходит динамично и разнообразно, поэтому ее можно рассматривать только как один из элементов обеспечения безопасной загрузки, наряду с такими инструментами, как TPM (Trusted Platform Module).

Существует еще один аспект применения Secure Boot: речь идет об использовании компанией Microsoft этой технологии в качестве конкурентного преимущества в борьбе за сферы влияния. Несмотря на многочисленные официальные опровержения такого сценария, опасения ряда экспертов связаны с тем, что крупные производители аппаратного и программного обеспечения, монополизировав процесс сертификации, смогут создать препятствия для использования продуктов сторонних разработчиков. Интрига усиливается тем, что вопрос касается не только операционных систем и приложений, но и плат расширения, содержащих firmware. Опасения такого рода давно стали объектом пристального внимания всего интернет-сообщества.

Теги: