Kaksi uutista esikäynnistimestä

Ne ovat käännöksiä kahdesta viestistä, jotka James Bottomley on ottanut blogiinsa. Ensimmäinen viesti tehtiin 1. helmikuuta ja sen nimi on "LCA2013 ja suojatun käynnistyksen uudelleenjärjestäminen"

Olen ollut jonkin aikaa hiljaa, joten on aika päivittää, mitä Linux Foundationin Secure Boot Loaderille kuuluu (varsinkin kun se esiteltiin LCA2013-tapahtumassa). ( Linkki dioihin )

Ongelman ydin on se, että GregKH (Greg Kroah-Hartman, kernelin kehittäjä) havaitsi joulukuun alussa, että ehdotettu Pre-BootLoader ei toimisi nykymuodossaan Gummibootin kanssa. Tämä oli lannistavaa, koska se tarkoitti, ettei se täyttänyt Linux Foundationin tavoitetta ottaa käyttöön kaikki käynnistyslataimet. Tutkimusten jälkeen syy oli yksinkertainen: Gummiboot luotiin osoittamaan, että voitaisiin tehdä pieni, yksinkertainen käynnistyslatain, joka hyödyntäisi kaikkia UEFI-alustalla käytettävissä olevia palveluita sen sijaan, että se olisi massiivinen linkkien lataaja kuten GRUB. Valitettavasti tämä tarkoittaa, että se käynnistää ytimet BootServices->LoadImage()-funktiolla, mikä tarkoittaa, että käynnistettävän ytimen on käytävä läpi UEFI-alustan suojatun käynnistyksen tarkistukset. Alun perin Pre-BootLoader, kuten shim (Mathew Garrettin käynnistyslatain), oli kirjoitettu käyttämään PE/Coff-linkkien lataamista ohittaakseen suojatun käynnistyksen tarkistukset. Valitettavasti tämä tarkoittaa, että kaiken Pre-BootLoaderin suorittaman on käytettävä linkkien latausta ohittaakseen suojatun käynnistyksen tarkistukset kaikessa, mitä se haluaa ladata, joten Gummiboot, joka tarkoituksella ei ole linkkien lataaja, ei toimi tällä menetelmällä.

Joten minun piti rakentaa uudelleen ja kirjoittaa uudelleen: Ongelma siirtyi nyt "kuinka luoda Microsoftin allekirjoittama linkkilatausohjelma, joka noudattaa heidän käytäntöjään", siihen, miten kaikki käynnistyslataimen lapset voivat käyttää BootServices-> LoadImage () -toimintoa tapa noudattaa heidän politiikkaansa. Onneksi on olemassa tapa siepata UEFI-alustan allekirjoitusinfrastruktuuri asentamalla oma arkkitehtuurin suojausprotokolla. Valitettavasti alustan alustusmäärittely ei itse asiassa ole osa UEFI-määritystä, mutta onneksi se toteutetaan jokaisessa löytämässäsi Windows 8 -järjestelmässä. Uusi arkkitehtuuri sieppaa kyseisen protokollan ja lisää oman turvatarkistuksen. On kuitenkin toinen ongelma: Vaikka olemme arkkitehtuurin suojausprotokollan soittopyynnössä, emme välttämättä omista UEFI-järjestelmän näyttöä, mikä tekee täysin mahdottomaksi tehdä käyttäjätestin binäärisen suorituksen valtuuttamiseksi. Onneksi tähän on olemassa ei-interaktiivinen tapa, joka on SUSE Machine Owner Key (MOK) -mekanismi. Siksi Linux Foundation Pre-BootLoader kehittyi nyt käyttämään MOK-vakiomuuttujia valtuutettujen binaaristen hajautusten tallentamiseen.

Kaiken tämän takana on, että voit nyt käyttää Pre-BootLoader -ohjelmaa Gummibootin kanssa (aivan kuten se tehtiin demossa LCA2013: ssa). Käynnistämiseksi sinun on lisättävä 2 hajautusta: yksi itse Gummibootille ja toinen käynnistettävälle ytimelle, mutta itse asiassa se on hyvä asia, koska nyt sinulla on yksi suojauskäytäntö, joka ohjaa koko käynnistysjärjestystä. Itse Gummiboot on myös korjattu tunnistamaan turvallisen käynnistyksen aiheuttama kaatuminen ja näyttää viestin, jossa kerrotaan mikä hash on rekisteröitävä.

Teen erillisen viestin, jossa kerrotaan uuden arkkitehtuurin toiminnasta, mutta ajattelin, että olisi parempi selittää, mitä tapahtui viime kuussa.

Ja tämän toisen viestin hän teki eilen, ja sen nimi on "Käynnisti Linux Foundation Secure Boot System"

Kuten luvattiin, tässä on Linux Foundation Secure Boot System. Microsoft julkaisi sen tosiasiallisesti meille 6. helmikuuta, mutta matkoilla, konferensseilla ja kokouksilla minulla ei ollut aikaa vahvistaa kaikkea vasta tänään. Tiedostot ovat:

PreLoader.efi (md5sum 4f7a4f566781869d252a09dc84923a82)
HashTool.efi (md5sum 45639d23aa5f2a394b03a65fc732acf2)
Luo myös käynnistettävä mini-USB-kuva; (Sinun on asennettava se USB: lle dd: llä; kuvassa on GPT-osioita, joten se käyttää koko levyä). Siinä on EFI-kuori, jossa ytimen pitäisi olla, ja lataa sen gummibootilla. Löydät sen täältä (md5sum 7971231d133e41dd667a184c255b599f).

Jos haluat käyttää mini-USB-kuvaa, sinun on annettava hajautusasemat loader.efi-tiedostolle (\ EFI \ BOOT-kansioon) ja shell.efi-tiedostolle (juurikansioon). Se sisältää myös kopion KeyTool.efi-tiedostosta, sinun on annettava hash suoritettavaksi.

Mitä tapahtui KeyTool.efille? Se oli alun perin osa allekirjoitettua pakettiamme. Testin aikana Microsoft havaitsi kuitenkin, että yhdessä UEFI-alustassa olevan virheen vuoksi sitä voitiin käyttää alustan avaimen poistamiseen ohjelmallisesti, mikä pilaisi UEFI-turvajärjestelmän. Kunnes voimme ratkaista tämän (meillä on yksityinen toimittaja silmukassa), he kieltäytyivät allekirjoittamasta KeyTool.efiä, vaikka voit valtuuttaa sen lisäämällä MOK-muuttujia, jos haluat suorittaa sen.

Kerro minulle, miten tämä tapahtuu, koska olen kiinnostunut keräämään palautetta siitä, mikä toimii ja mikä ei. Olen erityisen huolissani siitä, että tietoturvaprotokollan ohitus ei välttämättä toimi kaikilla alustoilla, joten haluan erityisesti tietää, jos se ei toimi heidän puolestaan.

Lähteet:

http://blog.hansenpartnership.com/lca2013-and-rearchitecting-secure-boot/

http://blog.hansenpartnership.com/linux-foundation-secure-boot-system-released/

Päätä onko se hyvä vai huono uutinen.


Lisää ensisijaiseksi lähteeksi Googlessa