Intel Boot Guard
Intel Boot Guard (Intel BG) — технология, которая обеспечивает аппаратную защиту целостности загрузки BIOS, отслеживает несанкционированные блоки загрузки и запрещает их исполнение[1].
Для поддержки технологии BG Intel выпустила модуль аутентифицированного кода (ACM, Authenticated Code Module). Подписанный цифровой подписью Intel, ACM хранится внутри флеш-памяти вместе с BIOS и другими компонентами прошивки компьютера. С помощью ACM производитель оборудования (OEM, Original Equipment Manufacturer) настраивает BG[2].
Для реализации BG OEM включает новый компонент прошивки компьютера — начальный блок загрузки (IBB, Initial Boot Block), который загружается перед BIOS. В процесс загрузки компьютера добавляется этап проверки IBB. Начальный блок загрузки отвечает за проверку целостности BIOS, инициализацию памяти и загрузку BIOS в подсистему памяти. Так же, как и ACM, начальный блок загрузки хранится внутри флеш-памяти компьютера[2].
История создания
В 2003 году Intel, AMD, HP, IBM и Microsoft создали Группу Доверенных Вычислений (TCG, Trusted Computing Group) — организацию, целью которой является разработка стандарта для производителей оборудования (OEM, Original Equipment Manufacturer), позволяющего обеспечить защиту системы от исполнения несанкционированного программного обеспечения. В рамках этой организации был разработан TPM (Trusted Platform Module)[3].
В 2013 году Intel выпустила микроархитектуру Haswell, одной из новшеств которой по сравнению с предыдущими поколениями является технология Boot Guard (BG), созданная в рамках TCG[1]. Технология BG также является частью архитектуры последующих поколений процессоров Intel Core[4].
Режимы работы и конфигурация
Технология Boot Guard (BG) поддерживает 3 режима работы:
- Измеренная загрузка. Проверка целостности начального блока загрузки (IBB, Initial Boot Block) с использованием хеша, вычисляемого в криптопроцессоре TPM (Trusted Platform Module)[1].
- Проверенная загрузка. Проверка целостности IBB с использованием схемы цифровой подписи[1]. В данном режиме работы не используется криптопроцессор TPM, что снижает стоимость реализации[5].
- Измеренная и проверенная загрузка. Проверка целостности IBB с использованием хеша, вычисляемого в криптопроцессоре TPM, а также с использованием схемы цифровой подписи[2].
Конфигурации BG, устанавливаемые производителями оборудования (OEM, Original Equipment Manufacturer), варьируются в зависимости от продукта[6]. В первую очередь OEM отвечает за встраивание хеша своего публичного ключа для поддержки проверенной загрузки и настройку политик загрузки посредством системы безопасности и управления (ME, Management Engine)[2]. Политики загрузки хранятся в программируемых предохранителях. Они определяют, какой режим защиты активирован и какие действия предпринимать в случае ошибки в модуле аутентифицированного кода (ACM, Authenticated Code Module) или в IBB[6].
Измеренная загрузка
Механизм измеренной загрузки реализован с использованием криптопроцессора TPM (Trusted Platform Module). Хеш начального блока загрузки (IBB, Initial Boot Block) вычисляется и хранится в TPM. Программы, исполняемые на процессоре, не имеют доступа к TPM, и как следствие, к хешу IBB[7].
В ходе измеренной загрузки производится точное сравнение между текущим состоянием системы и известными эталонами компонент процесса загрузки. Измерения хранятся в TPM и доступны для локального и удаленного подтверждения. Если измерения соответствуют эталонам, то система помечается как надежная, иначе — как ненадежная и начинает следовать политикам загрузки для отступления[2][7].
Проверенная загрузка
Механизм проверенной загрузки предлагает альтернативный принцип работы, не полагающийся на криптопроцессор TPM (Trusted Platform Module) или другие устройства. В ходе работы проверенной загрузки этапы загрузки выстраиваются в цепочку доверия, окончательным звеном которой являются программируемые предохранители — часть аппаратуры компьютера. Такой подход к проверке системы является более надежным по сравнению с программными решениями[2].
Манифесты
Манифест начального блока загрузки
Начальный блок загрузки (IBB, Initial Boot Block) ассоциирован с манифестом (IBBM, Initial Boot Block Manifest), состоящим из следующих полей:
- Номер версии безопасности
- Хеш SHA-256 начального блока загрузки
- Подпись RSA (1) и (2)
- Открытый ключ RSA IBBM, используемый для проверки (3)
Единственным назначением 2048-битной пары ключей RSA IBBM, устанавливаемых производителем оборудования (OEM, Original Equipment Manufacturer), является подпись (1) и (2). Закрытый ключ защищен OEM, а хеш открытого ключа хранится в программируемых предохранителях[2].
Манифест ключа
IBBM в свою очередь ассоциирован с манифестом ключа, состоящим из следующих полей:
- Номер версии безопасности
- Хеш SHA-256 открытого ключа RSA IBBM
- Подпись RSA (1) и (2)
- Открытый ключ RSA OEM, используемый для проверки (3)
Единственным назначением 2048-битной пары ключей RSA OEM является подпись (1) и (2). Закрытый ключ защищен OEM, а хеш открытого ключа хранится в программируемых предохранителях[2].
Номер версии безопасности манифеста ключа позволяет OEM аннулировать пару ключей RSA IBBM в случае его взлома. При необходимости заменить пару ключей RSA IBBM, производитель оборудования сгенерирует новую пару ключей и поместит хеш открытого ключа в новый манифест ключа, одновременно увеличив номер версии безопасности. Номер версии безопасности IBBM покрывает начальный блок загрузки и позволяет производителю оборудования отменить и исправить его в случае уязвимости. При выпуске нового начального блока загрузки номер версии безопасности IBBM увеличивается[2].
Оба номера проверяются системой безопасности и управления (ME, Management Engine) во время проверенной загрузки. В случаях, когда номер версии загружаемого манифеста больше, чем соответствующее значение, записанное в программируемых предохранителях, то программируется определённое количество предохранителей, чтобы отразить больший номер версии. Случаи, когда номер версии меньше соответствующего значения в предохранителях, являются индикатором атаки, при которой злоумышленник имеет доступ к флеш-памяти и заменяет более позднюю версию манифеста уязвимой более старой. В таких ситуациях ME реагирует в соответствии с политиками загрузки, настраиваемыми OEM[2].
Процесс проверки
Проверка начального блока загрузки (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 или сбое проверки[2].
Обнаруженные уязвимости
В 2017 году в шести материнских платах компаний Asus, Lenovo, MSI и Gigabyte были обнаружены уязвимости, позволяющие обойти защитные механизмы BIOS, в частности Boot Guard[8]. В октябре того же года Intel представила патчи, исправляющие некоторые из обнаруженных уязвимостей защитных механизмов BIOS[9].
Примечания
- ↑ 1 2 3 4 New Microarchitecture for 4th Gen Intel Core Processor Platforms : [англ.] : [арх. 29 ноября 2020].
- ↑ 1 2 3 4 5 6 7 8 9 10 11 Platform Embedded Security Technology Revealed : Chapter 6. Boot with integrity, or Don't Boot : [англ.] : [арх. 28 августа 2020]. — Apres, 2014. — 263 p.
- ↑ Brian Berger. Trusted computing group history : [англ.] // Elsevier. — 2005. — Vol. 10. — P. 59—62.
- ↑ Premium Performance and Powerful Possibilities with 5th Generation Intel Core Processor Platforms : [англ.] : [арх. 30 августа 2017].
- ↑ Intel Hardware-based Security Technologies for Intelligent Retail Devices : [англ.].
- ↑ 1 2 Intel Cyber-Resiliency in Chipset and BIOS : [англ.] : [арх. 1 января 2021].
- ↑ 1 2 Patrick Georgi. Intel Boot Guard : [англ.] : [арх. 8 ноября 2020] // 1. — 2015.
- ↑ Betraying the BIOS: where the guardians of the BIOS are failing : [англ.] : [арх. 29 ноября 2020].
- ↑ Intel NUC BIOS Security Updates : [англ.] : [арх. 12 сентября 2020].
Литература
- Ruan X. Platform Embedded Security Technology Revealed — Apress, Berkeley, CA, 2014. — С. 263 — ISBN 978-1-4302-6572-6.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.