Oni su prijevodi dvaju postova koje je James Bottomley zauzeo na svom blogu. Prva objava objavljena je 1. veljače i zove se "LCA2013 i restrukturiranje sigurnog pokretanja"
Već neko vrijeme nisam ništa rekao, pa je vrijeme za novosti o tome što se događa s programom Secure Boot Loader tvrtke Linux Foundation (posebno otkako je predstavljen na LCA2013). ( Link na slajdove )
Suština problema je u tome što je GregKH (Greg Kroah-Hartman, programer kernela) početkom prosinca otkrio da predloženi Pre-BootLoader neće raditi u svom trenutnom obliku s Gummibootom. To je bilo obeshrabrujuće jer je značilo da ne ispunjava misiju Linux Foundationa o omogućavanju svih bootloadera. Razlog, nakon istrage, bio je jednostavan: Gummiboot je stvoren kako bi se pokazalo da se može napraviti mali, jednostavan bootloader koji koristi sve usluge dostupne na UEFI platformi umjesto da bude masivni učitivač poveznica poput GRUB-a. Nažalost, to znači da pokreće kernele pomoću funkcije BootServices->LoadImage(), što znači da kernel koji se pokreće mora proći kroz sigurne provjere pokretanja na UEFI platformi. Izvorno je Pre-BootLoader, poput shima (Mathew Garrettov bootloader), napisan za korištenje PE/Coff učitavanja poveznica kako bi se zaobišle sigurne provjere pokretanja. Nažalost, to znači da sve što izvršava Pre-BootLoader mora koristiti i učitavanje poveznica kako bi prevladao sigurne provjere pokretanja svega što želi učitati, te stoga Gummiboot, koji namjerno nije učitivač poveznica, neće raditi prema ovoj shemi.
Zato sam morao restrukturirati i prepisati: Problem je sada prešao s "kako stvoriti učitavač veza s potpisom Microsofta koji poštuje njihova pravila" na "kako aktivirati svu podređenu stranicu učitača za upotrebu funkcije BootServices-> LoadImage () na način da se pokoravam njihovoj politici. ' Srećom, postoji način da presretnete infrastrukturu za potpisivanje UEFI platforme instaliranjem vlastitog sigurnosnog protokola arhitekture. Nažalost, specifikacija inicijalizacije platforme zapravo nije dio UEFI specifikacije, ali srećom implementira je svaki sustav Windows 8 koji možete pronaći. Nova arhitektura presreće taj protokol i dodaje vlastitu sigurnosnu provjeru. Međutim, postoji i drugi problem: dok smo u povratnom pozivu sigurnosnog protokola arhitekture, ne posjedujemo nužno zaslon UEFI sustava, što čini potpuno nemogućim obavljanje korisničkog testa za autorizaciju izvršenja binarnog programa. Srećom, postoji neinteraktivni način za to, a to je mehanizam SUSE Machine Owner Key (MOK). Stoga se Linux Foundation Pre-BootLoader sada razvio da koristi standardne MOK varijable za pohranu autoriziranih binarnih hashova.
Rezultat svega ovoga je da sada možete koristiti Pre-BootLoader s Gummiboot-om (baš kao što je to učinjeno u demonstraciji na LCA2013). Da biste pokrenuli sustav, morate dodati 2 hasha: jedan za sam Gummiboot, a drugi za kernel koji želite pokrenuti, ali to je zapravo dobra stvar jer sada imate jednu sigurnosnu politiku koja kontrolira cijelu sekvencu pokretanja. I sam Gummiboot je zakrpan kako bi prepoznao pad zbog sigurnog pokretanja i prikazuje poruku koja vam govori koji hash trebate registrirati.
Napravit ću zaseban post objašnjavajući kako funkcionira nova arhitektura, ali smatrao sam da bi bilo bolje objasniti što se dogodilo prošli mjesec.
I ovaj drugi post koji je objavio jučer zove se "Pokrenuo Linux Foundation Secure Boot System"
Kao što je i obećano, ovdje je Linux Foundation Secure Boot System. Microsoft nam ga je zapravo objavio 6. veljače, ali s putovanjima, konferencijama i sastancima nisam imao vremena provjeriti sve do danas. Datoteke su:
PreLoader.efi (md5sum 4f7a4f566781869d252a09dc84923a82)
HashTool.efi (md5sum 45639d23aa5f2a394b03a65fc732acf2)
Također stvorite pokretačku mini-USB sliku; (Morate ga instalirati na USB pomoću dd; slika ima GPT particije, tako da koristi cijeli disk). Ima EFI ljusku u kojoj treba biti jezgra i koristi gummiboot za njeno učitavanje. Možete ga pronaći ovdje (md5sum 7971231d133e41dd667a184c255b599f).Da biste koristili mini-USB sliku, morate unijeti hasheve za loader.efi (u mapu \ EFI \ BOOT) i shell.efi (u korijensku mapu). Uključuje i kopiju KeyTool.efi-a koju morate unijeti u hash za pokretanje.
Što se dogodilo s KeyTool.efi? Prvobitno će biti dio našeg potpisanog kompleta. Međutim, tijekom testiranja Microsoft je otkrio da bi se zbog pogreške na jednoj od UEFI platformi mogao koristiti za programsko uklanjanje ključa s platforme, što bi uništilo UEFI sigurnosni sustav. Dok to ne uspijemo riješiti (privatnog dobavljača imamo u petlji), odbijali su potpisati KeyTool.efi iako ga možete odobriti dodavanjem MOK varijabli ako ga želite pokrenuti.
Javite mi kako to ide jer me zanima prikupljanje povratnih informacija o tome što funkcionira, a što ne. Konkretno, zabrinut sam da poništavanje sigurnosnog protokola neće raditi na nekim platformama, pa me posebno zanima hoće li to funkcionirati kod njih.
Fuentes:
http://blog.hansenpartnership.com/lca2013-and-rearchitecting-secure-boot/
http://blog.hansenpartnership.com/linux-foundation-secure-boot-system-released/
Odlučite jesu li to dobre ili loše vijesti.