Microsoft только анонсировала Project Mu, обещая «прошивку как сервис» на поддерживаемом оборудовании. Каждый производитель ПК должен принять это к сведению. ПК нуждаются в обновлениях безопасности для своих прошивок UEFI, а производители ПК плохо их поставляют.
Что такое прошивка UEFI
Современные ПК используют прошивку UEFI вместо традиционного BIOS. Прошивка UEFI — это низкоуровневое программное обеспечение, которое запускается при загрузке компьютера. Она тестирует и инициализирует Ваше оборудование, выполняет низкоуровневую настройку системы, а затем загружает операционную систему с внутреннего диска Вашего компьютера или другого загрузочного устройства.
Тем не менее, UEFI немного сложнее, чем старое программное обеспечение BIOS. Например, компьютеры с процессорами Intel имеют то, что называется Intel Management Engine, который представляет собой крошечную операционную систему. Он работает параллельно с Windows, Linux или любой другой операционной системой, которую Вы используете на своем компьютере. В корпоративных сетях системные администраторы могут использовать функции Intel ME для удаленного управления своими компьютерами.
UEFI также содержит «микрокод» процессора, который является своего рода прошивкой для Вашего процессора. Когда Ваш компьютер загружается, он загружает микрокод из прошивки UEFI. Думайте об этом как о переводчике, который переводит программные инструкции в аппаратные инструкции, выполняемые на процессоре.
Почему для прошивки UEFI требуются обновления безопасности
Последние несколько лет снова и снова показывали, почему прошивка UEFI нуждается в своевременных обновлениях безопасности.
Все мы узнали о Spectre в 2018 году, продемонстрировав серьезные архитектурные проблемы с современными процессорами. Проблемы означали, что программы могли избежать стандартных ограничений безопасности и считывать защищенные области памяти. Исправления для Spectre требовали корректного обновления микрокода процессора. Это означает, что производители ПК должны были обновить все свои ноутбуки и настольные ПК, а производители материнских плат должны были обновить все свои материнские платы — с помощью новой прошивки UEFI, содержащей обновленный микрокод. Ваш компьютер не будет должным образом защищен от Spectre, если Вы не установили обновление прошивки UEFI. AMD также выпустила обновления микрокодов для защиты систем с процессорами AMD от атак Spectre, так что это не просто дело Intel.
Intel Management Engine обнаружил некоторые ошибки безопасности, которые могли либо позволить злоумышленникам с локальным доступом к компьютеру взломать программное обеспечение Management Engine, либо позволить злоумышленнику с удаленным доступом вызвать проблемы. К счастью, удаленные эксплойты затронули только те компании, которые включили технологию Intel Active Management (AMT), поэтому обычные потребители не пострадали.
Это всего лишь несколько примеров. Исследователи также показали, что на некоторых ПК можно злоупотреблять прошивкой UEFI, используя ее для получения глубокого доступа к системе.
Индустрия должна обновлять микропрограммное обеспечение UEFI на каждом компьютере, как и любое другое программное обеспечение, чтобы защитить от этих проблем и подобных ошибок в будущем.
Как процесс обновления нарушался годами
Процесс обновления BIOS был беспорядочен всегда — задолго до UEFI. Традиционно компьютеры поставлялись с этим старым BIOS. Производители ПК могут поставлять несколько обновлений BIOS для устранения незначительных проблем, но обычно советуют избегать их установки, если Ваш ПК работает нормально. Вам часто приходилось загружаться с загрузочного диска DOS, чтобы прошить обновление BIOS, и все слышали истории о сбоях обновлений BIOS и сбоях ПК, что делало их не загружаемыми.
Времена изменились. Прошивка UEFI делает намного больше, и Intel выпустила несколько крупных обновлений для таких вещей, как микрокод процессора и Intel ME за последние несколько лет. Всякий раз, когда Intel выпускает такое обновление, все, что Intel может сделать, это сказать «спросить производителя Вашего компьютера». Производитель Вашего компьютера — или производитель материнских плат, если Вы собрали свой собственный ПК — должен взять код от Intel и интегрировать его в новую прошивку UEFI. Затем они должны проверить прошивку. Да, и каждый производитель должен повторить этот процесс для каждого отдельного ПК, который они продают, так как все они имеют разные прошивки UEFI. Именно такая ручная работа делала телефоны Android такими сложными для обновления в прошлом.
На практике это означает, что получение критических обновлений безопасности, которые должны доставляться через UEFI, часто занимает много времени — много месяцев. Это означает, что производители могут пожать плечами и отказаться от обновления ПК, которым всего несколько лет. И даже когда производители выпускают обновления, эти обновления часто скрываются на веб-сайте поддержки этого производителя. Большинство пользователей ПК никогда не обнаружат, что эти обновления прошивки UEFI существуют, и не установят их, поэтому эти ошибки в течение длительного времени остаются на существующих ПК. И некоторые производители все еще заставляют Вас устанавливать обновления прошивки, загружаясь сначала в DOS — просто чтобы сделать его более сложным.
Что люди делают с этим
Нужен упорядоченный процесс, в котором производители могли бы легче создавать новые обновления прошивки UEFI. Нужен более эффективный процесс выпуска этих обновлений, чтобы пользователи могли автоматически устанавливать их на своих ПК. Сейчас процесс медленный и ручной — он должен быть быстрым и автоматическим.
Это то, что Microsoft пытается сделать с Project Mu. Вот как это объясняется в официальной документации:
MU ОСНОВАН НА ИДЕЕ, ЧТО ДОСТАВКА И ОБСЛУЖИВАНИЕ ПРОДУКТА UEFI — ЭТО ПОСТОЯННОЕ СОТРУДНИЧЕСТВО МЕЖДУ МНОГОЧИСЛЕННЫМИ ПАРТНЕРАМИ. СЛИШКОМ ДОЛГО ОТРАСЛЬ СОЗДАВАЛА ПРОДУКТЫ, ИСПОЛЬЗУЯ МОДЕЛЬ «РАЗВЕТВЛЕНИЯ» В СОЧЕТАНИИ С КОПИРОВАНИЕМ/ВСТАВКОЙ/ПЕРЕИМЕНОВАНИЕМ, И С КАЖДЫМ НОВЫМ ПРОДУКТОМ НАГРУЗКА НА ОБСЛУЖИВАНИЕ ВОЗРАСТАЕТ ДО ТАКОГО УРОВНЯ, ЧТО ОБНОВЛЕНИЯ ПРАКТИЧЕСКИ НЕВОЗМОЖНЫ ИЗ-ЗА СТОИМОСТИ И РИСКА.
Project Mu помогает производителям ПК быстрее создавать и тестировать обновления UEFI, оптимизируя процесс разработки UEFI и помогая всем работать вместе. Надеемся, что это недостающий элемент, поскольку Microsoft уже упростила для производителей ПК автоматическую отправку обновлений встроенного ПО UEFI пользователям.
В частности, Microsoft разрешает производителям ПК выпускать обновления прошивки через Центр обновления Windows и предоставляет документацию по этому вопросу как минимум с 2017 года. Microsoft также объявила об обновлении прошивки компонентов; модель с открытым исходным кодом, которую производители могут использовать для обновления UEFI и других прошивок, еще в октябре 2018 года. Если производители ПК получат эту возможность, они смогут очень быстро доставлять обновления прошивки всем своим пользователям.
Это касается не только Windows. В Linux разработчики пытаются упростить для производителей ПК выпуск обновлений UEFI с помощью LVFS, службы встроенного ПО Linux Vendor. Поставщики ПК могут представить свои обновления, и они появятся для загрузки в приложении GNOME Software, которое используется в Ubuntu и многих других дистрибутивах Linux. Эта работа началась в 2015 году. Участвуют такие производители ПК, как Dell и Lenovo.
Эти решения для Windows и Linux влияют не только на обновления UEFI. Производители оборудования могут использовать их для обновления всего, от прошивки USB-мыши до прошивки твердотельного накопителя в будущем.
Как говорит SwiftOnSecurity, когда речь идет о проблемах с микропрограммой и шифрованием твердотельных накопителей, обновления микропрограммы могут быть надежными. Мы должны ожидать большего от производителей оборудования.