Říjen - měsíc notebooků

Zabezpečení bootovacího procesu Windows 8

Operační systém Windows disponuje mnoha funkcemi, které úspěšně hájí váš počítač před infikováním malwarem.

S výjimkou aplikací, vyvíjených v uzavřeném vnitrofiremním prostředí, musí všechny aplikace, umístěné na Windows Store, projít certifikačním procesem. Tento proces se kromě jiných kritérií zaměřuje i na bezpečnost, a efektivně tak zabraňuje distribuci aplikací nakažených malwarem. A i kdyby touto kontrolou infikovaná aplikace prošla, je k dispozici celá řada dalších bezpečnostních mechanismů, které jsou vestavěny přímo do Windows. Například každá aplikace běží ve svém vlastním, uzavřeném paměťovém prostoru, a nemá oprávnění pro přístup k jádru systému či systémovým nastavením.

Windows 8 má rovněž k dispozici více stupňů ochrany pro desktopové aplikace a data. Windows Defender využívá své databáze signatur pro odstranění programů, které jsou známy jako nebezpečné, a jejich přesunutí do karantény. SmartScreen filtr varuje uživatele před spuštěním nedůvěryhodné aplikace. A konečně před tím, než je aplikaci povoleno měnit systémová nastavení, musí uživatel povolit dané aplikaci použití administrátorských oprávnění za pomocí nástroje Řízení uživatelských účtů.

To jsou některé z cest, jimiž Windows 8 brání váš počítač proti malwaru. Faktem ovšem je, že tato opatření chrání váš počítač až po startu Windows 8. Moderní malware – zejména bootkity – dokáže nastartovat ještě před spuštěním Windows 8, zůstává skrytý a kompletně obchází bezpečnostní mechanismy operačního systému.

Pokud používáte Windows 8 na počítači certifikovaném pro tento operační systém (případně na jakémkoliv počítači, který disponuje rozhraním Unified Extensible Firmware Interface, UEFI), Trusted Boot dokáže váš počítač chránit od momentu, kdy jej zapnete, až do chvíle, kdy ochranu systému přebírá antimalwarový program. Pokud se do vašeho počítače malware dostane, nepovede se mu zůstat ve skrytu; Trusted Boot zajišťuje integritu systému způsobem, který malware nemůže obejít. Dokonce i na počítačích, které nejsou vybaveny UEFI rozhraním, je ochrana bootovací sekvence u Windows 8 na vyšší úrovni než u předchozích verzí Windows.

Nejprve si pojďme objasnit, co jsou rootkity, a jak vlastně pracují. Poté si ukážeme, jak se Windows 8 dokáží bránit.

Hrozba: Rootkity

Rootkity jsou sofistikovaným a vysoce nebezpečným typem malwaru, který běží v kernel módu za použití stejných privilegií, jaké má samotný operační systém. Protože rootkity mají stejná oprávnění jako systém a startují dříve než systém, dokáží zcela zamaskovat sebe i další programy. Rootkity často bývají součástí celé sady malwarových programů, které následně obcházejí lokální přihlašování, zaznamenávají hesla, stahují soukromé soubory a zachytávají komunikaci ještě před tím, než je zašifrována.

Různé typy rootkitů se nahrávají v různých fázích bootovacího procesu:

  • Firmware rootkity. Tyto kity přepisují firmware BIOSu počítače, případně jiné části hardware, a umožní tak spuštění před Windows.
  • Bootkity. Nahrazují zavaděč (bootloader) operačního systému svým vlastním, díky čemuž startují před Windows.
  • Kernel rootkity. Tyto kity dokáží nahradit část jádra operačního systému, takže rootkit pak startuje automaticky jako součást operačního systému.
  • Driver rootkity. Tyto kity předstírají, že jsou jedním z důvěryhodných systémových ovladačů (driverů), které systém Windows používá pro komunikaci s důležitými komponentami hardware.

Protiopatření

Windows 8 mají k dispozici čtyři nástroje, které umožňují zabránit rootkitům v nahrání a spuštění během bootovacího procesu:

  • Secure Boot. Počítače s UEFI rozhraním a Trusted Platform Module (TPM) čipem mohou být konfigurovány tak, aby spustily pouze důvěryhodné zavaděče operačního systému.
  • Trusted Boot. Windows kontrolují integritu každé komponenty startovacího procesu před tím, než ji použijí.
  • Early Launch Anti-Malware (ELAM). ELAM testuje všechny ovladače předtím, než jsou nahrány do paměti, a zabraňuje tak spuštění nakažených ovladačů.
  • Measured Boot. Firmware počítače zaznamená průběh spuštění počítače, a Windows následně tento záznam zašlou důvěryhodnému serveru k posouzení, zda se jedná o čistou, malwarem nenakaženou startovací sekvenci.

Obrázek 1 zobrazuje startovací sekvenci Windows 8.

IMG01.png

Secure Boot a Measured Boot lze aktivovat pouze na počítačích, které disponují rozhraním UEFI 2.3.1 a TPM čipem. Naštěstí všechny počítače, certifikované pro Windows 8, tyto komponenty mají v základní výbavě, stejně jako mnoho počítačů, které certifikací nemají.

V další části článku si podrobněji popíšeme Secure Boot, Trusted Boot, ELAM a Measured Boot.

Secure Boot

Počítač při startu nejprve najde zavaděč operačního systému (označovaný jako bootloader). Počítače bez Secure Bootu jednoduše spustí jakýkoliv bootloader, který se nachází na pevném disku, protože nemají šanci rozpoznat, zda se jedná o důvěryhodný operační systém, či jde o rootkit.

Počítač vybavený rozhraním UEFI naproti tomu nejprve zkontroluje, zda je samotný firmware počítače digitálně podepsán, čímž eliminuje firmware rootkity. Pokud je aktivován Secure Boot, firmware následně zkontroluje digitální podpis bootloaderu a ujistí se tak, že bootloader nebyl modifikován. Pokud je bootloader beze změny, firmware jej spustí, pouze pokud platí jedna z následujících podmínek:

  • Bootloader je podepsán důvěryhodným certifikátem. Všechny počítače, certifikované pro Windows 8, již obsahují důvěryhodný certifikát Microsoftu.
  • Uživatel ručně potvrdil důvěryhodnost digitálního podpisu daného bootloaderu. Tímto způsobem může uživatel povolit bezpečné zavádění ne-Microsoft operačního systému.

Všechny počítače na platformě x86 či x64, certifikované pro Windows 8, musí splňovat následující požadavky, související se Secure Bootem:

  • Musí mít v základní konfiguraci aktivovaný Secure Boot.
  • Musí věřit certifikátu Microsoftu (a tím pádem každému bootloaderu, který je Microsoftem podepsán).
  • Musí uživateli umožnit konfiguraci Secure Bootu tak, aby uživatel mohl potvrdit důvěryhodnost dalších bootloaderů.
  • Musí uživateli umožnit Secure Boot kompletně deaktivovat.

Tyto požadavky umožňují ochranu proti rootkitům a zároveň zajišťují, že uživatel může spustit libovolný operační systém dle vlastního uvážení:

  • Použití operačního systému s certifikovaným bootloaderem. Protože všechny počítače, certifikované pro Windows 8, musí věřit certifikátu Microsoftu, nabízí Microsoft službu, jež umožňuje analyzovat a podepsat jakýkoliv ne-Microsoft bootloader. Takový bootloader pak bude důvěryhodný pro všechny počítače certifikované pro Windows 8. Za zmínku stojí, že open source bootloader, který umožňuje následné spuštění Linuxu, je již k dispozici. Pro další informace o podepsání vlastního bootloaderu navštivte stránku http://sysdev.microsoft.com.
  • Nastavení UEFI tak, aby věřilo dalšímu bootloaderu. Všechny počítače certifikované pro Windows 8, umožňují důvěřovat necertifikovanému bootloaderu pomocí přidání digitálního podpisu do UEFI databáze. Můžete tak bezpečně spouštět jakýkoliv operační systém, včetně těch zkompilovaných doma.
  • Vypnutí Secure Bootu. Všechny počítače certifikované pro Windows 8, umožňují Secure Boot zcela vypnout a následně spustit jakýkoliv bootloader. Tato možnost vás ovšem zbavuje ochrany před rootkity.

Aby si malware samotný nepozměnil jednotlivá nastavení v UEFI, pouze uživatel dokáže manuálně konfigurovat vypnutí Secure Bootu, případně potvrdit daný bootloader jako důvěryhodný. Software nedokáže změnit nastavení týkající se Secure Bootu. Pro další informace navštivte stránku Protecting the pre-OS environment with UEFI.

Stejně jako většina mobilních zařízení, i zařízení na platformě ARM, certifikovaná pro Windows RT (například Microsoft Surface), jsou navržena pouze a výhradně pro běh Windows 8. U těchto zařízení nelze Secure Boot vypnout a nelze ani důvěřovat jinému bootloaderu. Nicméně trh s ARM zařízeními disponuje širokou škálou zařízení, která využívají jiné operační systémy, stále tedy existuje možnost výběru.

Trusted Boot

Trusted Boot svou činnost začíná tam, kde ji Secure Boot končí. Bootloader zkontroluje digitální podpis jádra systému Windows 8 před tím, než jej zavede do paměti. Jádro Windows 8 poté stejným způsobem kontroluje všechny další komponenty startovací sekvence, včetně boot driverů, startup souborů a ELAM. Pokud je některý ze souborů modifikován, bootloader zjistí problém a odmítne danou komponentu zavést do paměti. Pokud pak mají Windows 8 k dispozici nepoškozené instalační soubory (obvykle nahrané výrobcem počítače do skrytého oddílu na disku), automaticky nahradí poškozenou komponentu z instalační sady, čímž obnoví integritu Windows a umožní normální start počítače.

Early Launch Antimalware

Protože Secure Boot ochránil bootloader a Trusted Boot ochránil jádro Windows, další příležitostí pro malware je infikování ne-Microsoft boot driveru. Tradiční antimalwarové aplikace startují až po zavedení boot driverů, malware maskovaný jako boot driver tak má reálnou šanci se před antimalwarem maskovat.

ELAM umožňuje nahrání a spuštění Microsoft či ne-Microsoft antimalware driveru ještě před tím, než jsou zavedeny jakékoliv ne-Microsoft drivery či aplikace, a integrita systému, započatá Secure Bootem a Trusted Bootem, je tak zachována i v dalších fázích startovacího procesu. Protože operační systém ještě nenastartoval kompletně a protože Windows by měly nastartovat tak rychle, jak je jen možné, je úkol ELAMu jednoduchý: prozkoumat každý boot driver a určit, zda se jedná o důvěryhodný driver. Pokud je driver shledán nedůvěryhodným, Windows jej jednoduše nespustí.

ELAM driver není plnohodnotné antimalwarové řešení, které se spouští po dokončení startovacího procesu. Windows Defender (který je součástí Windows 8) podporuje ELAM, stejně jako Microsoft System Center 2012 Endpoint Protection a několik dalších ne-Microsoft antimalwarových aplikací.

Measured Boot

Pokud ve vaší firmě dojde k infikaci rootkitem, měli byste o tom vědět. Antimalwarové aplikace pro firmy obvykle umožňují shromažďování informací o výskytu malwaru na centrálním dohledovém místě, ovšem tento postup nefunguje u rootkitů, které svou přítomnost maskují. Jinými slovy, nemůžete důvěřovat klientskému počítači, který vás ujišťuje o svém zdraví.

Počítače infikované rootkitem se tváří jako zdravé a neinfikované i v případě, že na nich běží antimalwarová ochrana. Infikované počítače se tak stále připojují do firemní sítě a umožňují přístup k citlivým firemním datům, včetně možnosti rozšíření rootkitu na další počítače ve firemní síti.

Ve spolupráci s TPM čipem a ne-Microsoft softwarem vám Measured Boot ve Windows 8 umožňuje využít důvěryhodný server pro ověření integrity startovacího procesu. Measured Boot pracuje následujícím způsobem:

  1. UEFI firmware počítače uloží do TPM čipu kontrolní součty samotného firmware, bootloaderu, boot driverů a všech dalších komponent, které budou zavedeny před antimalwarovou aplikací.
  2. Na konci startovacího procesu Windows spustí ne-Microsoft remote attestation klienta. Důvěryhodný attestation server poté pošle klientovi unikátní klíč.
  3. TPM čip použije unikátní klíč pro digitální podpis logu, zaznamenaného UEFI rozhraním.
  4. Klient následně zašle log na server, včetně případných bezpečnostních informací.

V závislosti na implementaci a konfiguraci může nyní server podle logu posoudit zdraví klienta a povolit klientovi buďto omezený přístup pouze do karantény, nebo plný přístup do firemní sítě.

Obrázek 2 ukazuje proces fungování Measured Bootu a remote attestation procesu.

IMG02.png

Windows 8 obsahuje programová rozhraní API pro podporu Measured Bootu, nicméně pro implementaci remote attestation klienta a serveru budete potřebovat ne-Microsoft software. Takovýto software je již k dispozici; můžete vyzkoušet například TPM Platform Crypto-Provider Toolkit z dílny Microsoft Research či Measured Boot Tool, naprogramovaný Danem Griffinem, MVP specialistou v oblasti Microsoft Enterprise Security.

Measured Boot využívá možností UEFI, TPM a Windows 8 a umožňuje zajistit zdraví počítačů napříč firemní sítí.

Závěrem

Secure Boot, Trusted Boot a Measured Boot vytvářejí architekturu, která je od základu odolná proti bootkitům a rootkitům. Pomocí těchto vlastností Windows 8 můžete úspěšně eliminovat kernel-level malware ve své síti. Jedná se o nejpokročilejší antimalwarové řešení, jakým kdy operační systém Windows disponoval, které překonává jakékoliv další metody ochrany. S Windows 8 můžete skutečně věřit integritě svého operačního systému.

Pro další informace:

Pro informace o dalších novinkách ve Windows 8 navštivte stránky českého TechNetu, věnované tomuto operačnímu systému.

Autor: Microsoft TechNet

Živě je díky vašim hlasům ve finále ankety Křišťálová Lupa. Podpořte nás prosím ještě v závěrečném kole. Děkujeme!


Sledujte Živě na Facebooku

celkem 3

Poslední názory Názory

Peknej clanek, zatim jsem si nevzpomnel na to,... Karel Vychodsky 10.  5.  2013 9:36
Microsoft technologii ELAM nevyresil opet vubec... Dawe178 9.  5.  2013 13:14
Musí uživateli umožnit konfiguraci Secure Bootu... Michal Smrž 9.  5.  2013 12:48
Můj názor Zobrazit vše



DEJTE NÁM TIP NA ČLÁNEK

Živě je díky vašim hlasům ve finále ankety Křišťálová Lupa. Podpořte nás prosím ještě v závěrečném kole. Děkujeme!



Aktuální číslo časopisu Computer
  • Testy nejnovějších produktů na českém trhu.
  • Informace ze světa internetu i bezpečnosti.
  • Plné verze programů zdarma pro všechny čtenáře.

Partnerská sekce pro IT profesionály
Microsoft TechNet/MSDN