ключи secure boot что такое
О безопасности UEFI, часть пятая
После небольшого перерыва продолжаем разговор о безопасности UEFI. В этот раз речь пойдет о технологии SecureBoot, ее преимуществах и недостатках, об атаках на нее и защите от них.
Впервые о SecureBoot речь зашла в стандарте UEFI 2.2 в 2011 году, но окончательно все аспекты были реализованы в версии 2.3.1C в начале 2012 года. Основным разработчиком технологии была Microsoft, которая сразу же заявила, что для получения сертификата Windows 8 Ready для своей еще не выпущенной новой ОС требуется реализация и включение SecureBoot по умолчанию на всех новых ПК. Это заявление вызвало волну резкой критики со стороны сторонников свободного ПО, которая успешно докатилась и до Хабра.
Если вам интересно, чем именно закончилось противостояние MS и сообщества, как SecureBoot выглядит после почти 4 лет взросления, и какие атаки на него все еще возможны — добро пожаловать под кат.
Стоп, чуть не забыл: по доброй традиции, набор ссылок на предыдущие части, для тех, кто умудрился их пропустить.
Часть пятая. SecureBoot
Это что вообще?
Не думаю, что после десятка статей на Хабре стоит рассказывать о SecureBoot слишком уж подробно — это уже было сделано не раз и без меня. Тем не менее, совсем ничего не рассказать было бы преступлением против незнакомого с темой читателя, поэтому пройдемся по верхам, а желающих знать все и досконально привычно отправим в спецификацию.
SecureBoot — это программная технология, при помощи которой UEFI-совместимая прошивка может проверить подлинность исполняемых ей внешних компонентов (загрузчиков, драйверов и UEFI OptionROM’ов). Эти исполняемые компоненты должны быть подписаны ЭЦП, которая проверяется во время загрузки и в случае ее полного отсутствия, повреждения, отсутствия в списке доверенных (db) или присутствия в списке запрещенных (dbx) запуск соответствующего компонента не происходит (иногда это поведение настраивается, что тоже может сыграть злую шутку, но об этом позже). В качестве алгоритма ЭЦП в данный момент стандартом рекомендуется комбинация из RSA2048 и SHA256, которые и используются почти на всех виденных мной в живую системах.
Немного о ключах
SecureBoot использует следующую иерархию ключей:
В зависимости от необходимого уровня безопасности, PK может быть сгенерирован следующим образом:
Кто тут в цари первый?
В большинстве конфигураций SecureBoot по умолчанию PK предоставляется производителем мат. платы, в KEK лежит единственный сертификат Microsoft Corporation KEK CA 2011, а в db обязательно присутствует сертификат Microsoft Windows Production CA 2011, но иногда к нему добавляют сертификат Canonical и сертификат производителя платформы, которым подписаны разного рода утилиты для обновления прошивки и вот это все. Хранилище dbx на большинстве систем пустое, но не так давно MS внесли в него несколько записей и теперь требуют их наличия на новых системах для получения сертификата Windows 10 Ready. Получается, что с точки зрения SecureBoot в конфигурации по умолчанию, вашей системой владеет производитель мат. платы, а единственный ее авторизованный пользователь — Microsoft. К счастью (и по большей части благодаря давлению сообщества СПО) эта печальная картина на подавляющем большинстве систем для x86 может быть разрушена удалением стандартных ключей и добавлением собственных из BIOS Setup, но про это я планирую написать отдельно.
Несовместимость с CSM
Атаки на SecureBoot
О векторах
Для начала следует понять, какие именно части SecureBoot могут быть атакованы и чем грозит успешная атака:
Собственно атаки
Отключение SecureBoot удалением PK
Если у атакующего имеется доступ на запись в хранилище NVRAM, что нередко случается у любителей защитить микросхему SPI лишь при помощи пары PR-регистров, то текущий PK можно банально удалить, что автоматически отключит SecureBoot, переведя его в режим установки новых ключей.
Отключение SecureBoot правкой CurrentMode
Эта атака — комбинация из атаки на NVRAM и реализацию. На некоторых системах текущий режим SecureBoot управляется записью в переменной Setup, и если она неожиданно для всех имеет флаг RT, то атакующий может отключить SecureBoot просто записав в Setup ноль по нужному смещению, которое, в свою очередь, легко можно найти анализом дампа IFR. Атака тупая как валенок, но до сих пор имеется куча систем, которые ей подвержены.
Обход SecureBoot правкой ExecutionPolicy
Вариация предыдущей атаки, но отключается на этот раз не сам SecureBoot, а запрет на продолжение загрузки при несовпадении или отсутствии ЭЦП. Тоже требует флага RT на переменной Setup и встречается чуть реже, чем предыдущий вариант, но зато позволяет обойти SecureBoot тихо, не отключая его.
Обход SecureBoot повреждением NVRAM
На некоторых системах для обхода SecureBoot достаточно немного испортить NVRAM (к примеру, заполнив хранилище под завязку), чтобы отключить либо обойти SecureBoot. Встречается такое поведение редко, но атака настолько простая, что есть смысл опробовать ее на любой системе. В крайнем случае, вместо обхода SecureBoot может получиться DoS, если драйвер NVRAM совсем плохой.
Обход SecureBoot при помощи PCI(e)-устройства
Теоретически, запуск UEFI OptionROM’ов из PCI-устройств при включенном SecureBoot не должен происходить, если соответствующий OROM не прошел верификацию, но на практике огромно количество систем доверяет PCI-устройствам безоговорочно и запускает оттуда все без каких-либо проверок. Примеров подобного поведения много, а любые системы без SecureBoot подвержены такой атаке автоматически, именно поэтому вынос PCI(e) на внешние разъемы, вроде Thunderbolt, Firewire, PCMCIA, ExpressCard и т.п. — преступление против безопасности платформы, даже без учета того, что любое PCI-устройство может инициировать DMA с любым регионом физической памяти, кроме SMRAM (и то только если производитель платформы не забыл установить защиту) и утащить у ОС и пользователя все их секреты.
Обход SecureBoot преобразованием загрузчика из PE в TE
Обход SecureBoot загрузкой с внешнего носителя
Это даже не совсем атака, а скорее непонимание некоторых пользователей, что SecureBoot вообще не защищает от подмены загрузчика, и физически присутствующий атакующий может загрузить систему со своего носителя. Иногда от этого пытаются защититься паролем на BIOS и меню выбора загрузочного устройства, но добрые разработчики из MS позволяют выбрать его и из Windows, для чего достаточно зажать Shift и выбрать действие «перезагрузка» на экране входа в систему, а затем выбрать в появившемся меню нужно загрузочное устройство. Дорогим товарищам из MS — мое большое спасибо.
Secure boot где находится, как отключить (10 способов)
Secure Boot (также именуется как «безопасная загрузка») — это протокол защищённой загрузки ОС. Используется компанией Microsoft для защиты загрузчика от модифицирования, а также делает невозможной установку сторонних операционных систем на устройство (преимущественно ноутбуки).
В этой статье пошагово, со прикрепленными скринами разберёмся, каким образом можно отключить Secure Boot и создаёт ли это какие-то риски для пользователя.
Как отключить Secure Boot в BIOS
Сразу стоит заметить, что Secure Boot в BIOS — не интегрируется. Он встречается только в UEFI (является более продвинутой версией BIOS, иногда — с полноценным графическим интерфейсом).
По умолчанию UEFI Secure Boot отключить можно двумя способами:
Как отключить Secure Boot (видеоинструкция)
Примеры отключения Secure Boot на разных ноутбуках и материнских платах
На ноутах и платах от разных производителей отключить безопасную загрузку можно по одному и тому же алгоритму. В общих чертах это:
Но нужно учесть, что данная функция отвечает за автоматическую интеграцию лицензионного кода Windows в систему. Если производитель использует такую функцию, то после отключения безопасной загрузки лицензия на Windows будет отключена.
То есть, потребуется код ввести вручную (через штатное меню «Активация») или же приобрести новую лицензию (например, если планируется перейти на расширенную редакцию).
Отключить Secure Boot на материнских платах и ноутбуках Asus
Как отключить Secure Boot в Windows 10 на ноутбуках 2009 – 2013 года выпуска.
Отключение происходит схожим образом, но там UEFI — без графического интерфейса (визуально схож на BIOS). Там потребуется:
Отключение Secure Boot на ноутбуках HP Pavilion и других моделях HP
В ноутах от HP для входа в настройки UEFI нужно при появлении логотипа на экране (после нажатия кнопки включения устройства)
Как отключить безопасную загрузку в Ноутбуке Lenovo и Toshiba
Вся процедура выполняется похоже, как и на ноутбуках Asus, у которых UEFI без современного графического интерфейса. Единственное отличие заключается в том, что при появлении логотипа производителя необходимо:
Отключить Secure Boot на ноутбуках Dell
Отключить Secure Boot на устройствах Acer
По умолчанию на устройствах Acer отключение Secure Boot недоступно (пункт выделен серым фоном). Поэтому:
На некоторых материнских платах ещё нужно предварительно включить пункт «Legacy Bios» (тоже находится в разделе «Boot»). Это относится к тем устройствам, которые выпускались в период 2009 – 2011 год. Именно тогда массово интегрировали UEFI, но для поддержки устаревших ОС также добавляли традиционный BIOS (работал в режиме совместимости).
И отключение Secure Boot доступно будет только в этом режиме (по умолчанию там строки о безопасной загрузке вовсе не предусмотрено).
Отключить Secure Boot на ноутбуке Samsung
Но даже после этого установить стороннюю ОС (например, Linux-дистрибутив) — не получится.
При попытке загрузиться с установочного накопителя устройство лишь выдаст ошибку, что не обнаружен совместимый загрузчик.
Как отключить Secure Boot для материнской платы Gigabyte
Одно из преимуществ UEFI в материнских платах от Гигабит — это полная поддержка русского языка (начиная с самых первых версий). И, чтобы отключить безопасную загрузку, необходимо:
Для сохранения настроек воспользоваться F10, либо выбрать соответствующий пункт в нижней части экрана (при помощи курсора мыши).
Как узнать включена или отключена безопасная загрузка Secure Boot в Windows
Узнать о том, включена ли безопасная загрузка, в Windows можно штатной утилитой MSinfo32. С её помощью можно получить общие сведения о программной и аппаратной составляющей устройства.
Итого, предусмотрено несколько способов, как можно отключить безопасную загрузку (Secure Boot), что потребуется для установки других операционных систем, выпущенных не компанией Microsoft.
А включён ли Secure Boot на вашем ПК или ноутбуке? Приходилось ли вам вообще сталкиваться с проблемой, когда на устройство невозможно установить стороннюю ОС? Расскажите об этом в комментариях.
Clear all secure boot keys
При включении своего ноутбука Hewlett-Packard пользователь может столкнуться с сообщением «Boot Device Not Found» и отказом компьютера загружаться. Причиной указанной дисфункции обычно являются ряд неверных настроек БИОС, но бывают и случаи, когда данная проблема возникает из-за выхода из строя жёсткого диска, или нарушения целостности операционной системы. В этой статье я расскажу, что такое Boot Device Not Found на HP, каковы причины данной дисфункции, и как её исправить на вашем ПК.
Скриншот ошибки Boot Device Not Found на HP
Перевод и причины Boot Device Not Found
В переводе данный текст звучит как «Загрузочное устройство не найдено», и обычно обозначает ситуацию, когда при включении компьютера система не обнаружила устройство, с которого должна быть произведена загрузка (или установка) операционной системы. Похожая ситуация, когда в диспетчере устройств не видна видеокарта была описана мной в прошлой статье.
Причинами такой дисфункции может быть следующее:
Error 3FO
Как исправить ошибку «Загрузочное устройство не найдено» на HP
Для решения вопроса с Boot Device Not Found на HP рекомендую выполнить следующее:
Установите опцию Legacy Support в значение Enabled
Измените значение ряда параметров БИОСа. Перейдите в БИОС, выберите вкладку «System Configuration» — «Boot option». Измените значение опции «Security Boot» с «Enabled» на «Disabled». Затем жмём на «Clear all secure boot keys», вводим цифры (pass code), которые расположены чуть выше и жмём на ввод.
Вводим указанные цифры ключа
Затем меняем значение параметра «Legacy Support» из «Disabled» на «Enabled». В опции «Legacy boot order» выбираем, с чего мы хотим загружаться (обычно, это жёсткий диск ноутбука – hard disk). Для сохранения произведённых изменений жмём на F10, потом на «Yes», и перезагружаем наш ПК, это может помочь избавиться от ошибки Boot Device Not Found на ноутбуке HP;
Потом подключите обратно аккумулятор и блок питания, другие внешние устройства не подключайте. Нажмите на кнопку питания, в появившемся меню выберите «Обычная загрузка Виндовс» (Start Windows Normally), и нажмите ввод.
В данном меню уделите особое внимание тесту жёсткого диска (Hard Drive – Extensive Test – Run Once). Просмотрите полученные результаты, возможно ваш накопитель попросту вышел из строя, и необходима его замена.
Заключение
Эффективным решением вопроса Boot Device Not Found hard disk (3f0) станет изменение настроек БИОС, аппаратный сброс ПК (hard reset), а также проведение теста структурных элементов лэптопа. В большинстве случаев помогает первый из описанных мной способов, позволяющий устранить ошибку на вашем ПК.
Данное сообщение чаще всего появляется на ноутбуках фирмы HP. В нем говорится о проблемах с загрузочным устройством с операционной системой, которым в ноутбуке является жесткий диск.
Но если ваш ноутбук отображает данное сообщение, то совсем не обязательно что вышел из строя жесткий диск, хотя и не исключено.
Первое, что стоит сделать в данной ситуации это проверить правильность настроек BIOS.
Для этого заходим в bios. На ноутбуках HP чаще всего это клавиша F10, которую нужно нажимать при включении ноутбука.
Вот так выглядит BIOS HP:
Заходим во вкладку «System Configuration» и выбираем «Boot Options» клавишами со стрелками.
Меню bios — system configuration
Далее находим параметр «Secure Boot» и ставим его в состояние «Disable» клавишей «Enter».
Secure boot — Disable
Следующим шагом выбираем параметр «Clear All Secure Boot Keys» и в открывшемся поле для ввода вводим код из скобок.
Параметр «Clear All Secure Boot Keys» в биос HP
Дальше активируем параметр «Legacy Support» выставлением его в положение «Enabled».
Legacy Support выставляем в Enabled
Последним шагом будет выставление приоритетов загрузки. На первое место нужно поставить «Notebook Hard Drive» клавишами F5 или F6.
Выставление на первое место Notebook Hard Drive в Bios
Сохраняем выполненные настройки клавишей F10 и выходим из bios.
Если это не помогло, то нужно попробовать проверить шлейфы жесткого диска.
Проверка шлейфа жесткого диска в ноутбуке HP
Во всех остальных случаях вам скорее всего понадобится замена жесткого диска.
Отключаем Secure Boot
Этот протокол является функцией UEFI, которая, пришла на смену привычному нам BIOS.
Эта технология дает возможность сделать проверку подписей драйверов и модулей ядра, вычисляя, тем самым, присутствие неподписанного вредоносного кода.
Поэтому Secure Boot довольно эффективно защищает ваш компьютер от вредоносных программ (буткитов), которые переписывают первый загрузочный сектор жесткого диска.
В случае, если вы приобретали свой ноутбук после 2010 года (именно тогда на смену BIOS пришла система UEFI) — вам для установки другой операционной системы либо для ее загрузки с установочной флешки потребуется отключение Unified Extensible Firmware Interface (UEFI).
Стоит отметить, что интерфейс BIOS UEFI у разных производителей ноутбуков и стационарных компьютеров в значительной степени отличается друг от друга, поэтому Secure Boot как отключить мы рассмотрим на примерах с различными моделями устройств.
Содержание этой статьи:
Общие правила отключения функции UEFI
Для отключения можно использовать различные способы.
Первый из которых возможен при наличии на вашем устройстве операционной системы Windows 8 или выше.
В этом случае вам понадобится открыть правую панель и выбрать пункт «Параметры», после чего перейти в раздел изменения параметров компьютера.
Затем следует выбрать пункт «Восстановление» в разделе «Обновление и восстановление» и кликнуть по кнопке «Перезагрузить сейчас» с использованием особых вариантов загрузки компьютера.
Выбираем параметры загрузки
В дополнительных параметрах выбираете настройки UEFI и производите перезагрузку устройства.
После этого вы также получите доступ ко всем настройкам BIOS.
На некоторых ОС «горячие клавиши» могут отличаться.
Для того, чтобы не ошибиться с тем, какие клавиши позволяют войти в настройки BIOS на вашем устройстве — вы их можете увидеть на начальном экране в момент запуска.
Для начала стоит рассмотреть настройки БИОС InsideH20 setup utility с имеющейся функцией UEFI, так как это распространенный набор микропрограмм для большинства ноутбуков.
Сюда можно отнести устройства таких брендов как Acer и Toshiba, перевод Secure Boot в неактивное состояние на которых несколько схоже.
Отключение на устройствах Acer
Используя клавишу F2 в самом начале загрузки операционной системы откройте окно BIOS.
Зайдя таким образом в настройки BIOS UEFI необходимо будет перейти в раздел «Main» и из присутствующего списка выбрать пункт «F12 Boot Menu».
В этом случае вы сможете после нажатия клавиши F12 попасть в загрузочное меню своего ноутбука.
После этого необходимо с помощью клавиш со стрелками переместиться в раздел «Security» и выбрать пункт «Set Supervisor Password».
Нажатием клавиши Enter вызывается поле установки пароля, ввод которого обязателен (его потом можно попросту сбросить).
После его ввода снова жмете Enter для подтверждения.
Кроме этого, необходим повторный ввод этого же пароля в нижнее поле окна «Set Supervisor Password».
Далее вам понадобится перейти на вкладку Boot и выбрать пункт «Boot Mode», находящийся по умолчанию в положении UEFI.
Отключение на ноутбуке Toshiba
Необходимо найти раздел «Security», который присутствует в верхнем списке меню.
Не забывайте, что все перемещения по списку производятся при помощи клавиш со стрелками.
BIOS ноутбука Тошиба
После этого опускаетесь к опции «Secure Boot», расположенной в нижней части вкладки.
При нажатии на данном пункте кнопкой Enter вам представится возможность выбрать вариант [Disabled] — отключено.
С помощью этих действий вы отключите функцию Secure Boot на своем ноутбуке, но для того, чтобы установить на него другую операционную систему — этого будет недостаточно.
Войдя в настройки данного пункта выберите строку «Boot Mode» (в некоторых моделях может быть «OS Mode Selection») и в открывшемся меню перейдите из установленного по умолчанию положения «UEFI Boot» (на некоторых устройствах может быть «UEFI OS») в режим «CSM Boot» (могут быть и такие варианты, как «CMS OS», «UEFI and Legacy OS»).
Завершающим этапом будет перезагрузка ноутбука, после которой вы сможете установить на устройство любую другую операционную систему.
Отключение на ноутбуке Samsung
Войдя таким образом в BIOS следует открыть настройки раздела «Boot».
В нем необходимо выбрать пункт «Secure Boot» и перевести его из состояния [Enabled] (включено) в положение [Disabled] (отключено).
После того, как появится окно с предупреждением, что загрузка компьютера может быть произведена с ошибкой — нажмите на клавишу Enter для подтверждения.
Перед вами снова появится сообщение о возможном появлении ошибки в процессе перезагрузки.
Для этого необходимо нажать на клавишу F10 и согласиться с сохраняемыми изменениями, выбрав вариант «Yes».
В нем вам предстоит выбрать один из вариантов — жесткий диск компьютера, компакт-диск или флешку.
Вариант отключения на устройствах Hewlett-Packard
Выполнение данной операции на некоторых моделях ноутбуков HP может быть сопряжено с некоторыми дополнительными действиями.
Одной из таких моделей является HP Pavilion.
После этого появится «Startup Menu», которое содержит варианты загрузки.
Войдя в него вам предстоит выбрать раздел меню «System Configuration», расположенный в верхней части окна, перемещаться к которому следует с помощью кнопок со стрелками.
Нажатием на Enter вы попадете в окно настроек данного пункта, в котором нужно выбрать из имеющегося списка пункт «Secure Boot».
Чтобы его отключить — установите напротив него значение [Disabled] (отключено).
После этого перейдите к пункту «Legacy support», отвечающему за совместимость с другими операционными системами.
На ваши действия система выдаст предупреждение, которое необходимо проигнорировать и выбрать пункт «Yes».
В ее процессе откроется окно с предупреждением о том, что произведено изменение режима безопасной загрузки операционной системы.
При его новом запуске необходимо удерживать Esc на клавиатуре, которая позволит войти в загрузочное меню.
Материнская плата ASUS
Для удобства работы на некоторых моделях предусмотрено наличие русского языка, делающего интерфейс UEFI BIOS Utility понятным и доступным.
Также имеется возможность использовать компьютерную мышь для проведения настроек.
Вид UEFI BIOS Utility
Чтобы отключить функцию Secure Boot необходимо удерживать кнопку F2 или Delete в момент загрузки компьютера.
Открыв окно настроек вам понадобится перейти в пункт меню «Загрузка» и выбрать в нем параметр «Безопасная загрузка».
В строке «Тип ОС» выбираете «Other OS» (другая ОС) вместо установленной по умолчанию «Windows UEFI mode».
После этого необходимо вернуться в начальное окно раздела «Загрузка» и выбрать пункт CSM (Compatibility Support Module).
Далее выбираете пункт «Параметры загрузочных устройств» и устанавливаете ему свойство «UEFI и Legacy OpROM» либо «Только Legacy OpROM».
Перейдите в пункт «Загрузка с устройств хранения» и установите один из двух вариантов — «Both, Legacy OpROM first» либо «Сначала Legacy OpROM».