Руслан Рахметов, Security Vision
Одной из задач кибербезопасности является предотвращение несанкционированного доступа (сокращенно НСД) к защищаемой информации. Для получения такого доступа злоумышленники могут использовать самые разные техники кибератак, однако среди них есть такие, которые при должной подготовке хакеров и в отсутствии специфических средств защиты останутся незамеченными и для пользователей, и для ИБ-специалистов. Подобные способы кибератак нацелены на обход установленных мер защиты за счет прямого доступа к дисковой подсистеме защищаемого устройства, загрузки ОС с внешнего накопителя, внедрения сложных незаметных вирусов (буткитов, англ. bootkit). Для противодействия подобным кибератакам, которые требуют высокого уровня подготовки атакующих или даже физического доступа к устройству, существует целый класс специализированных средств защиты, которые называются средствами доверенной загрузки - им и посвящена данная статья.
В соответствии с определением из нормативных документов ФСТЭК России, средство доверенной загрузки - это программные и программно-технические средства, используемые в целях обеспечения защиты информации и реализующие функции по предотвращению НСД к программным и (или) техническим ресурсам средства вычислительной техники на этапе его загрузки. Иными словами, средство доверенной загрузки (сокращенно СДЗ), модуль доверенной загрузки (МДЗ) или аппаратно-программный модуль доверенной загрузки (АПМДЗ) - это программное или аппаратное средство защиты, защищающее процесс загрузки операционной системы (ОС). В соответствии с информационным письмом ФСТЭК России от 06.02.2014 г. № 240/24/405 «Об утверждении Требований к средствам доверенной загрузки», выделяются следующие типы СДЗ:
· Средства доверенной загрузки уровня базовой системы ввода-вывода;
· Средства доверенной загрузки уровня платы расширения;
· Средства доверенной загрузки уровня загрузочной записи.
Разберем данные типы СДЗ подробнее:
1. Средства доверенной загрузки уровня базовой системы ввода-вывода - это программные СДЗ, которые встраиваются в BIOS (Basic Input-Output system) и в UEFI (Unified Extensible Firmware Interface) для управления порядком загрузки ОС, контроля целостности BIOS/UEFI, проверки подлинности и целостности загружаемых модулей ОС (включая цепочку загрузки ОС, определенные файлы, реестр Windows), аутентификации пользователей (в том числе по паролю, включая доменный, по сертификату на USB-токене или смарткарте, по электронному ключу iButton (Touch Memory)), журналирования действий пользователя и администратора СДЗ. Эти меры помогают защититься от буткитов - сложных вирусов, которые встраиваются в BIOS/UEFI, контролируют работу атакованного устройства с этапа загрузки ОС и могут быть удалены только перезаписью BIOS/UEFI. Кроме того, СДЗ этого типа позволяют защитить устройства и от загрузки нештатной ОС, например, с внешнего накопителя с "хакерской" ОС.
2. Средства доверенной загрузки уровня платы расширения - это аппаратно-программные СДЗ (или модули АПМДЗ), которые реализуются в виде отдельной платы расширения стандартов PCI, PCI Express, mini-PCI Express, M.2. Такие платы устанавливаются внутри устройства (сервера, десктопа, ноутбука) и перехватывают управление порядком загрузки устройства, исключая загрузку ОС с внешних накопителей (флешек, CD/DVD-дисков, сетевых расположений и т.д.) и контролируя целостность программного и аппаратного обеспечения устройства, а также обеспечивая аутентификацию пользователей до загрузки ОС и журналирование их действий. Кроме того, в АПМДЗ реализован механизм сторожевого таймера (англ. watchdog), который обеспечивает контроль передачи управления устройством модулю СДЗ, а в случае сбоя выполняет аппаратное отключение питания устройства. Кроме того, в некоторых АПМДЗ присутствует генератор случайных чисел, используемый в совместимых СКЗИ (средствах криптографической защиты информации) для выработки надежных криптографических ключей.
3. Средства доверенной загрузки уровня загрузочной записи - это программные СДЗ, предназначенные для предотвращения НСД к ресурсам информационной системы при загрузке нештатной ОС или загрузке с нештатного загрузочного диска. СДЗ данного типа используют шифрование или нестандартное переформатирование главной загрузочной записи (англ. MBR, Master Boot Record), которая занимает первые 512 байт жесткого диска и содержит загрузчик ОС и информацию о разделах жесткого диска, что позволяет скрыть данные о структуре разделов жесткого диска для неаутентифицированного в СДЗ пользователя и обеспечить недоступность разделов жесткого диска при загрузке с нештатной ОС.
В общем случае, процесс загрузки устройства с установленным СДЗ состоит из следующих этапов:
1. Программное обеспечение BIOS/UEFI выполняет инициализацию ЦПУ, ОЗУ, внешних и внутренних интерфейсов материнской платы;
2. BIOS/UEFI передает управление модулю доверенной загрузки (СДЗ);
3. СДЗ выполняет самоконтроль целостности, аутентифицирует пользователя с помощью предъявленного им средства аутентификации (пароль, USB-токен, смарткарта, электронный ключ iButton), журналирует производимые действия, проверяет подлинность загружаемых модулей ОС;
4. СДЗ передает управление загрузчику ОС.
В качестве примера российских СДЗ, некоторые из которых вышли на отечественный ИБ-рынок еще в конце 90-х годов, можно перечислить следующие решения:
· Аккорд-АМДЗ
· ПАК «Соболь»
· Dallas Lock
· ViPNet SafeBoot
· АПМДЗ КРИПТОН-ЗАМОК
· Aladdin Trusted Security Module
Однако, концепция доверенной загрузки и выделенных аппаратных устройств для её обеспечения давно используется также и зарубежом - там они называются доверенными платформенными модулями или Trusted Platform Module (сокращенно TPM-модули). Такие модули являются миниатюрными криптопроцессорами, использующимися для выполнения операций выработки криптографических ключей, выполнения шифрования, расшифрования и цифровой подписи данных, а также оснащенными встроенной энергонезависимой памятью для хранения данных (криптографических ключей, сертификатов, служебной информации) и генератором случайных чисел. TPM-модули поддерживаются в ОС семейства Windows начиная с Windows Vista и Windows Server 2008, текущая актуальная версия спецификации TPM - 2.0, ревизия 01.59. Модули TPM могут быть дискретными (размещенными на материнской плате в виде отдельного чипа) или интегрированными в ЦПУ (технологии называются Intel Platform Trust Technology и AMD fTPM).
Популярность TPM-чипов резко возросла в середине 2021 года с выходом ОС Windows 11, для установки которой обязательно требуется наличие TPM - новость об этом требовании на некоторое время даже привела к дефициту дискретных TPM-модулей на рынке. На функционале TPM основывается множество методов защиты устройств от физических атак и воздействия сложных вирусов (буткитов): так, TPM-модуль обеспечивает надежную работу технологии Secure Boot для контроля целостности и подлинности UEFI, загрузчика ОС, критичных компонентов ОС (включая ядро ОС, модули ядра ОС и драйверы устройств). Кроме того, в TPM-модуле встроена защита от несанкционированного доступа и вредоносного воздействия на хранящиеся в нём данные.
Еще одна функция TPM-модуля в ОС семейства Windows - управление технологией шифрования данных Windows BitLocker, которая позволяет выполнять полнодисковое шифрование накопителей, а также предотвращает доступ к данным на жестком диске при попытке загрузки сторонней ОС с внешних накопителей, при изменении аппаратной конфигурации устройства, при попытке доступа к жесткому диску после установки его в другое устройство. В системах на базе Linux технология шифрования накопителей (Linux Unified Key Setup, LUKS) также поддерживает использование TPM-чипов для управления ключами шифрования дисков.
В заключение дадим несколько практически полезных советов администраторам безопасности по использованию штатного функционала устройств и современных ОС:
1. Технология Secure Boot поддерживается в ОС Windows и Linux, но может быть по умолчанию отключена в UEFI, поэтому рекомендуется включить и настроить её на использование TPM-модуля;
2. При использовании технологий полнодискового шифрования (BitLocker, LUKS) следует использовать функционал TPM-модуля, устанавливать дополнительный стойкий пароль для разблокировки доступа к зашифрованному диску (TPM+PIN), а также обеспечивать безопасное хранение ключей восстановления BitLocker и LUKS;
3. При использовании Windows BitLocker не рекомендуется активировать функционал Network Unlock (автоматическая разблокировка BitLocker при нахождении устройства в доменной сети) - при необходимости выполнения перезагрузки устройства без привлечения пользователя для ввода пароля (в случае использования схемы TPM+PIN) можно воспользоваться штатным функционалом "приостановки BitLocker" (англ. suspend BitLocker);
4. В настройках BIOS/UEFI следует установить корректный порядок загрузки (первым - жесткий диск с ОС), отключить функционал PXE и Wake-on-LAN (если не используется), а также установить пароль на изменение настроек BIOS/UEFI - эта простейшая мера не позволит злоумышленникам изменить порядок загрузки;
5. Рекомендуется опечатывать корпуса устройств специальными голографическими наклейками, которые разрушаются при попытке вскрытия корпусов и могут послужить доказательством попыток несанкционированного доступа к их «внутренностям».