Uefi boot path security что это
Немного про UEFI и Secure Boot
UEFI (Unified Extensible Firmware Interface) — замена устаревшему BIOS. Эта спецификация была придумана Intel для Itanium, тогда она еще называлась EFI (Extensible Firmware Interface), а потом была портирована на x86, x64 и ARM. Она разительно отличается от BIOS как самой процедурой загрузки, так и способами взаимодействия с ОС. Если вы купили компьютер в 2010 году и позже, то, вероятнее всего, у вас UEFI.
Основные отличия UEFI от BIOS:
Как происходит загрузка в UEFI?
С GPT-раздела с идентификатором EF00 и файловой системой FAT32, по умолчанию грузится и запускается файл \efi\boot\boot[название архитектуры].efi, например \efi\boot\bootx64.efi
Т.е. чтобы, например, создать загрузочную флешку с Windows, достаточно просто разметить флешку в GPT, создать на ней FAT32-раздел и просто-напросто скопировать все файлы с ISO-образа. Boot-секторов больше нет, забудьте про них.
Загрузка в UEFI происходит гораздо быстрее, например, загрузка моего лаптопа с ArchLinux с нажатия кнопки питания до полностью работоспособного состояния составляет всего 30 секунд. Насколько я знаю, у Windows 8 тоже очень хорошие оптимизации скорости загрузки в UEFI-режиме.
Secure Boot
«Я слышал, что Microsoft реализовывает Secure Boot в Windows 8. Эта технология не позволяет неавторизированному коду выполняться, например, бутлоадерам, чтобы защитить пользователя от malware. И есть кампания от Free Software Foundation против Secure Boot, и многие люди были против него. Если я куплю компьютер с Windows 8, смогу ли я установить Linux или другую ОС? Или эта технология позволяет запускать только Windows?»
Начнем с того, что эту технологию придумали не в Microsoft, а она входит в спецификацию UEFI 2.2. Включенный Secure Boot не означает, что вы не сможете запустить ОС, отличную от Windows. На самом деле, сертифицированные для запуска Windows 8 компьютеры и лаптопы обязаны иметь возможность отключения Secure Boot и возможность управления ключами, так что беспокоится тут не о чем. Неотключаемый Secure Boot есть только на планшетах на ARM с предустановленной Windows!
Что дает Secure Boot? Он защищает от выполнения неподписанного кода не только на этапе загрузки, но и на этапе выполнения ОС, например, как в Windows, так и в Linux проверяются подписи драйверов/модулей ядра, таким образом, вредоносный код в режиме ядра выполнить будет нельзя. Но это справедливо только, если нет физического доступа к компьютеру, т.к., в большинстве случаев, при физическом доступе ключи можно заменить на свои.
Для Linux есть 2 пре-загрузчика, которые поддерживают Secure Boot: Shim и PRELoader. Они похожи, но есть небольшие нюансы.
В Shim есть 3 типа ключей: Secure Boot keys (те, которые в UEFI), Shim keys (которые можно сгенерировать самому и указать при компиляции), и MOKи (Machine Owner Key, хранятся в NVRAM). Shim не использует механизм загрузки через UEFI, поэтому загрузчик, который не поддерживает Shim и ничего не знает про MOK, не сможет выполнить код (таким образом, загрузчик gummiboot не будет работать). PRELoader, напротив, встраивает свои механизмы аутентификации в UEFI, и никаких проблем нет.
Shim зависит от MOK, т.е. бинарники должны быть изменены (подписаны) перед тем, как их выполнять. PRELoader же «запоминает» правильные бинарники, вы ему сообщаете, доверяете вы им, или нет.
Оба пре-загрузчика есть в скомпилированном виде с валидной подписью от Microsoft, поэтому менять UEFI-ключи не обязательно.
Secure Boot призван защитить от буткитов, от атак типа Evil Maid, и, по моему мнению, делает это эффективно.
Спасибо за внимание!
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 на вашем ПК или ноутбуке? Приходилось ли вам вообще сталкиваться с проблемой, когда на устройство невозможно установить стороннюю ОС? Расскажите об этом в комментариях.
О безопасности 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 — мое большое спасибо.
UEFI boot – что это такое?
UEFI boot – это программа нового поколения, которая ускорит загрузку компьютера и она по структуре напоминает BIOS.
BIOS – это предпрограмма (код, вшитый в материнскую плату компьютера). Он запускается до загрузки операционной системы, проверяя работоспособность компьютера и отладку оборудования (драйверов). UEFI, в отличие от привычного BIOS-a, представляет собой графический интерфейс, гибко запрограммированный и действительно позволяющий быстрее запустить ОС.
Преимущества UEFI
Что касается UEFI Secure Boot, то это заранее предусмотренный разработчиками способ защиты от запуска нелицензионного кода. Он не позволяет вирусным программам заменить загрузчик, а при использовании Microsoft – спасает от пиратской версии ОС. Однако чаще всего данный режим отключен по умолчанию, или же по некоторым причинам пользователям приходится самостоятельно его отключать.
В настоящее время UEFI представляется как отдельная часть стандартного BIOS-а, но уже выпускаются компьютеры с материнскими платами, где все наоборот – BIOS считается дополнительным модулем к UEFI.
Разница между UEFI и БИОС
Возможность поддерживать разметку GPT;
Модульная архитектура;
Встроенный загрузочный менеджер;
Использование UEFI для загрузки операционной системы с USB-носителя
Порядок выполнения:
Установка Windows UEFI
Запускаем утилиту и указываем название флешки, предназначенной для установки(предварительно нужно удалить важные файлы, очистив память). В пункте «File system» (файловая система) выбираем FAT 32, далее в качестве схемы раздела – GPT (GUID Partition Table), системный интерфейс – UEFI. Поставьте галочку у пункта «Create a bootable disk using:» (создать загрузочное устройство с использованием…), выберите рядом ISO Image и укажите полный путь к ISO-образу операционной системы Windows.
После введения всех описанных параметров можно нажимать на « Start » и программа самостоятельно подготовит флеш-накопитель к загрузке ОС. Время, затраченное на этот процесс, зависит от быстродействия вашего компьютера и от поколения USB.
Если работа утилиты Rufus вас не устраивает или появляются проблемы с загрузкой UEFI, можно использовать абсолютно аналогичную программу, которая называется WinSetupFromUSB.
Скачивание также доступно на сайте производителя, а ее название (в переводе «Загрузка Windows с USB») говорит само за себя. Загрузочная флешка создается полностью аналогично, так как программы имеют практически одинаковый интерфейс.
Загрузка UEFI и подготовка к установке
Нажмите кнопку F7 и выберите подраздел «Дополнительно». Во вкладке «boot» или «startup» (загрузка) нужно выбрать функцию «поддержка USB» и установить там пункт « Full initialization» ( полная инициализация).
Во вкладке «безопасная загрузка» (Secure Boot) следует отметить пункт «Windows uefi mode» (Режим Виндовс UEFI).
Во вкладке «Загрузка» выбирается «Compatibility Support Module» (модуль поддержки совместимости) и отмечается как «enabled» (доступный). Не будет лишним кликнуть на добавочные ссылки и найти строчку «настройки загрузочных устройств», где выбрать « only uefi» ( только uefi).
Теперь вернитесь назад в основное меню и проверьте приоритет загрузочных устройств. Сначала выбирается флеш-накопитель, затем жесткий диск. Сохраните указанные параметры нажатием кнопки F10, потом – Enter и подождите, пока компьютер загрузится.
После выполнения всего вышеперечисленного можно установить операционную систему привычным для вас способом.
Устранение ошибки, возникающей в Windows 8.1
Если после установки windows или после обновления версии до 8.1 в правом углу монитора появляется уведомление о неправильной регулировке secure boot (защищенной загрузки).
На большинстве компьютеров неполадка решается заходом в меню uefi и включением режима «Secure boot» в БИОСе.
После загрузки и установки обновления компьютер перезагрузится и уведомления об ошибке больше не будут появляться.
Как отключить UEFI
Если у вас не Windows 7-8-10, а XP или Ubuntu, режим UEFI может вызвать проблемы при запуске ОС с диска или флеш-карты. Лучшим решением будет отключить данный режим.
Алгоритм отключения UEFI:
Описанная инструкция предназначена для ноутбуков марки ASUS, но для остальных марок алгоритм одинаков, разница в том, какую клавишу нужно нажимать во время старта компьютера.
Как узнать, включен ли режим безопасного запуска
Этот вариант подходит для восьмой и десятой версий Windows. Нажмите кнопки Windows+R и в полученном окне введите команду «msinfo32» ( без кавычек). Нажмите кнопку Enter.
Secure Boot: как отключить защиту или настроить правильно в UEFI
Компьютерные вирусы стали неотъемлемой частью нашей жизни. О них слышали даже те люди, которые сроду не пользовались компьютерами. Для улучшение защиты от зловредного ПО и был внедрен протокол Secure Boot. О том, с чем его едят и как его отключать будет подробно описано в статье.
Что такое Secure Boot (Безопасная загрузка) и когда может потребоваться ее отключение?
Secure Boot – одно из новшеств, привнесенных при внедрении UEFI. Это в свою очередь приемник БИОСа. Он, соответственно, отвечает за подготовку и загрузку ОС. BIOS можно считать очень простой утилитой с примитивным дизайном, которая прошита в материнскую плату. UEFI выполняет те же функции, но это уже весьма красивая и продвинутая программа. Например, при упорстве с помощью UEFI можно даже просматривать содержимое подключенных накопителей, что для BIOS считалось бы невероятным новшеством.
Не одними только эстетическими побуждениями руководствовались творцы UEFI. Одной из важных целей при разработке было обнаружить и ограничить влияние вредоносного ПО. Предполагалось, что технология станет препятствовать его загрузке вместе с операционной системой (ОС), а также исполнению на уровня ядра ОС после ее запуска. Честь исполнять эту важную миссию выпала на протокол Secure Boot. Техническая реализация была такой: использовалась криптографическая схема с открытыми и закрытыми сигнатурами (электронными цифровыми подписями, ЭЦП). В общем виде цели были достигнуты, но на практике это требовало определенных и правильных действий не только со стороны пользователей, но и со стороны производителей компьютерного оборудования. Описание всего процесса займет много времени, так что остановимся на ключевых особенностях:
Сложности с технологией начались еще на этапе внедрения, когда Microsoft заявила, что с помощью протокола будет ограничивать установку других ОС на компьютеры с предустановленной Windows. Тогда от таких планов отказались под натиском общественности, но осадок остался. На сегодня основная сложность заключается в том, что производители материнских плат используют одинаковые закрытые ключи для всей своей продукции либо для отдельных линеек. В любом случае благие намерения привели к тупику.
В подавляющем большинстве случаев отключать Secure Boot стоит для решения двух проблем:
Secure Boot сам по себе никаким образом не нагружает систему, так как работает на более низком программном уровне. Отключение протокола однозначно не улучшит отзывчивость системы и не повысит быстродействие процессора.
Как отключить защиту Secure Boot в БИОСе?
Отметим, что некоторые пользователи ошибочно думают, что протокол Secure Boot отключается в BIOS. У этой достаточно примитивной прошивки нет, не было, и не может быть поддержки СекюрБут. Этот протокол безопасности работает исключительно на UEFI и отключение нужно производить именно там. Природа этой ошибки вполне простая. За многие годы пользователи привыкли, что все, что возникает на экране до загрузки ОС это и есть БИОС. В действительности времена этой программной надстройки уходят и она уже является устарелой в любом отношении.
Примеры отключения Secure Boot на разных ноутбуках и материнских платах
Общий алгоритм всегда один и тот же:
Важно, что этот протокол безопасности поддерживается только в Windows 8 и более поздних версиях. Следовательно, если у вас в прошивке материнской платы включен Secure Boot, но на ПК установлена Windows 7, то ничего отключать не надо. Опция безопасной загрузки все равно не работает, а возможные проблемы с запуском ОС нужно искать в других местах.
Как отключить Secure Boot и UEFI на ноутбуке Acer Aspire?
Есть много моделей ноутбуков этого производителя, но специфика такова, что сначала требуется создать собственный пароль. Общий алгоритм действия следующий:
Отключение Secure Boot на ноутбуках Pavilion и других моделях HP?
При последующей перезагрузке будьте внимательны. Система перестрахуется и включит “защиту от дурака”. Нужно смотреть на то, что идет после надписи “Operating System Boot Mode Change (021)” – там будет указана цифровая последовательность. Наберите ее и нажмите Enter. Если вам нужно просто отключить Secure Boot, то дальше ничего делать не нужно. Если же изначально все делалось ради возможности загрузиться с USB-носителя, то сразу после прохождения “защиты от дурака” жмите ESC, а потом F9. Установите требуемой флешке максимальный приоритет, чтобы она грузилась первой на жесткий диск.
На ноутбуках Dell
Secure Boot на ноутбуках Леново и Тошиба
Для входа в UEFI на этих устройствах нужно жать F12, после чего выполнять следующие действия:
Отключения Secure Boot на материнских платах
Рынок материнских плат для настольных компьютеров достаточно консервативен и явными лидерами являются 2 компании: Asus и Gigabyte. Они поставляют более половины всего оборудования, так что рассматривать способы деактивации Secure Boot рациональней всего именно в разрезе этих производителей. В любом случае третье и четвертое место давно оккупировали MSI и ASRock, – первая четверка полностью состоит из компаний Тайваня. Итог: принципиальных различий в инструкции по отключению все равно не будет и большая часть пользователей найдет ниже именно то, что ищет.
Отметим, что перейти сразу в UEFI можно в некоторых случаях напрямую с Windows (от 8 версии и более поздних). Для этого пробуйте следующее:
Как отключить Secure Boot на материнской плате Gigabyte?
После входа в UEFI (нажатием на F12 перед запуском ОС) действуйте следующим образом:
После всего нужно выполнить запись изменений, то есть нажать F10 => “OK”.
Материнские платы и ноутбуки Асус
Сразу отметим, что чаще всего на материнках именно этого производителя появляется ошибка при загрузке ОС: Invalid signature detected. Check Secure Boot Policy in Setup. В большинстве случаев для устранения проблемы следует выключить Secure Boot, а для этого необходимо:
Конкретно для ноутбуков Asus алгоритм будет следующим:
Как узнать активирована ли функция Secure Boot на Windows?
Этот протокол несложно активировать и деактивировать, а для понимания текущего статуса есть несколько проверенных подходов: