Почему прошивка «UEFI» вашего компьютера нуждается в обновлениях безопасности

Любые виды существующих компьютерных устройств, особенно наиболее массово представленные в мире персональные компьютеры и ноутбуки различных вариантов исполнения, для своего полноценного функционирования должны обладать современным программным обеспечением, доступным соответственно на всех уровнях, начиная с микропрограмм, ответственных за реализацию управления аппаратной архитектурой компьютера и подключённых к нему устройств, и заканчивая операционной системой, обеспечивающей полное взаимодействие пользователя с компьютерным устройством.

Почему прошивка «UEFI» вашего компьютера нуждается в обновлениях безопасности

Введение

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

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

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

Учитывая значимость связующего системного интерфейса «UEFI», огромную важность приобретает вопрос соответствия версии прошивки уровню, постоянно обновляющимся, требованиям безопасности. К сожалению, производители комплектующих персональных компьютеров редко предлагают соответствующие обновления, предпочитая работать над созданием и продвижением новых образцов. Поэтому, в конце прошлого года корпорация Microsoft уведомила о подготовке нового сервиса «Project Mu» (модульная адаптация современной кроссплатформенной среды разработки прошивок с открытым исходным кодом ядра), направленный на оптимизацию «UEFI» и других системных прошивок, своевременное исправление качества, обновление прошивок и обеспечение эффективного запуска. Благодаря его внедрению разработчики «Microsoft» пытаются привлечь производителей к совместному обеспечению должного уровня безопасности, доставки и обслуживания прошивки «UEFI».

Что представляет собой прошивка «UEFI»?

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

Тем не менее, интерфейс «UEFI» несколько сложнее, чем привычное программное обеспечение «BIOS», и включает дополнительные службы и сервисы, значительно расширяющие диапазон возможностей и вариантов взаимодействия прошивки. Например, некоторые компьютеры с процессорами «Intel» имеют встроенный микроконтроллер Intel Management Engine («Intel ME»), функционирующий под управлением упрощенной операционной системы микроядра, выполняющей различные функции и службы для компьютерных систем, такие как канал не зависимой от операционной системы связи, функция защиты от краж и т.д. Он работает параллельно с «Windows», «Linux» или любой другой операционной системой, установленной на вашем компьютере. Благодаря таким особенностям, в корпоративных сетях системные администраторы могут использовать функции «Intel ME» для удаленного управления своими компьютерами.

«UEFI» также содержит программный код процессора, который является для него соответствующей прошивкой. И когда ваш компьютер загружается, он загружает микрокод из прошивки «UEFI», позволяя ускорить проверку и общую загрузку.

В дополнение, интерфейс «UEFI» более безопасен стандартной прошивки «BIOS», загружается значительно быстрее и поддерживает использование внешнего периферийного устройства управления (компьютерная мышь).

Почему для прошивки «UEFI» требуются обновления безопасности

Почему для прошивки UEFI требуются обновления безопасности

Создание и применение новых методов вредоносного проникновения зловредных приложений постоянно расширяется и дополняется. В середине 2017 года были обнаружены уязвимости Meltdown и Spectre, которые выявили серьезные архитектурные проблемы с современными процессорами. Использование уязвимостей микрокода помогает вредоносным программам обходить существующие запреты и стандартные ограничения безопасности, осуществлять несанкционированное обращение к защищенным областям памяти и производить чтение данных через дополнительный канал, тем самым получая непосредственный доступ к конфиденциальной информации пользователей. И если ошибка «Meltdown» может быть устранена обычным обновлением операционной системы, то уязвимость «Spectre», для корректного функционирования микрокода центрального процессора, обязательно требует обновления прошивки.

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

«Intel Management Engine» обнаружил некоторые ошибки безопасности, которые могли как позволить злоумышленникам с локальным доступом к компьютеру взломать программное обеспечение «Management Engine», так и разрешить мошеннику с удаленным доступом вызвать на устройстве определенные проблемы. К счастью, обнаруженные уязвимости затронули только те компании, которые включили технологию «Intel Active Management Technology» («AMT»), поэтому обычные потребители не пострадали.

Intel Active Management Technology

Проблема не затрагивает только продукцию компании «Intel», но и относится к другим производителям, таким как компания «AMD», которая также выпустила обновления микрокодов для защиты систем с процессорами «AMD» от уязвимости спекулятивного выполнения команд «Spectre».

AMD

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

Это всего лишь один из возможных примеров. Исследователи безопасности доверенных компаний обнаружили, что на отдельных видах персональных компьютеров (например, на некоторых моделях ультракомпактных персональных компьютеров от тайваньского производителя «Gigabyte Technology»), использующих устаревшую версию прошивки, можно обходить отдельные запреты и использовать прошивку «UEFI» для получения более глубокого доступа к системе. Была даже продемонстрирована скрытая установка очень стойкой низкоуровневой программы-вымогателя, которая работала в унифицированном расширяемом интерфейсе прошивки («UEFI») материнской платы на постоянной основе, а затем была удалена.

Gigabyte Technology

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

Возникающие сложности процесса обновления прошивки

Процесс обновления низкоуровневой базовой системы ввода-вывода никогда не был приоритетным для производителей и ему совсем не уделялось должного внимания. Такой порядок сложился задолго до появления интерфейса «UEFI», еще при использовании «BIOS». Традиционно, компьютеры поставлялись с действующим универсальным устаревшим «BIOS», работоспособность которого была проверена и не вызывала особых нареканий. В дальнейшем, производители персональных компьютеров при обнаружении отдельных неполадок могли поставлять несколько обновлений «BIOS» для устранения конкретных незначительных недостатков. Но обычно, если система функционировала без сбоев и ошибок, производители советовали избегать установки готовых обновлений. Часто пользователям приходилось использовать специальный загрузочный «DOS-диск», чтобы установить обновление прошивки «BIOS», и не редко сбои при выполнении обновления «BIOS» или неполадки в работе компьютеров могли привести к серьезным поломкам, даже сделать компьютер полностью не загружаемым.

Но с момента внедрения в новых версиях компьютеров современной прошивки «UEFI» ситуация, связанная с возможным риском неудачного обновления, изменилась. Возможности интерфейса «UEFI» намного больше, благодаря чему компания «Intel» за последние несколько лет выпустила ряд крупных обновлений для таких элементов, как микрокод процессора и микроконтроллер «Intel Management Engine». Всякий раз, когда «Intel» выпускает готовое обновление, компания перенаправляет любые обращения пользователей к конкретному производителю компьютера. Потому как любое обновление кода от компании «Intel» должно быть интегрировано в новую версию прошивки «UEFI» непосредственным производителем пользовательского персонального компьютера, при покупке готового устройства, или материнских плат, если потребитель собирал свой компьютер самостоятельно из отдельных комплектующих. Затем прошивка должна быть проверена, а также подтверждены ее работоспособность и отсутствие ошибок. К тому же, каждый производитель готового персонального компьютера должен повторить весь процесс добавления и отладки кода для каждой отдельной модели устройства, который они продают, так как в них присутствуют разные версии прошивки «UEFI». Именно такая ручная работа делала мобильные смартфоны на базе операционной системы «Android» такими сложными для обновления в прошлом.

На практике это означает, что получение важных критических обновлений безопасности, которые должны доставляться через корректировку прошивки «UEFI», часто занимает довольно много времени, исчисляемое месяцами. При таком трудоемком алгоритме производители часто отказываются от обновления прошивок моделей персональных компьютеров, особенно тех, с момента выпуска которых прошло всего несколько лет. И даже когда производители выпускают обновления, они нередко размещают готовые пакеты на своем веб-сайте, перекладывая весь процесс обновления непосредственно на конечных потребителей. Большинство пользователей персональных компьютеров не занимаются дополнительными поисками возможных обновлений прошивки «UEFI» и не знают, что такие обновления существуют. Они не ведут поиск и соответственно не занимаются их установкой. Поэтому ошибки прошивки «UEFI» в течение длительного времени остаются на пользовательских компьютерах и подвергают их повышенной опасности. К тому же некоторые производители все еще организовывают процесс установки обновлений прошивки в дисковой операционной системе «DOS», существенно усложняя всю процедуру.

Возможное решение проблемы своевременного обновления прошивки

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

И корпорация «Microsoft» стремится в своем проекте «Project Mu» воплотить идею упрощенной процедуры применения новых обновлений. Вот каким образом корпорация представляет объяснение своих целей:

«Mu основан на идее, что доставка и обслуживание продукта «UEFI» – это постоянное сотрудничество между многочисленными партнерами. Слишком долго отрасль создавала продукты, используя модель «разветвления» в сочетании с копированием / вставкой / переименованием, и с каждым новым продуктом нагрузка на обслуживание возрастает до такого уровня, что обновления практически невозможны из-за стоимости и риска.»

Созданный и обширно распространяемый «Project Mu» помогает производителям персональных компьютеров быстрее создавать и тестировать новые обновления прошивки, полностью оптимизируя весь процесс разработки «UEFI», и предлагает общую единую платформу для их распространения. «Project Mu» является объединяющим связующим элементом между производителями персональных компьютеров и конечными потребителями, позволяя последним, в автоматическом режиме, получать обновления встроенного программного обеспечения «UEFI».

Например, корпорация «Microsoft» позволяет производителям персональных компьютеров распространять обновления прошивки «UEFI» через «Центр обновления Windows» и предоставляет соответствующую документацию как минимум с 2017 года. Также с октября 2018 года «Microsoft» объявила о выпуске модели с открытым исходным кодом для обновления прошивки компонентов («CFU»), которую производители могут использовать для обновления «UEFI» и других прошивок. Такое решение позволяет производителям персональных компьютеров значительно быстрее доставлять обновления прошивки всем своим пользователям, используя драйверы «CFU».

Решения для получения обновлений прошивки не ограничивается лишь операционной системой «Windows». В «Linux» разработчики пытаются упростить для производителей персональных компьютеров выпуск обновлений «UEFI» с помощью специальной службы LVFS. Поставщики компьютеров могут предлагать пользователям свои обновления через приложение загрузки GNOME Software, которое используется в «Ubuntu» и многих других дистрибутивах «Linux». Программа ведется с 2015 года, и ее участниками являются такие гиганты цифровой индустрии, как «Dell» и «Lenovo».

Ноутбук

Готовые решения для устройств на базе операционных систем «Windows» и «Linux» влияют не только на обновления «UEFI». Производители оборудования могут использовать их для обновления любых низкоуровневых программ, от прошивки микропрограмм компьютерной мыши «USB» до прошивки шифрования твердотельного накопителя, с высоким уровнем надежности, соответствуя всем критериям безопасности.

Заключение

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

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

Но понимая важность своевременной установки обновлений прошивки «UEFI», способных обезопасить компьютерные устройства и исключить несанкционированное проникновение, корпорация «Microsoft» внедряет систему «Project Mu», служащую связующим элементом между разработчиками аппаратного обновления прошивки и непосредственно пользователями. И следуя заданным критериям, в будущем процесс доставки готовых решений будет довольно прост и сведен к автоматическому режиму, обеспечив мгновенную доставку необходимых обновлений безопасности сразу после их создания.

Andrey Mareev

Автор: , Технический писатель

В далеком 2005 году, я получил диплом по специальности «Прикладная математика» в Восточноукраинском национальном университете. А уже в 2006 году, я создал свой первый проект по восстановлению данных. С 2012 года, начал работать в компании «Hetman Software», отвечая за раскрутку сайта, продвижение программного обеспечения компании, и как специалист по работе с клиентами.

Michael Miroshnichenko

Редактор: , Технический писатель

Мирошниченко Михаил – одни из ведущих программистов в Hetman Software. Опираясь на пятнадцатилетний опыт разработки программного обеспечения он делится своими знаниями с читателями нашего блога. По мимо программирования Михаил является экспертом в области восстановления данных, файловых систем, устройств хранения данных, RAID массивов.

Рекомендуем для вас

Вас приветствует ассистент Hetman Software, созданный на основе искусственного интеллекта.
Начать Чат