Windows 8 és Linux: nem lesznek barátok

A BIOS-t leváltó UEFI (Unified Extensible Firmware Interface) specifikáció legfrissebb, 2.3.1-es verziójának idén áprilisi elfogadása óta aggasztja a szabad szoftverek híveit az interfész egy új, opcionális biztonsági funkciója. A „secure boot” nevű megoldás azt garantálhatja, hogy az operációs rendszerbe annak betöltődésekor ne tudjon beépülni idegen, jellemzően rosszindulatú komponens, így például kihúzható a talaj a rootkitek lába alól. Ennek hasznosságát senki sem vonja kétségbe, a problémát e tábor abban látja, hogy az alkalmazott szoftverhitelesítési eljárás nincs tekintettel a nyílt forráskódú operációs rendszerek ökoszisztémájára. Ennek következményei a gyakorlatban még nem jelentkeztek, mert egyetlen gyártó sem követelte meg a secure boot használatát – egészen mostanáig.

Mint nemrég kiderült, a Microsoft a Windows 8 kliensváltozatának esetében a „Designed for Windows 8” logót használni akaró számítógép-gyártók számára előírja e biztonsági funkció aktiválását. A secure boot úgy működik, hogy csak azokat a végrehajtható állományokat engedi futni a bootfolyamat során, amelyeket egy nyilvános kulcsú kriptográfiai eljárással aláírtak. A hitelesítéshez használt nyilvános kulcsokat a firmware-ben egy adatbázisban tárolják, melyet értelemszerűen a számítógép-gyártók töltenek fel és tartanak karban. Ezzel a gyártók meg tudják határozni, hogy mely szoftverkomponensek (operációs rendszer, bootloader, driver stb.) indulhatnak el a hardveren.

A megoldás működéséből fakad, hogy csak olyan operációs rendszer indítható el a secure bootot használó gépen, amelynek kulcsa megtalálható a firmware-ben, a Linux esetében azonban ez nehezen biztosítható. Amint a Red Hat egyik fejlesztője, Matthew Garrett írja blogjában: egy aláírással hitelesített Linuxhoz egy olyan bootloaderre lenne szükség, amelyik nem GPL-licencelésű, a GPLv3 ugyanis előírja, hogy a forráskóddal együtt az annak futtatásához szükséges kulcsokat is szabadon hozzáférhetővé kell tenni, ami itt nem lehet opció. Az egyik népszerű bootloader, a Grub 2 például GPLv3 licencet használ. Másrészről: még ha a disztribúciók ezt meg is tudják oldani, a privát kulcsukat nem adhatnák ki, ezzel pedig megszűnne annak a lehetősége, hogy a felhasználók saját maguk által fordított, testre szabott rendszereket használhassanak az UEFI-alapú gépeken.

Emiatt az előtelepített Windows 8-cal szállított számítógépekre valószínűleg nem lesz telepíthető sem első, sem második operációs rendszerként Linux. Megoldást jelenthetne erre az egyébként csak egy szűkebb felhasználói tábort érintő problémára az, ha a PC-gyártók engedélyeznék a secure boot kikapcsolását. Garrett szerint a Microsoft egyelőre nem gördít e lehetőség elé akadályokat, de – teszi hozzá – a tapasztalat azt mutatja, hogy a gyártók   általában csak a legszükségesebb firmware-funkciókat támogatják, és nem biztos, hogy a secure boot ki-bekapcsolása ezek közé tartozik majd. Ez ellen szól az is, hogy az opció implementálása potenciális támadási felületet jelent a védelmet megkerülni akaró bűnözők számára.

Az UEFI e funkciója tehát lehetőséget biztosít a PC-gyártók és a zárt operációs rendszereket fejlesztő szoftvervállalatok számára a hardver és a szoftver egymáshoz láncolására, ha úgy tetszik, a jailbreak megakadályozására a PC-ken. Ez egyelőre kizárólag a Windows 8 kliensváltozatát érinti, a szerverkiadást nem.

Azóta történt

Előzmények