Secure Boot от Microsoft почти всю жизнь обходился в пару кликов

· Безопасность
Исследователи ESET выяснили, что механизм Secure Boot, придуманный Microsoft для защиты от заражения прошивок, можно было тривиально обойти на протяжении 13 из 14 лет его существования.

cover.svg

Secure Boot — отраслевой стандарт, который Microsoft разработала для защиты устройств на Windows, а позже и на Linux, от заражения на уровне прошивки. Идея проста: firmware в UEFI на материнской плате проверяет цифровые подписи загружаемого кода и не даёт запуститься ничему неподписанному. На практике же, как выяснили специалисты компании ESET, механизм оставался тривиально обходимым почти всю свою историю — 13 из 14 лет.

В чём проблема

В центре истории — так называемые shim'ы, промежуточные загрузчики. Их придумали, чтобы распространить Secure Boot на Linux-устройства и служебное ПО: shim несёт подпись Microsoft и уже сам решает, что запускать дальше. Именно Microsoft отвечает за подписание таких образов.

Исследователи обнаружили 11 образов прошивок, как минимум один из которых датируется 2013 годом. Все они были известны как дефектные — уязвимости в них нашли давно, — но при этом оставались подписанными Microsoft и публично доступными. Компания так и не отозвала подписи после того, как проблемы стали известны.

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

Почему это трудно закрыть

Отзыв подписи в теории должен решать проблему, но именно здесь и кроется главная сложность, на которую обратили внимание и читатели. Компьютер выполняет проверку подписей на этапе загрузки, когда ни о каком доступе в интернет речи не идёт. Отзыв скомпрометированного образа означает распространение обновлённых списков запрета (тех самых, что хранятся в UEFI) на устройства по всему миру — а до тех пор доверенным остаётся всё, что было подписано ранее, включая заведомо дырявые загрузчики.

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


Источник: Schneier on Security

Комментарии

Войдите, чтобы комментировать.

  • Пока нет комментариев.