Утечка низкоуровневых ключей безопасности материнской платы при взломе MSI, утверждают исследователи

Утечка низкоуровневых ключей безопасности материнской платы при взломе MSI, утверждают исследователи

Исходный узел: 2641177

Около месяца назад мы писали о уведомление о нарушении данных выпущенный крупным производителем материнских плат MSI.

Компания заявила:

Недавно MSI подверглась кибератаке на часть своих информационных систем. […] В настоящее время затронутые системы постепенно возобновили нормальную работу, что не оказало существенного влияния на финансовый бизнес. […] MSI призывает пользователей получать обновления прошивки/BIOS только с официального веб-сайта и не использовать файлы из источников, отличных от официального веб-сайта.

Вина компании была предъявлена ​​через два дня после того, как банда кибервымогателей под названием Money Message заявила, что украла исходный код MSI, инструменты разработки BIOS и закрытые ключи.

В то время преступники все еще находились в режиме обратного отсчета и утверждали, что «публиковать украденные данные по истечении таймера»:

Скриншот за три часа до истечения таймера взлома [2023-04-07].

Часы остановились

«Таймер раскрытия» на снимке экрана выше истек 2023 апреля 04 г., чуть более месяца назад, но в остальном сайт Money Message в темной сети не изменился с момента первоначальной публикации банды:

Месяц спустя [2023-05-09].

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

Пока Binarly претендует на Github и Twitter извлек множество ключей подписи из имеющихся у него данных, в том числе то, что он описывает [2023-05-09T14:00Z] как:

  • 1 OEM-ключ Intel. Судя по всему, с помощью этого ключа можно управлять отладкой прошивки на 11 разных материнских платах.
  • 27 ключей подписи изображения. Binarly утверждает, что эти ключи можно использовать для подписи обновлений прошивки для 57 различных материнских плат MSI.
  • 4 ключа Intel Boot Guard. Эти просочившиеся ключи, по-видимому, контролируют проверку кода прошивки во время выполнения для 116 различных материнских плат MSI.

Аппаратная защита BIOS

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

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

Как следует из названия, IBB — это место, где живет первый компонент кода запуска производителя материнской платы.

Его подрыв даст злоумышленнику контроль над зараженным компьютером не только на уровне ниже любой операционной системы, которая впоследствии загружается, но и ниже уровня любых встроенных утилит, установленных в официальном EFI (расширенный интерфейс прошивки) раздел диска, даже если этот раздел защищен собственной системой цифровой подписи Secure Boot микропрограммы.

После BIOS Guard приходит Сапоги, который проверяет код, загруженный из IBB.

Идея здесь, кажется, заключается в том, что, хотя BIOS Guard должен предотвращать прошивку любых неофициальных обновлений прошивки, в первую очередь, запрещая доступ на запись мошенническим инструментам обновления прошивки…

…он не может сказать, что прошивке, «официально» подписанной производителем материнской платы, нельзя доверять из-за утечки ключа подписи образа прошивки.

Вот тут-то и вступает Boot Guard, предоставляя второй уровень аттестации, целью которого является обнаружение во время выполнения во время каждой загрузки, что в системе работает микропрограмма, не одобренная для вашей материнской платы.

Хранилище ключей с однократной записью

Чтобы повысить уровень криптографической проверки, обеспечиваемой как BIOS Guard, так и Boot Guard, и привязать процесс к конкретной материнской плате или семейству материнских плат, используемые ими криптографические ключи не хранятся в перезаписываемой флэш-памяти.

Они спасены или взорван, на жаргоне, в однократно записываемую память, встроенную в саму материнскую плату.

Слово взорван происходит из-за того, что схема хранения построена как серия наноскопических «соединительных проводов», выполненных в виде крошечных электрических предохранителей.

Эти соединения можно оставить нетронутыми, что означает, что они будут считаны как двоичные 1 (или 0, в зависимости от того, как они интерпретируются) или «взорваны» — другими словами, сплавлены — в одноразовой модификации, которая переворачивает их навсегда. в двоичные 0 (или 1).

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

Это хорошие новости.

Как только ключи криптографической проверки BIOS Guard и Boot Guard записываются в плавкую память, они блокируются навсегда, и никогда не может быть подорван.

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

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

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

Intel, документации перечисляет три уровня отладки.

Зелёная обозначает доступ к отладке, разрешенный всем, который не должен раскрывать какие-либо низкоуровневые секреты или разрешать изменение процесса загрузки.

Апельсин обозначает полный доступ для отладки на чтение и запись, разрешенный тому, у кого есть закрытый ключ соответствующего поставщика.

Red обозначает то же, что и оранжевый, но относится к основному закрытому ключу, принадлежащему Intel, который может разблокировать любую материнскую плату внедора.

Как довольно очевидно и прямо заявляет Intel в своей документации:

Предполагается, что производитель платформы не будет делиться своим ключом аутентификации [Orange Mode] с каким-либо другим набором отладчиков.

К сожалению, Binarly утверждает, что мошенники утекли ключ Orange Mode, который позволяет выполнять низкоуровневую отладку во время загрузки на 11 различных материнских платах, поставляемых HP, Lenovo, Star Labs, AOPEN и CompuLab.

Остерегайтесь буткита

Таким образом, заявления Binarly предполагают, что с помощью ключа подписи прошивки и ключа подписи Boot Guard злоумышленник может не только обманом заставить вас и ваши инструменты обновления прошивки установить то, что в первую очередь выглядит как подлинное обновление прошивки…

… но также иметь возможность обмануть материнскую плату, которая была аппаратно заблокирована с помощью защиты Boot Guard, чтобы разрешить загрузку этой мошеннической прошивки, даже если обновление исправляет сам блок начальной загрузки.

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

Проще говоря, вы могли бы, по крайней мере теоретически, получить не просто Руткит, но буткит.

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

Некоторые руткиты могут быть активированы после загрузки операционной системы, как правило, путем использования уязвимости на уровне ядра для внесения несанкционированных внутренних изменений в код самой операционной системы.

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

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

Буткит на этом уровне означает, что даже стирание или замена всего жесткого диска (включая так называемые Расширенный системный раздел интерфейса встроенного ПО, сокращенно EFI или ESP) недостаточно для дезинфекции системы.

Типичная настройка диска Mac.
Раздел EFI помечен соответствующим образом.
Типичная установка диска Windows 11.
Тип c12a7...ec93b обозначает раздел EFI.

В качестве аналогии можно представить руткит, который загружается после операционной системы, как попытку подкупить присяжных, чтобы оправдать виновного подсудимого в уголовном процессе. (Риск того, что это произойдет, является одной из причин, по которой присяжные по уголовным делам обычно состоят из 12, 15 или более членов.)

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

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

Что делать?

Открытые ключи Boot Guard, однажды прошитые на вашей материнской плате, не могут быть обновлены, поэтому, если их соответствующие закрытые ключи скомпрометированы, вы ничего не сможете сделать, чтобы решить проблему.

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

Потеря ключей подписи немного похожа на потерю физического главного ключа от каждого этажа и каждого помещения в офисном здании.

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

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

Поэтому в этом случае лучше всего придерживаться первоначального совета MSI:

[O]получать обновления прошивки/BIOS только с официального веб-сайта [MSI] и [не] использовать файлы из источников, отличных от официального веб-сайта.

К сожалению, этот совет, вероятно, сводится к пяти не совсем полезным словам и восклицательному знаку.

Будьте осторожны там, люди!


Обновить. PR-компания Intel сообщила нам по электронной почте, что компания «знает об этих сообщениях и активно расследует». Они также попросили нас указать, что «ОЕМ-ключи Intel Boot Guard генерируются производителем системы, [поэтому] они не являются ключами подписи Intel». Аббревиатура OEM является сокращением от производитель оригинального оборудования, немного сбивающий с толку, но давно устоявшийся термин, который относится не к поставщику или поставщикам отдельных компонентов, встроенных в продукт, а к поставщику, изготовившему всю систему в целом. Например, когда вы покупаете у MSI то, что можно назвать «материнской платой Intel», MSI является OEM-производителем, а Intel — поставщиком процессорного чипа и, возможно, других компонентов набора микросхем, лежащих в основе готового продукта. (Если бы ваша материнская плата была защитным кабелем для велосипеда, то Intel сделала бы замок, но OEM-производитель приварил бы кабель, покрыл бы продукт защитным покрытием и выбрал бы числа для комбинации.) [2023-05 -09T22:45Z]


Отметка времени:

Больше от Голая Безопасность