Bezpečnostní experti z ESETu Martin Smolár a Anton Cherepanov zveřejnili informace o UEFI bootkitu, který pojmenovali ESPecter. Dle jejich slov dokáže obejít ochranu Windows Driver Signature Enforcement a nahrát vlastní nepodepsaný ovladač, což usnadňuje jeho následné špionážní aktivity.
Doby, kdy rozhraní UEFI (Unified Extensible Firmware Interface) žilo ve stínu staršího systému BIOS, jsou nadobro pryč. Jako špičková technologie zabudovaná do čipů moderních počítačů a zařízení hraje klíčovou roli při zabezpečení prostředí a během načítání operačního systému. Bylo proto jen otázkou času, kdy se na něj zaměří kybernetičtí zločinci.
UEFI bootkit
V posledních několika letech se odborníci na bezpečnost setkali s příklady UEFI bootkitů (DreamBoot, EfiGuard), uniklými dokumenty (DerStarke, QuarkMatter) a dokonce i uniklým zdrojovým kódem. Přesto byly dosud objeveny pouze tři reálné případy malwaru cíleného na UEFI.
ESPecter je teprve druhým skutečným případem perzistentního bootkitu v systému ESP (EFI System Partition) v podobě upraveného správce spouštění systému Windows (Windows Boot Manager). Experti z ESETu na něj narazili na kompromitovaném počítači spolu s klientskou komponentou s funkcemi pro zachytávání stisknutých kláves a krádež dokumentů.
Zajímavé je, že kořeny této hrozby sahají přinejmenším do roku 2012. Dříve fungovala jako bootkit pro systémy se starším systémem BIOS. Navzdory dlouhé existenci ESPecteru zůstal jeho upgrade s možností cílit na UEFI nepovšimnut a nové funkce nebyly až dosud zdokumentovány.
Zavedení nepodepsaného ovladače
Modifikací správce spouštění systému Windows dosáhnou útočníci aktivace v raných fázích procesu zavádění, tedy ještě před úplným načtením operačního systému. To umožňuje programu ESPecter obejít ochranu Windows Driver Signature Enforcement (DSE) a spustit svůj vlastní nepodepsaný ovladač.
Tento ovladač pak do konkrétních systémových procesů injektuje další komponenty, které zahájí komunikaci s řídícím serverem a umožní útočníkovi převzít kontrolu nad napadeným počítačem. Útočník pak může vzdáleně stahovat a spouštět další malware nebo ovládat počítač pomocí příkazů.
Přestože v cestě spouštění nedůvěryhodných binárních souborů z ESP má stát funkce Secure Boot, v posledních několika letech jsme byli svědky různých zranitelností firmwaru UEFI, které postihují tisíce zařízení a umožňují vypnutí nebo obejití této ochrany. To ukazuje, že zabezpečení firmwaru UEFI je náročný úkol a že způsob, jakým různí dodavatelé uplatňují zásady zabezpečení a používají služby UEFI, není vždy ideální.
Upgrade z BIOSu na UEFI
Odborníci na bezpečnost na základě ladicích zpráv v související klientské komponentě důvodně předpokládají, že malware ESPecter je dílem čínských programátorů. V tuto chvíli však nevědí, jakým způsobem byl distribuován.
„Když jsme se podívali na naši telemetrii, byli jsme schopni datovat počátky tohoto bootkitu nejméně do roku 2012. Ve svých počátcích používal jako metodu persistence modifikaci MBR (Master Boot Record) a jeho autoři průběžně přidávali podporu nových verzí operačního systému Windows,“ konstatují Martin Smolár a Anton Cherepanov. Zajímavé je, že komponenty malwaru se za dlouhé roky téměř nezměnily a rozdíly mezi verzemi 2012 a 2020 nejsou tak výrazné, jak by se dalo očekávat.
Po letech bezvýznamných změn se autoři zřejmě rozhodli přesunout svůj malware ze starších systémů BIOS na moderní systémy UEFI. Toho dosáhli úpravou binárního souboru správce spouštění systému Windows (bootmgfw.efi) umístěného v ESP, přičemž podporují několik verzí systému Windows zahrnujících Windows 7 až Windows 10 včetně.
Jak vypnout Secure Boot?
Tato metoda má ale jednu nevýhodu – aby bylo možné úspěšně spustit systém pomocí upraveného správce spouštění, je nutné vypnout funkci Secure Boot. Stojí za zmínku, že první verzí systému Windows podporující Secure Boot byly Windows 8, což znamená, že všechny předchozí verze jsou vůči této metodě persistence zranitelné.
U verzí operačních systémů Windows, které podporují Secure Boot, by útočník musel tuto funkci zakázat. Prozatím není známo, jak toho vývojáři ESPecteru dosáhli, ale existuje několik možných scénářů:
- Útočník má fyzický přístup k zařízení a ručně zakáže Secure Boot v nabídce nastavení systému BIOS (je běžné, že nabídka konfigurace firmwaru je stále označována jako „nabídka nastavení systému BIOS“, a to i v systémech UEFI).
- Systém Secure Boot byl na napadeném počítači již zakázán (např. uživatel mohl spouštět systém Windows a jiný operační systém, který Secure Boot nepodporuje).
- Zneužití neznámé zranitelnosti firmwaru UEFI, která umožňuje vypnout Secure Boot.
- Zneužití známé zranitelnosti firmwaru UEFI v případě zastaralé verze firmwaru nebo již nepodporovaného produktu.
ESPecter ukazuje, že útočníci spoléhají nejen na firmware UEFI a navzdory existujícím bezpečnostním mechanismům, jako je UEFI Secure Boot, investují svůj čas do vytváření malwaru, který by byl těmito mechanismy snadno zablokován, pokud by byl povolen a správně nakonfigurován.