Stranska vrata v Microsoftov Secure Boot so se odprla

Matej Huš

16. avg 2016 ob 19:56:27

Microsoftu so na internet ušli glavni ključi, ki omogočajo poganjanje poljubne programske opreme, četudi zagon sistema ščiti Secure Boot. S tem je mogoče na nekatere doslej zaščitene naprave namestiti na primer Linux, po drugi strani pa se odpirajo možnost zlorab za pisce zlonamerne programske opreme. Microsoft se trudi s popravki, a težave v celoti ne more odpraviti, ne da bi zrušil združljivost z obstoječimi sistemi.

Secure Boot je funkcija UEFI-ja (naslednik BIOS-a), ki med zagonom preprečuje zaganjanje nepodpisane in nepreverjene programske opreme. Prvikrat smo ga dobili v Windows 8 in za delovanje zahteva računalnik z UEFI. Secure Boot odpravlja pomanjkljivost starega zagona v BIOS-u, kjer se je po sekvenci POST inicializirala strojna oprema, prebral in naložil firmware, nato pa je zaganjalnik (bootloader) začel zagon operacijskega sistema. Ta prva stopnja ni bila varovana, saj se nikjer ni preverjala avtentičnost kode, ki se je zaganjala. Secure Boot preverja podpis zaganjalnika in dovoli zagon le, če ima ustreznega. Seznam podpisanih certifikatov za zagotavljanje hierarhije je v UEFI-ju (db), kjer je tudi seznam preklicanih (dbx).

Secure Boot je na osebnih računalnikih mogoče izključiti, na telefonih in vgradnih napravah z Windows RT, HoloLens, Surface pa ne. Da bi lastnim razvijalcem olajšal delo, pa se je Microsoft tu ustrelil v nogo. Pripravili so namreč možnost, da UEFI ob zagonu izvede nepodpisan zaganjalnik. Ne gre za klasičen ključ (zasebni ključ po shemi PKI za podpisovanje), temveč način za zagon nepodpisane kode (secure boot policy), ki ni vezan na ID naprave, temveč deluje globalno. Ker za ta stranska vrata oziroma univerzalni ključ ne bo nihče izvedel, si je očitno mislil Microsoft, je čisto vseeno, če si razvoj olajšamo na tak način. Pa to ni res, ker je po lastni neumnosti ušel na internet.

MY123 in Slipstream sta na nekaterih napravah ta univerzalni ključ našla, ker je tam ostal po pomoti oziroma zaradi neposrečene uporabe orodij za razhroščevanje. To sta odkrila marca in Microsoft obvestila, a smo iz Redmonda dobili le dva neposrečena popravka, ki težave ne odpravljata v celoti. Microsoft se je namreč težave poskusil lotiti tako, da bi preklical zgoščene vrednosti nekaterih bootmgrjev. Odkritelja sta podrobnosti sedaj priobčila spletu na svoji piskajoči spletni strani.

Microsoft je v odzivu zapisal, da opisana tehnika zaganjanja nepodpisane kode ne deluje na osebnih računalnikih in strežnikih (ker tem Secure Boot ni niti obvezen) in da zahteva fizični dostop do naprave in administratorske privilegije. A Microsoft je tako najlepše pokazal, kaj se zgodi v primeru, ko z dobrimi namenim vgradimo varna stranska vrata, za katere ne bo izvedel nihče, podobno kot so nekateri v primeru FBI vs. Apple zahtevali od podjetja. Skrivnih vrat samo za dobre fante ni.