Interested Article - Intel Boot Guard

Intel Boot Guard ( Intel BG ) — технология, которая обеспечивает аппаратную защиту целостности загрузки BIOS , отслеживает несанкционированные блоки загрузки и запрещает их исполнение .

Для поддержки технологии BG Intel выпустила модуль аутентифицированного кода (ACM, Authenticated Code Module). Подписанный цифровой подписью Intel , ACM хранится внутри флеш-памяти вместе с BIOS и другими компонентами прошивки компьютера. С помощью ACM производитель оборудования ( OEM, Original Equipment Manufacturer ) настраивает BG .

Для реализации BG OEM включает новый компонент прошивки компьютера — начальный блок загрузки (IBB, Initial Boot Block), который загружается перед BIOS . В процесс загрузки компьютера добавляется этап проверки IBB. Начальный блок загрузки отвечает за проверку целостности BIOS , инициализацию памяти и загрузку BIOS в подсистему памяти. Так же, как и ACM, начальный блок загрузки хранится внутри флеш-памяти компьютера .

История создания

В 2003 году Intel , AMD , HP , IBM и Microsoft создали Группу Доверенных Вычислений ( ) — организацию, целью которой является разработка стандарта для производителей оборудования ( OEM, Original Equipment Manufacturer ), позволяющего обеспечить защиту системы от исполнения несанкционированного программного обеспечения. В рамках этой организации был разработан TPM (Trusted Platform Module) .

В 2013 году Intel выпустила микроархитектуру Haswell , одной из новшеств которой по сравнению с предыдущими поколениями является технология Boot Guard (BG), созданная в рамках . Технология BG также является частью архитектуры последующих поколений процессоров Intel Core .

Режимы работы и конфигурация

Технология Boot Guard (BG) поддерживает 3 режима работы:

  • Измеренная загрузка. Проверка целостности начального блока загрузки (IBB, Initial Boot Block) с использованием хеша , вычисляемого в криптопроцессоре TPM (Trusted Platform Module) .
  • Проверенная загрузка. Проверка целостности IBB с использованием схемы цифровой подписи . В данном режиме работы не используется криптопроцессор TPM , что снижает стоимость реализации .
  • Измеренная и проверенная загрузка. Проверка целостности IBB с использованием хеша , вычисляемого в криптопроцессоре TPM , а также с использованием схемы цифровой подписи .

Конфигурации BG, устанавливаемые производителями оборудования ( OEM, Original Equipment Manufacturer ), варьируются в зависимости от продукта . В первую очередь OEM отвечает за встраивание хеша своего публичного ключа для поддержки проверенной загрузки и настройку политик загрузки посредством системы безопасности и управления ( ME, Management Engine ) . Политики загрузки хранятся в программируемых предохранителях. Они определяют, какой режим защиты активирован и какие действия предпринимать в случае ошибки в модуле аутентифицированного кода (ACM, Authenticated Code Module) или в IBB .

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

Механизм измеренной загрузки реализован с использованием криптопроцессора TPM (Trusted Platform Module) . Хеш начального блока загрузки (IBB, Initial Boot Block) вычисляется и хранится в TPM . Программы, исполняемые на процессоре, не имеют доступа к TPM , и как следствие, к хешу IBB .

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

Проверенная загрузка

Механизм проверенной загрузки предлагает альтернативный принцип работы, не полагающийся на криптопроцессор TPM (Trusted Platform Module) или другие устройства. В ходе работы проверенной загрузки этапы загрузки выстраиваются в цепочку доверия , окончательным звеном которой являются программируемые предохранители — часть аппаратуры компьютера. Такой подход к проверке системы является более надежным по сравнению с программными решениями .

Манифесты

Манифест начального блока загрузки

Начальный блок загрузки (IBB, Initial Boot Block) ассоциирован с манифестом (IBBM, Initial Boot Block Manifest), состоящим из следующих полей:

  1. Номер версии безопасности
  2. Хеш SHA-256 начального блока загрузки
  3. Подпись RSA (1) и (2)
  4. Открытый ключ RSA IBBM, используемый для проверки (3)

Единственным назначением 2048-битной пары ключей RSA IBBM, устанавливаемых производителем оборудования ( OEM, Original Equipment Manufacturer ), является подпись (1) и (2). Закрытый ключ защищен OEM , а хеш открытого ключа хранится в программируемых предохранителях .

Манифест ключа

IBBM в свою очередь ассоциирован с манифестом ключа, состоящим из следующих полей:

  1. Номер версии безопасности
  2. Хеш SHA-256 открытого ключа RSA IBBM
  3. Подпись RSA (1) и (2)
  4. Открытый ключ RSA OEM , используемый для проверки (3)

Единственным назначением 2048-битной пары ключей RSA OEM является подпись (1) и (2). Закрытый ключ защищен OEM , а хеш открытого ключа хранится в программируемых предохранителях .

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

Оба номера проверяются системой безопасности и управления ( ME, Management Engine ) во время проверенной загрузки. В случаях, когда номер версии загружаемого манифеста больше, чем соответствующее значение, записанное в программируемых предохранителях, то программируется определённое количество предохранителей, чтобы отразить больший номер версии. Случаи, когда номер версии меньше соответствующего значения в предохранителях, являются индикатором атаки, при которой злоумышленник имеет доступ к флеш-памяти и заменяет более позднюю версию манифеста уязвимой более старой. В таких ситуациях ME реагирует в соответствии с политиками загрузки, настраиваемыми OEM .

Процесс проверки

Проверка начального блока загрузки (IBB, Initial Boot Block) — это совместная работа модуля аутентифицированного кода (ACM, Authenticated Code Module) и системы безопасности и управления ( ME, Management Engine ). ACM загружает прошивку начального блока загрузки и манифесты ключа и IBB из флеш-памяти , получает от ME хеш открытого ключа RSA производителя оборудования ( OEM, Original Equipment Manufacturer ), политики загрузки, собственный номер версии безопасности и номера версий безопасности двух манифестов и проверяет целостность IBB c помощью хеша открытого ключа RSA OEM . При необходимости ACM оповещает ME об обновлении номеров версии безопасности и применяет политики загрузки в случае ошибки или разрыве связи с ME . ME читает хеш открытого ключа RSA OEM , политики загрузки, номера версий безопасности ACM и манифестов из программируемых предохранителей и отправляет эту информацию ACM. При необходимости ME увеличивает номера версий безопасности ACM и манифестов в программируемых предохранителях и применяет политики загрузки в случае ошибки, разрыве связи с ACM или сбое проверки .

Обнаруженные уязвимости

В 2017 году в шести материнских платах компаний Asus , Lenovo , MSI и Gigabyte были обнаружены уязвимости, позволяющие обойти защитные механизмы BIOS, в частности Boot Guard . В октябре того же года Intel представила патчи , исправляющие некоторые из обнаруженных уязвимостей защитных механизмов BIOS .

Примечания

  1. : [ англ. ] : [ 29 ноября 2020 ].
  2. : Chapter 6. Boot with integrity, or Don't Boot : [ англ. ] : [ 28 августа 2020 ]. — Apres, 2014. — 263 p.
  3. Brian Berger. : [ англ. ] // Elsevier. — 2005. — Vol. 10. — P. 59—62.
  4. : [ англ. ] : [ 30 августа 2017 ].
  5. : [ англ. ] .
  6. : [ англ. ] : [ 1 января 2021 ].
  7. Patrick Georgi. : [ англ. ] : [ 8 ноября 2020 ] // 1. — 2015.
  8. : [ англ. ] : [ 29 ноября 2020 ].
  9. : [ англ. ] : [ 12 сентября 2020 ].

Литература

Источник —

Same as Intel Boot Guard