Velké množství základních desek MSI má už rok rozbitý Secure Boot, vyjdou pro ně opravy UEFI

23. 1. 2023

Sdílet

 Autor: MSI
Aby se Windows 11 nažral, ale malware zůstal celý. Základní desky MSI mají ve výchozím stavu nefunkční Secure Boot kvůli špatnému nastavení, i když je tato funkce zapnutá.

Vypadá to, že se stal poměrně závažný bezpečnostní přešlap v desktopových PC. Sice s relativně nízkým rizikem zneužití, ale zase docela velkým rozsahem postižených počítačů. Bylo totiž objeveno, že základní deky značky MSI mají už poměrně dlouho nefunkční Secure Boot neboli zabezpečené spouštění. Tato funkce má sloužit k tomu, aby nějaký malware nemohl pokoutně infikovat jádro operačního systému a „ukrást přístup“ k PC při spouštění.

Secure Boot vám asi nebude úplně neznámým pojmem. Tato technologie vešla ve známost nejprve hlavně negativně, protože část linuxové komunity této technologii připisovala záměr omezit open source operační systémy a dlouhá léta kolem toho bylo „internetové drama“. Vyžaduje totiž, aby OS měl digitální podpis, který se ověřuje proti certifikátům ve firmwaru počítače (aby se zabránilo situacím, kdy malware podstrčí na disk vlastní podvržený či infikovaný kód a pokusí se jím nahradit legitimní jádro OS). Jde však o legitimní bezpečnostní prostředek a linuxové distribuce ho již akceptovaly. V nedávnějších letech jste také o Secure Bootu mohli slyšet v souvislosti s Windows 11, tento systém ho totiž začal vyžadovat.

S příchodem Windows 11 proto nové základní desky mívají Secure Boot ve výchozím stavu zapnutý a pro starší vyšly aktualizace, které toto dělají, byť je stále možné funkci deaktivovat. U zmíněných desek MSI byla ale nalezena bezpečnostní chyba, postihující velké množství různých modelů a existující docela dlouhou dobu, která fakticky Secure Boot rozbila. Nejde přitom o to, že by byl omylem vypnutý, ale že nefunguje samotné ověření, a ačkoliv se deska tváří, že je zabezpečené spouštění aktivní (a oklame tím třeba i kontrolu Windows 11), ve skutečnosti ochranu neposkytuje a malware by při bootu propustila.

Secure Boot zapnutý, a přesto nefunkční

Příčina je zřejmě dost banální. MSI v BIOSu má volbu pro aktivaci režimu Secure Boot, kterou si logicky v případě, že chcete tuto funkci mít, zapnete, respektive je nyní zapnutá ve výchozím stavu. Jenže v podrobnějších nastaveních se pak schovává ještě další možnost, která fakticky zapíná výjimku z fungování Secure Bootu a dovoluje při spouštění OS spustit nepodepsaný a neautentifikovaný kód, jako by Secure Boot ani aktivní nebyl. Tato volba má označení Image Execution Policy a v jednu chvíli MSI v aktualizacích BIOSů její výchozí stav překlopilo na „Always Execute“.

Volba Image Execution Policy v UEFI firmwaru desky MSI Volba Image Execution Policy v UEFI firmwaru desky MSI (zdroj: Dawid Potocki)

Toto je ale chyba, protože to znamená, že se při detekci bezpečnostního problému (chybějícího nebo špatného podpisu) při bootu přesto kód spustí. Počítač tak zavede třeba i ten malware, který by měl být Secure Bootem zablokován. Bohužel už tato možnost není tak názorná a viditelná, takže uživatel, který není expert, asi ani při manuální kontrole těchto nastavení nepochopí, že jde o problém.

Tento bezpečnostní lapsus není tedy ani tak bezpečnostní dírou v kódu firmwaru, jako nebezpečným výchozím nastavením. Výsledkem ale je, že Secure Boot nefunguje, a co hůř, nefunguje, když se systém tváří, že je zapnutý. Je to tedy trošku horší situace, než kdyby deska Secure Boot vůbec neměla a nabíhala v legacy BIOS režimu bez ověřování, jako to bývalo standardem u starších počítačů. Může se totiž stát, že nějaký uživatel bude na funkční Secure Boot vědomě spoléhat a spálí se.

Chybné nastavené Image Execution Policy. Pokud má být Secure Boot funkční musí tři poslední volby být nastavené na Deny Execute Chybné nastavení Image Execution Policy. Pokud má být Secure Boot funkční, musí tři poslední volby být nastavené na Deny Execute (zdroj: Dawid Potocki)

Záměrná chyba kvůli kompatibilitě?

Tento problém byl ve firmwarech desek MSI patrně už celý rok. Objevil ho bezpečnostní expert Dawid Potocki, podle nějž byla do BIOSů desek chyba v nastavení zavlečena patrně aktualizacemi, které vyšly někdy okolo ledna 2022 (datum se však asi může pro různé modely lišit), a až do publikace problému letos nebyl problém odstraněn. A to přes varování, které Potocki MSI zaslal. Potocki proto teď o problému informoval veřejně.

Toto už zřejmě zabralo a MSI oznámilo, že vydá opravné verze, které chybné nastavení Image Execute Policy změní. V následujících týdnech tedy můžete sledovat aktualizace firmwaru (UEFI) pro vaše desky, pokud máte v PC základovku MSI, a tuto aktualizaci nainstalovat.

Překvapivé je, že MSI problém (alespoň tedy v prohlášení na Redditu) vysvětluje tak, že šlo o záměrnou volbu, aby uživatelé nezápasili se Secure Bootem (pokud třeba instalují starší OS nebo Linux bez podpory Secure Bootu). Záměr byl asi, aby desky prošly kontrolou požadavků Windows 11, aniž by fakticky měly omezující ochrany zapnuté. Košer to ale opravdu není už jenom proto, že tato změna nebyla uvedená v changelogu. Je dobře, že firma toto nebezpečné (a zavádějící) výchozí nastavení změní. Podle Potockiho jde pravděpodobně i o porušení specifikací standardu UEFI.

MSI implemented the Secure Boot mechanism in our motherboard products by following the design guidance defined by Microsoft and AMI before the launch of Windows 11. We preemptively set Secure Boot as Enabled and "Always Execute" as the default setting to offer a user-friendly environment that allows multiple end-users flexibility to build their PC systems with thousands (or more) of components that included their built-in option ROM, including OS images, resulting in higher compatibility configurations. For users who are highly concerned about security, they can still set “Image Execution Policy” as "Deny Execute" or other options manually to meet their security needs.

In response to the report of security concerns with the preset bios settings, MSI will be rolling out new BIOS files for our motherboards with ”Deny Execute” as the default setting for higher security levels. MSI will also keep a fully functional Secure Boot mechanism in the BIOS for end-users so that they can modify it according to their needs.

Update není jediným řešením, do té doby můžete také přepnout volbu Image Execute Policy sami. Tato možnost se objeví, když přepnete Secure Boot na „Custom“. Je třeba pak manuálně změnit „Always Execute“ na „Deny Execute“ pro položky Fixed Media (ta řídí bootování OS z interního disku / SSD), Removable Media (tím se myslí bootování z externího disku nebo flashdisku) a také asi Option ROM. Takto je to mimochodem nastavené u starších tímto nepostižených desek MSI, když Secure Boot aktivujete (zkoušeno na postarším modelu generace H61). Jen musíte pamatovat na to, že při případném resetu CMOS nebo obnově továrních nastavení ve firmwaru se vrátí špatné nastavení a je třeba ho měnit znovu.

Podle Potockiho jsou problémem ve všech dosud dostupných verzích firmwaru postižené všechny nejnovější desky platforem Intel Z790 a B760, AMD X670(E) a B650(E) a řada desek se staršími čipsety. Ještě mnohem více desek ale tuto chybu před oním zhruba rokem získalo aktualizacemi (zatímco jejich původní firmwary byly v pořádku). Jde modely MSI jdoucí až k čipsetům Intel H310, B360, H370, Z390, X299 a AMD A320/B350/X370/X399. Seznam najdete třeba zde na GitHubu.

bitcoin_skoleni

Riziko problému není naštěstí velké

Ještě pro pořádek je třeba říct, že tato bezpečnostní chyba není úplně zásadní, takže není třeba panikařit. Nehrozí vám, že by váš počítač byl nějak zranitelný, třeba když navštívíte běžné webové stránky. Secure Boot je komponenta, která chrání před spuštěním OS, který se nějakému malwaru už podařilo infikovat (takže jeho jádro nebo komponenty jsou změněné a nesedí digitální podpis). Takovýto útok přichází v podstatě až po nějakém průniku do systému a Secure Boot má sloužit k tomu, aby se na problém přišlo. Nejde tedy o první linii obrany. V minulosti počítače tuto funkci nepoužívaly vůbec, jde tedy o jakýsi bezpečnostní nadstandard, který ale určitě nezaškodí mít aktivní.

Zdroje: Dawid Potocki, GitHub, MSI, Tom's Hardware (1, 2)