Security boot нет в биосе: Нету Secure Boot в BIOS? — Хабр Q&A

Содержание

Впечатления от Linux Mint 21.1 на игровом компьютере

Этот материал написан посетителем сайта, и за него начислено вознаграждение.

Открыв практически любую статью или видео с обзором новых версий Linux Mint или Ubuntu мы видим, как автор лихо жонглирует сложными терминами, постоянно подчеркивает преимущество Linux над Windows, запускает любые игры, активно использует терминал и легко решает небольшие проблемы операционной системы. А в конце обязательно следует вывод о том, что полноценная замена Windows наконец-то готова и вам достаточно установить на свой компьютер один из дистрибутивов Linux и забыть как страшный сон про глючную, не оптимизированную и нестабильную Windows.

Как вы догадываетесь, если бы дело обстояло именно так, то доля пользователей Linux давно бы стала настолько весомой, что ОС стала серьезным конкурентом Windows. Но на самом деле в апреле 2023 года по статистике компании StatCounter доля пользователей Linux составляет всего 2.83% на ПК и все еще очень далека от Windows. Чтобы понять, почему так происходит, я сегодня покажу вам, как выглядит Linux в глазах обычного пользователя, достаточно опытного для установки и настройки любых версий Windows, но мало знакомого с Linux.

рекомендации

Это не значит, что я совсем незнаком с Linux, я уже не раз ставил на свой ПК Linux Mint и Ubuntu, настраивал их и решал многочисленные проблемы. Но каждый раз после затрат времени передо мной вставал вопрос — «ради чего?», и я возвращался в привычный и комфортный Windows. Одним словом, если интернет работает и Google под рукой, я могу решить много проблем на Linux, но вот если оставить меня с ней один на один, то я не вспомню ни одной команды для терминала.

Для этого эксперимента я выбрал Linux Mint 21.1 «Vera», считающийся стабильным и отлаженным дистрибутивом, скачав его с официально сайта и записав на флешку с помощью утилиты Rufus. Устанавливать Linux Mint я буду на ПК с Ryzen 5 5600X, GeForce RTX 3060, 32 ГБ ОЗУ и SATA SSD.

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

А вот что всегда не нравилось, так это процедура разметки диска, которая как была слишком сложна для новичка, так и осталась. Да, мы можем установить Linux рядом с Windows, или полностью отдать в его распоряжение физический диск, но удалить старый Windows с диска C, и установить на него Linux, не повредив данные на диске D — слишком сложно и здесь можно напортачить.

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

Попробовав загрузиться с флешки с Linux Mint, я получил вот такую ошибку.

Интуитивно догадавшись, что дело связано с Secure Boot, я отключил эту опцию в BIOS и все заработало. И вот перед нами строгий и лаконичный Linux Mint с огромным количеством предустановленного софта.

Есть Mozilla Firefox, можно сразу смотреть YouTube, но декодирование видео ложится на процессор, так как драйвера на видеокарту ОС не установила. 

Так же можно смотреть изображения, слушать музыку, работать в офисных программах и смотреть фильмы — это плюс.

А теперь идем на сайт NVIDIA и скачиваем новые драйвера с расширением «RUN».

Попытка их установить выдала вот такую ошибку.

Я решил не тратить время на «гуглеж», и не выпендриваться и установил драйвера из менеджера драйверов.

Думаю, вы уже заметили, я выставил масштаб Рабочего стола в 150% и, как оказалось, эту простейшую функцию в Linux Mint так и не заставили работать нормально. Приложения теперь думают, что разрешение моего экрана не Full HD, а 2560х1440 и шрифты становятся даже меньше, чем без масштабирования. Например, в Steam.

Теперь попробуем игры и начнем со старых, например, с Enclave, которая, как я помню, шла у меня с глюками на Linux Mint пару лет назад. Устанавливаем, запускаем и получаем маленькое окошечко, которое тоже не понимает масштабирования в ОС и выдает артефакт на рабочем столе.

Хорошо, выставляем полноэкранный режим и получаем… черный экран, отключившийся монитор и тишину. Ничего себе, подумал я — Enclave сломала мне комп и перезагрузил ПК. Когда после перезагрузки проблема повторилась, я понял, что игра самовольно переключает дисплеи из режима дублирования(зеркалирования) в режим одного экрана, тушит монитор и выводит картинку и звук на выключенный телевизор.

А при попытке все вернуть можно заметить вот такой баг со сжавшимся (наверное, от стыда) стартовым меню.

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

Но я лучше попробую запускать уже установленные в Windows игры. Для чего достаточно кликнуть ПКМ по exe-файлу игры и выбрать запуск через PortProton. Почему здесь фото экрана? Оказывается, Linux Mint не может сделать скриншот вот такого открытого меню стандартными средствами.

И после этого игра просто запускается. Чтобы делать скриншоты, я перешел в оконный режим, так как искать и ставить софтину для снятия скриншотов из игр уже не было сил.

Как и искать работающую утилиту для внутриигрового оверлея. Mangohud, предназначенный для этого, установился, но не запускался. Еще из игр я попробовал Fallout 4, Heroes of Might and Magic V. А в Horizon Zero Dawn прогнал встроенный бенчмарк, среднее количество кадров меньше, чем в Windows почти в два раза, но играть можно!

А вот в Shadow of the Tomb Raider результат точно такой же, как и в Windows. 

Как и пару лет назад, Linux Mint оставил неоднозначные впечатления. Вроде бы все выглядит красиво и работает, но столько огрехов и мелких проблем выводят из себя. Даже двухмониторная конфигурация ПК с масштабом изображения 150% оказывается слишком сложной задачей для Linux. А вот утилита PortProton очень порадовала — именно этого не хватало в Linux для игрового ПК, простого запуска игр через exe-файл. А именно игры — это шанс для Linux стать популярнее.

Я понимаю, что опытные пользователи Linux уже пишут в комментарии — «Надо было всего лишь установить…», «Надо было только ввести команду…», но сегодня мы смотрели на Linux Mint глазами обычного пользователя, который не получит от Linux ничего такого, что бы оправдало бы таких затрат времени на борьбу с множеством проблем. 

Стоит отметить, что для Linux Mint, если вы захотите установить его второй системой, лучше всего завести отдельный SSD-накопитель, например, недорогую 2.5″ модель с интерфейсом SATA объемом 240-256 ГБ: KINGSPEC P3-256, Kingston A400 или Digma Run S9. 


Пишите в комментарии, а как вы относитесь к Linux?

Блоги автора Zystax обо всем, что связано с компьютерами, Windows и играми. 

Этот материал написан посетителем сайта, и за него начислено вознаграждение.

5 способов исправить это

Убедитесь, что CSM отключен в BIOS

by Владимир Попеску

Владимир Попеску

Ответственный редактор

Будучи художником всю свою жизнь, а также играя в гандбол на профессиональном уровне, Владимир также развил страсть ко всему, что связано с компьютерами. С врожденным обаянием… читать далее

Обновлено

Рассмотрено
Алекс Сербан

Алекс Сербан

Windows Server & Networking Expert

Отойдя от корпоративного стиля работы, Алекс нашел вознаграждение в образе жизни постоянного анализа, координации команды и приставания к своим коллегам. Обладание сертификатом MCSA Windows Server… читать далее

Партнерская информация

  • Эта проблема могла возникнуть из-за включения модуля поддержки совместимости или из-за того, что ваш BIOS устарел.
  • В этом руководстве обсуждаются все возможные исправления и причины проблемы.

XУСТАНОВИТЬ, щелкнув файл загрузки

Для устранения различных проблем с ПК мы рекомендуем Restoro PC Repair Tool:
Это программное обеспечение исправит распространенные компьютерные ошибки, защитит вас от потери файлов, вредоносного ПО, аппаратного сбоя и оптимизирует ваш компьютер для достижения максимальной производительности. Исправьте проблемы с ПК и удалите вирусы прямо сейчас, выполнив 3 простых шага:

  1. Загрузите Restoro PC Repair Tool , который поставляется с запатентованными технологиями (патент доступен здесь).
  2. Нажмите Начать сканирование , чтобы найти проблемы Windows, которые могут вызывать проблемы с ПК.
  3. Нажмите Восстановить все , чтобы устранить проблемы, влияющие на безопасность и производительность вашего компьютера.
  • Restoro скачали 0 читателей в этом месяце.

Если на странице «Информация о системе» параметр «Безопасная загрузка» отключен, но в BIOS он отображается как «Активный», это может сбивать с толку. Однако это может быть связано с некоторыми неправильно настроенными настройками в BIOS, и это можно исправить, выполнив несколько шагов.

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

Что вызывает проблему с включенной, но неактивной безопасной загрузкой?

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

  • Функция безопасной загрузки отключена  – Проверьте, не установлено ли для параметра «Безопасная загрузка» в настройках встроенного ПО UEFI значение «Отключено»; эта функция не будет работать, даже если она технически включена. Так что перепроверьте настройки в биосе, чтобы быть уверенным.
  • CSM включен — если модуль поддержки совместимости включен в настройках UEFI, вы можете увидеть, что безопасная загрузка не является активной проблемой. Было бы лучше, если бы вы отключили его, чтобы получить опцию безопасной загрузки.
  • BIOS устарел — если BIOS не обновлен, возможно, он не поддерживает функцию безопасной загрузки. Посетите веб-сайт производителя, чтобы загрузить и установить обновления BIOS, чтобы включить эту функцию.
  • Проверка на вирусы — Если ваш компьютер заражен вредоносными программами или вирусами, вы можете увидеть, что безопасная загрузка не активна. Вам необходимо запустить сканирование на наличие вредоносных программ с помощью инструмента безопасности.

Что делать, если безопасная загрузка включена, но не активна?

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

  •  Проверьте наличие обновлений Windows
  • Операционная система должна быть настроена для поддержки безопасной загрузки.
  • Ваше устройство должно иметь действительную подпись безопасной загрузки.

1. Обновите BIOS

  1. Нажмите клавишу Windows , введите CMD и нажмите Запуск от имени администратора .
  2. Введите следующую команду, чтобы проверить версию BIOS, и нажмите Enter: wmic bios get smbiosbiosversion
  3. Затем откройте веб-сайт производителя устройства или откройте приложение-помощник, если оно предоставлено производителем. В демонстрационных целях мы используем инструмент HP Support Assistant.
  4. Откройте приложение. Перейдите к Обновления , затем нажмите Проверить наличие обновлений .
  5. Если доступно обновление, загрузите и установите BIOS.

2. Отключить CSM

  1. Нажмите Windows + I , чтобы открыть Настройки .
  2. Перейдите к System , затем щелкните Recovery .
  3. Теперь в разделе Advanced Startup щелкните Restart now .
  4. Из окна Выберите вариант выберите Устранение неполадок .
  5. Теперь выберите Дополнительные параметры .
  6. В окне Дополнительные параметры выберите Параметры прошивки UEFI .
  7. Нажмите Перезапустить .
  8. Компьютер перезагрузится и предложит вам несколько вариантов. Сначала выберите соответствующий вариант входа в BIOS.
  9. Перейдите на вкладку Boot или вкладку Security , выберите CSM и выберите Disabled .
  10. Теперь перейдите на вкладку Выход и выберите Сохранить изменения и выйти .

3. Сменить платформу

  1. Войдите в режим BIOS, используя метод, описанный выше.
  2. Перейдите к System Mode и выберите User вместо Setup .
  3. Теперь найдите Secure Boot Mode и выберите Custom , если выбран Standard .
  4. Затем снова измените его на Standard .
  5. Теперь перейдите на вкладку Выход и выберите Сохранить изменения и выйти .

4. Правильно включите безопасную загрузку

  1. Снова войдите в BIOS, используя метод, указанный в методе 2.
  2. В меню Boot или Security выберите Secure boot .
  3. Выберите Включено . Теперь переключитесь на вкладку Exit и выберите Сохранить изменения и выйти .

5. Просканируйте компьютер на наличие вредоносных программ 

  1. Нажмите клавишу Windows , введите Безопасность Windows и нажмите кнопку Открыть .
  2. Перейдите к Защита от вирусов и угроз и нажмите Параметры сканирования .
  3. Теперь выберите Полное сканирование и нажмите Сканировать сейчас .
  4. После завершения сканирования удалите все найденные вредоносные файлы.

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

Проблемы остались? Исправьте их с помощью этого инструмента:

СПОНСОРЫ

Если приведенные выше советы не помогли решить вашу проблему, возможно, на вашем компьютере возникли более серьезные проблемы с Windows. Мы рекомендуем загрузить этот инструмент для восстановления ПК (оценка «Отлично» на TrustPilot.com), чтобы легко устранять их. После установки просто нажмите кнопку Start Scan , а затем нажмите Repair All.

Эта статья охватывает:Темы:

  • BIOS

Была ли эта страница полезной?


Начать разговор

Делиться

Копировать ссылку

Новостная рассылка

Программное обеспечение сделок

Пятничный обзор

Я согласен с Политикой конфиденциальности в отношении моих персональных данных

История аппаратной безопасной загрузки

Загрузка. ..

17 ноября 2020 г. 12:00

  • Дерек Чаморро

  • Райан Чоу

Как охранная компания, мы гордимся тем, что находим инновационные способы защиты нашей платформы, которые, в свою очередь, защищают данные наших клиентов. Частью этого подхода является внедрение прогрессивных методов защиты нашего оборудования в масштабе. Несмотря на то, что мы писали в блогах о том, как мы боремся с угрозами безопасности от приложений до памяти, количество атак на аппаратное обеспечение, а также на микропрограммы значительно увеличилось. Данные, занесенные в Национальную базу данных уязвимостей (NVD), показали, что частота уязвимостей на уровне оборудования и встроенного ПО растет год от года.

Такие технологии, как безопасная загрузка, распространенные на настольных компьютерах и ноутбуках, были перенесены в серверную отрасль в качестве метода борьбы с атаками на уровне встроенного ПО и защиты целостности загрузки устройства. Эти технологии требуют, чтобы вы создали «якорь» доверия, авторитетный объект, для которого доверие предполагается, а не выводится. Распространенным якорем доверия является системная базовая система ввода-вывода (BIOS) или прошивка Unified Extensible Firmware Interface (UEFI).

Хотя это гарантирует, что устройство загружает только подписанные микропрограммы и загрузчики операционной системы, защищает ли это весь процесс загрузки? Что защищает прошивку BIOS/UEFI от атак?

Процесс загрузки

Прежде чем мы обсудим, как мы защищаем наш процесс загрузки, мы сначала рассмотрим, как мы загружаем наши машины.

На изображении выше показана следующая последовательность событий:

  • После включения питания системы (через контроллер управления основной платой (BMC) или физического нажатия кнопки в системе) система безоговорочно выполняет прошивку UEFI, находящуюся на флэш-памяти. чип на материнской плате.
  • UEFI выполняет некоторую аппаратную и периферийную инициализацию и выполняет код Preboot Execution Environment (PXE), представляющий собой небольшую программу, которая загружает образ по сети и обычно находится на флэш-чипе сетевой карты.
  • PXE настраивает сетевую карту, загружает и запускает небольшой загрузчик программы через загрузочную прошивку с открытым исходным кодом, называемую iPXE.
  • iPXE загружает сценарий, который автоматизирует последовательность команд, чтобы загрузчик знал, как загрузить определенную операционную систему (иногда несколько). В нашем случае он загружает наше ядро ​​Linux, initrd (содержит драйверы устройств, которые не компилируются напрямую в ядро) и стандартную корневую файловую систему Linux. После загрузки этих компонентов запускается загрузчик и передает управление ядру.
  • Наконец, ядро ​​Linux загружает все необходимые дополнительные драйверы и запускает приложения и службы.

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

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

Платформенный ключ (PK): Он служит криптографическим корнем доверия для безопасной загрузки, предоставляя возможность манипулировать и/или проверять другие компоненты. среды безопасной загрузки.

Доверенная база данных (БД): Содержит подписанный (по ключу платформы) список хэшей всех дополнительных ПЗУ PCI, а также открытый ключ, который используется для проверки подписи загрузчика и ядра при загрузке.

Эти переменные являются соответственно открытым ключом основной платформы, который используется для подписи всех других ресурсов, и базой данных списка разрешений, содержащей другие сертификаты, хэши двоичных файлов и т. д. В сценариях безопасной загрузки по умолчанию по умолчанию используются ключи Microsoft. В Cloudflare мы используем собственные, что делает нас корнем доверия для UEFI:

Но, установив наш якорь доверия в прошивке UEFI, какие векторы атак все еще существуют?

Атаки на UEFI

Как указывалось ранее, количество атак на встроенное ПО и аппаратное обеспечение растет. Из рисунка ниже видно, что количество уязвимостей, связанных с прошивкой, значительно увеличилось за последние 10 лет, особенно с 2017 года, когда хакерское сообщество начало атаковать прошивку на разных платформах: , показывает, что доверять прошивке становится все труднее.

Заражая образ прошивки UEFI, вы отравляете всю цепочку доверия загрузки. Возможность доверять целостности прошивки важна не только для безопасной загрузки. Например, если вы не можете быть уверены, что микропрограмма не будет скомпрометирована, вы не можете доверять таким вещам, как точность измерений модуля доверенной платформы (TPM), потому что микропрограмма сама отвечает за выполнение этих измерений (например, TPM не механизм безопасности на пути, но вместо этого для взаимодействия и взаимодействия требуется прошивка). Микропрограмма может быть создана для расширения измерений, принимаемых удаленным аттестатором, но не представляющих то, что загружается локально. Это может привести к тому, что прошивка будет иметь сомнительную измеренную загрузку и процедуру удаленной аттестации.

Если мы не можем доверять прошивке, то аппаратное обеспечение становится нашей последней линией обороны.

Аппаратный корень доверия

В начале этого года мы сделали серию сообщений в блоге о том, почему мы выбрали процессоры AMD EPYC для наших серверов Gen X. Помня о безопасности, мы начали включать доступные нам функции и изложили план использования кремния AMD в качестве аппаратного корня доверия (HRoT).

Platform Secure Boot (PSB) — это реализация AMD аппаратной целостности загрузки. Почему это лучше, чем корень доверия на основе прошивки UEFI? Потому что он предназначен для утверждения с помощью корня доверия, закрепленного в оборудовании, целостности и подлинности образа системного ПЗУ до того, как он сможет выполниться. Он делает это, выполняя следующие действия:

  • Аутентифицирует первый блок BIOS/UEFI перед сбросом процессоров x86.
  • Проверяет подлинность содержимого системной постоянной памяти (ПЗУ) при каждой загрузке, а не только во время обновлений.
  • Перемещает цепочку доверия UEFI Secure Boot на неизменное оборудование.

Это достигается процессором безопасности платформы AMD (PSP), микроконтроллером ARM Cortex-A5, который является неотъемлемой частью системы на кристалле (SoC). PSB состоит из двух компонентов:

Встроенное загрузочное ПЗУ

  • Внедряет хэш SHA384 корневого ключа подписи AMD
  • Проверяет и затем загружает внешний загрузчик PSP, расположенный в загрузочной флэш-памяти

Выкл. chip Boot l oader

  • Находит таблицу каталогов PSP, которая позволяет PSP находить и загружать различные образы
  • Аутентифицирует первый блок кода BIOS/UEFI
  • Освобождает ЦП после успешной аутентификации
  1. PSP защищает код встроенного загрузочного ПЗУ, загружает внешнее микропрограммное обеспечение PSP в статическую оперативную память (SRAM) PSP после аутентификации микропрограммного обеспечения и передает ему управление.
  2. Внешний загрузчик (BL) загружает и указывает приложения в определенном порядке (независимо от того, переходит ли система в состояние отладки, а затем безопасный двоичный интерфейс приложения EFI с BL)
  3. Система продолжает инициализацию через каждый загрузчик этап.
  4. Если каждый этап пройден, то загружается образ UEFI и освобождаются ядра x86.

Теперь, когда мы знаем шаги загрузки, давайте создадим образ.

Процесс сборки

Инфраструктура открытого ключа

Перед сборкой образа создается инфраструктура открытого ключа (PKI) для создания пар ключей, используемых для подписи и проверки подписи:

Наш оригинальный производитель устройств (ODM), as расширение доверия создает пару ключей (открытый и закрытый), которая используется для подписи первого сегмента BIOS (закрытый ключ) и проверяет этот сегмент при загрузке (открытый ключ).

На стороне AMD есть пара ключей, которая используется для подписи (закрытый корневой ключ подписи AMD) и сертификации открытого ключа, созданного ODM. Это подтверждается открытым ключом подписи корня AMD, который хранится в виде хеш-значения (RSASSA-PSS: SHA-384 с 4096-битным ключом используется в качестве алгоритма хэширования как для сообщения, так и для генерации маски) в SPI-ROM.

Закрытые ключи (как AMD, так и ODM) хранятся в аппаратных модулях безопасности.

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

Запрос на подпись сертификата

После установки инфраструктуры PKI создается пара ключей подписи BIOS вместе с запросом на подпись сертификата (CSR). При создании CSR используются известные поля общего имени (CN), с которыми многие знакомы:

  • countryName
  • stateOrProvinceName
  • localityName
  • 90 114 OrganizationName

В дополнение к указанным выше полям CSR будет содержать serialNumber поле, 32-битное целое число, представленное в формате ASCII HEX, которое кодирует следующие значения:

  • PLATFORM_VENDOR_ID : 8-битное целое значение, назначенное AMD для каждого ODM.
  • PLATFORM_MODEL_ID : 4-битное целое число, присвоенное платформе ODM.
  • BIOS_KEY_REVISION_ID : устанавливается ODM, кодирующим 4-битную версию ключа как значение унарного счетчика.
  • DISABLE_SECURE_DEBUG : Бит предохранителя, который определяет, отключена ли функция безопасной разблокировки отладки навсегда.
  • DISABLE_AMD_BIOS_KEY_USE : бит предохранителя, который определяет, разрешено ли BIOS, подписанному ключом AMD (с идентификатором поставщика == 0 ), загружаться на ЦП с ненулевым идентификатором поставщика.
  • DISABLE_BIOS_KEY_ANTI_ROLLBACK : бит предохранителя, который определяет, включена ли функция предотвращения отката ключа BIOS.

Запомните эти значения, так как мы немного покажем, как их использовать. Любое из значений DISABLE является необязательным, но рекомендуется в зависимости от вашего уровня безопасности/уровня комфорта.

AMD после обработки CSR предоставляет общедоступную часть ключа подписи BIOS, подписанную и сертифицированную корневым ключом подписи AMD, в формате файла токена открытого ключа RSA ( .stkn ).

Собираем все вместе

Ниже приведена пошаговая иллюстрация создания подписанного встроенного ПО UEFI:

  1. ODM отправляет AMD свой открытый ключ, используемый для подписи образов Cloudflare.
  2. AMD подписывает этот ключ, используя свой закрытый ключ RSA, и передает его обратно в ODM.
  3. Открытый ключ AMD и подписанный открытый ключ ODM являются частью окончательного образа BIOS SPI.
  4. Исходный код BIOS скомпилирован, и различные компоненты BIOS (том PEI, том Driver eXecution Environment (DXE), хранилище NVRAM и т. д.) собраны как обычно.
  5. Далее создаются каталоги PSP и BIOS. Каталог PSP и таблица каталогов BIOS указывают на расположение различных объектов прошивки.
  6. ODM строит подписанную подпись BIOS Root of Trust Measurement (RTM) на основе большого двоичного объекта тома PEI BIOS, соединенного с заголовком каталога BIOS, и создает цифровую подпись для этого, используя закрытую часть ключа подписи ODM. Расположение SPI для подписанного кода BIOS RTM окончательно обновляется с помощью этого большого двоичного объекта подписи.
  7. Наконец, двоичные файлы BIOS, каталог PSP, каталог BIOS и различные двоичные файлы прошивки объединяются для создания образа SPI BIOS.

Включение безопасной загрузки платформы

Безопасная загрузка платформы включается во время загрузки с готовым к PSB образом прошивки. ППБ настраивается с использованием региона одноразовых программируемых (ОТП) предохранителей, указанного заказчиком. Предохранители OTP представляют собой встроенную энергонезависимую память (NVM), которая позволяет записывать данные в память только один раз. Есть НЕТ способ отката слитого процессора обратно на незалитый.

Включение PSB в полевых условиях будет проходить в два этапа: объединение и проверка.

  • Объединение: объединение значений, назначенных в поле серийный номер , которое было создано в CSR
  • Проверка: проверка объединенных значений и регистров кода состояния

Если проверка прошла успешно, подпись BIOS RTM проверяется с помощью Ключ подписи ODM BIOS, регистры, специфичные для PSB ( MP0_C2P_MSG_37 и MP0_C2P_MSG_38 ) обновляются состоянием PSB и значениями предохранителей, а ядра x86 освобождаются.

состояние.

Начинаем!

Имея на руках подписанный образ, мы готовы включить PSB на машине. Мы решили развернуть это на нескольких машинах с обновленным, неподписанным образом прошивки AMI UEFI, в данном случае версии 2.16 9.0115 . Мы используем несколько различных инструментов обновления прошивки, поэтому после быстрого сценария мы запустили обновление, чтобы изменить версию прошивки с 2.16 на 2.18C (подписанное изображение):

 . $sudo ./UpdateAll.sh
Имя bin-файла ****.218C
НАЧИНАТЬ
+------------------------------------------------- --------------------------+
| Утилита обновления прошивки AMI v5.11.03.1778 |
| Авторское право (C) 2018 American Megatrends Inc. |
| Все права защищены. |
+------------------------------------------------- --------------------------+
Чтение флэш-памяти ....... сделано
Контрольные суммы FFS ......... в порядке
Проверьте RomLayout ........ в порядке.
Стирание загрузочного блока ......... . сделано
Обновление загрузочного блока ......... выполнено
Проверка загрузочного блока ........ сделано
Стирание основного блока .......... сделано
Обновление основного блока ......... выполнено
Проверка основного блока ........ сделано
Стирание блока NVRAM ......... готово
Обновление блока NVRAM ........ сделано
Проверка блока NVRAM ....... выполнена
Стирание блока NCB ......... сделано
Обновление блока NCB .......... выполнено
Проверка блока NCB ......... выполнена
Процесс завершен.
 

После завершения обновления мы перезагрузились:

После успешной установки мы проверили правильность образа с помощью информации sysfs, представленной в выводе dmidecode:

Тестирование

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

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

Перепрошивка обратно в подписанный образ выполняется путем запуска той же утилиты перепрошивки через BMC, поэтому мы не были заблокированы. Тем не менее, результаты были успешными.

Соглашение об именах

Наши стандартные образы прошивки UEFI являются буквенно-цифровыми, что затрудняет различение (по имени) разницы между подписанным и неподписанным образом ( v2.16A vs v2.18C ), например. Не существует возможности удаленной аттестации (пока) для проверки регистров состояния PSB или сохранения этих значений с помощью подписи (например, цитаты TPM). Когда мы перешли на PSB, мы хотели упростить определение, добавив определенный суффикс: -sig , который мы могли бы запрашивать в пользовательском пространстве. Это позволит нам запрашивать эту информацию через Prometheus. Одного изменения имени файла недостаточно, поэтому нам пришлось внести следующие изменения, чтобы отразить новое соглашение об именах для подписанных изображений:

  • Обновить имя файла
  • Обновить версию BIOS для меню настройки
  • Обновить почтовое сообщение
  • Обновить тип SMBIOS 0 (строковый идентификатор версии BIOS)

Подписанные образы теперь имеют суффикс -sig :

 ~$ sudo dmidecode -t0
# dmidecode 3. 2
Получение данных SMBIOS из sysfs.
SMBIOS 3.3.0 присутствует.
# Реализации SMBIOS новее версии 3.2.0 не поддерживаются.
# полностью поддерживается этой версией dmidecode.
Дескриптор 0x0000, тип DMI 0, 26 байт
Информация о BIOS
Поставщик: American Megatrends Inc.
Версия: V2.20-sig
Дата выпуска: 09/29/2020
Адрес: 0xF0000
Размер среды выполнения: 64 КБ
Размер ПЗУ: 16 МБ 

Заключение

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

Что дальше?

Хотя в этом посте обсуждалась наша текущая аппаратная платформа на базе AMD, как это повлияет на наши будущие поколения оборудования? Одно из преимуществ работы с различными поставщиками, такими как AMD и Ampere (ARM), заключается в том, что мы можем гарантировать, что они по умолчанию обеспечивают безопасность нашей платформы (о чем мы поговорим в следующем посте), что делает наш взгляд на безопасность оборудования таким, намного ярче?.

Мы защищаем
целые корпоративные сети,
помочь клиентам построить
Интернет-приложения эффективно,
ускорить любой
Веб-сайт
или Интернет-приложение,
защититься от DDoS-атак
атаки, держать
хакеры в
залив,
и может помочь вам в
ваш путь к нулевому доверию.

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

Чтобы узнать больше о нашей миссии по улучшению Интернета, начните здесь. Если вы ищете
новое направление карьеры, ознакомьтесь с нашими открытыми
позиции.

Безопасность
Аппаратное обеспечение
Шифрование
Дата центр
Сеть Cloudflare

Похожие сообщения

27 июля 2021 1:59PM

Разработка пограничных серверов с процессорами Arm для повышения производительности на 57 % на ватт

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

    К

  • Нитин Рао

  • ,
    Джеймс Олворт

  • ,
    Сунг Парк

Неделя воздействия
,
Рука
,
Сервер
,
Процессор
,
Производительность

26 февраля 2020 г. , 12:00

Влияние местоположения кэша

Наши серверы поколения X обрабатывают больше запросов в секунду на ядро, чем наш предыдущий парк. Большой объем кэш-памяти L3 процессора AMD 2nd Gen EPYC 7642 сводит к минимуму промахи в кэш-памяти L3, а экономия времени быстро увеличивается...

    К

  • Сун Парк

Оборудование
,
Дата центр
,
Сеть Cloudflare
,
Партнеры
,
ЭПИК

25 февраля 2020 г. 14:00

Поездка EPYC в Рим: AMD — процессор Cloudflare Edge server 10-го поколения

Когда мы начали искать готовые к производству системы для поддержки нашего решения Gen X, мы внимательно изучили, что нам доступно на рынке сегодня, и приняли решение. Мы переходим от 48-ядерной установки Gen 9 с двумя сокетами Intel Xeon Platinum 6162 к 48-ядерному AMD EPYC 7642 с одним сокетом...

    К

  • Роб Дин

Оборудование
,
Сеть Cloudflare
,
Дата центр
,
ЭПИК
,
Партнеры

24 февраля 2020 г. 13:00

Cloudflare Gen X:
Серверы для ускоренного будущего

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

Читайте также: