Två nyheter om pre-bootloader

De är översättningarna av två inlägg som James Bottomley har tagit på sin blogg. Det första inlägget gjordes den 1 februari och kallas "LCA2013 och omstrukturering av den säkra start"

Jag var tyst lite, så det är dags att ge en uppdatering om vad som händer med Linux Foundation Secure Boot Loader (speciellt att den presenterades på LCA2013). (Länk till bilderna)

Kärnan i problemet är att GregKH (kärnutvecklare Greg Kroah-Hartman) upptäckte i början av december att den föreslagna Pre-BootLoader inte skulle fungera i sin nuvarande form med Gummiboot. Det var något skrämmande eftersom det innebar att det inte uppfyllde Linux Foundation uppdrag att aktivera alla startladdare. I forskningen var anledningen enkel: Gummiboot skapades för att visa att du kunde skapa en liten och enkel bootloader som skulle dra nytta av alla tjänster som finns tillgängliga på UEFI-plattformen istället för att vara en massiv länklastare som GRUB. Tyvärr betyder det att du startar kärnor med BootServices-> LoadImage () -funktionen, vilket innebär att kärnan som ska startas måste gå igenom de säkra startkontrollerna på UEFI-plattformen. Ursprungligen Pre-BootLoader, som shim (Mathew Garrett's bootloader), skrevs för att använda PE / Coff-länkbelastning för att slå säkra startkontroller. Tyvärr betyder det att något som körs av Pre-BootLoader också måste använda länkladdning för att slå de säkra startkontrollerna på allt det vill ladda och därför kommer Gummiboot, som medvetet inte är en länkladdare, inte fungerar enligt detta schema.

Så jag var tvungen att omstrukturera och skriva om: Problemet gick nu från "hur man skapar en länkladdare signerad av Microsoft som följer deras policyer" till "hur man aktiverar alla barn i startladdaren för att använda BootServices-> LoadImage () -funktionen sätt att följa deras politik. Lyckligtvis finns det ett sätt att fånga UEFI-plattformens signeringsinfrastruktur genom att installera ditt eget arkitektursäkerhetsprotokoll. Tyvärr är plattformsinitieringsspecifikationen faktiskt inte en del av UEFI-specifikationen, men tack och lov implementeras den av alla Windows 8-system du kan hitta. Den nya arkitekturen avlyssnar protokollet och lägger till sin egen säkerhetskontroll. Det finns emellertid ett andra problem: Medan vi befinner oss i återuppringning av arkitektursäkerhetsprotokollet äger vi inte nödvändigtvis UEFI-systemskärmen, vilket gör det helt omöjligt att göra ett användartest för att auktorisera körningen av binärsystemet. Lyckligtvis finns det ett icke-interaktivt sätt att göra detta och det är SUSE Machine Owner Key (MOK) -mekanismen. Därför utvecklades Linux Foundation Pre-BootLoader nu till att använda standard MOK-variabler för att lagra auktoriserade binära hash.

Resultatet av allt detta är att du nu kan använda Pre-BootLoader med Gummiboot (precis som det gjordes i demo på LCA2013). För att starta måste du lägga till två hash: en för Gummiboot själv och den andra för kärnan som du vill starta, men det är faktiskt en bra sak för nu har du en enda säkerhetspolicy som kontrollerar hela startsekvensen. Gummiboten själv lappades också för att känna igen en bugg på grund av den säkra start och visar ett meddelande som berättar vilken hash du ska registrera.

Jag kommer att göra ett separat inlägg som förklarar hur den nya arkitekturen fungerar, men jag trodde att det skulle vara bättre att förklara vad som hände förra månaden.

Och det här andra inlägget gjorde han igår och heter "Lanserade Linux Foundation Secure Boot System"

Som lovat är här Linux Foundation Secure Boot System. Det släpptes faktiskt till oss av Microsoft den 6 februari, men med resor, konferenser och möten hade jag inte tid att validera allt förrän idag. Filerna är:

PreLoader.efi (md5sum 4f7a4f566781869d252a09dc84923a82)
HashTool.efi (md5sum 45639d23aa5f2a394b03a65fc732acf2)
Skapa också en startbar mini-USB-bild; (Du måste installera den på USB med dd; bilden har GPT-partitioner, så den använder hela disken). Den har ett EFI-skal där kärnan ska vara och använder gummiboot för att ladda den. Du hittar den här (md5sum 7971231d133e41dd667a184c255b599f).

För att använda mini-USB-bilden måste du ange hash för loader.efi (i mappen \ EFI \ BOOT) och shell.efi (i rotmappen). Den innehåller också en kopia av KeyTool.efi, du måste ange hash för att köra.

Vad hände med KeyTool.efi? Det skulle ursprungligen bli en del av vårt signerade kit. Men under testet upptäckte Microsoft att på grund av ett fel i en av UEFI-plattformarna kunde den användas för att ta bort plattformsnyckeln programmatiskt, vilket skulle förstöra UEFI-säkerhetssystemet. Tills vi kan lösa detta (vi har den privata leverantören i slingan) vägrade de att underteckna KeyTool.efi även om de kan auktorisera det genom att lägga till MOK-variabler om de vill köra det.

Låt mig veta hur detta går eftersom jag är intresserad av att få feedback om vad som fungerar och vad som inte fungerar. Jag är särskilt oroad över att säkerhetsprotokollets åsidosättning inte kommer att fungera på vissa plattformar, så jag vill särskilt veta om det inte fungerar för dem.

Källor:

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

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

Bestäm om det är goda eller dåliga nyheter.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Alf sade

    Jag kan inte se effekterna på lång sikt, men för mig blir det mitt mål att förvärva en av dessa http://blog.linuxmint.com/?p=2055

    1.    giskard sade

      De är väldigt dyra tror jag.

    2.    Carlos-Xfce sade

      Det finns företag som säljer datorer utan ett förinstallerat operativsystem. Andra låter dig välja mellan Ubuntu eller andra och skicka det till ditt hem redo. Du kan också köpa delarna och montera dem själv och placera det operativsystem du vill ha.

      I din stad (GDL) finns det en kedja datorbutiker som säljer datorer utan ett förinstallerat operativsystem. Du kan sätta Linux på dem.

      Det finns alltid alternativ. I det här fallet är de avlägsna och mycket "dolda" för den vanliga användaren. Men för de av oss som vill ha Linux finns det, det finns det.

      1.    regnbågsfluga sade

        Det finns inte så många alternativ för användare i Latinamerika eftersom dessa "speciella" företag vanligtvis inte når hit 🙁

        1.    abib91 sade

          awwnnn ledsen, ledsen .... att jävla UEFI är ett verkligt problem

          1.    abib91 sade

            Rapportera fel…. vad hände? Varför fick jag apple-logotypen i mina kommentarer? Jag använder midori, men från ubuntu, inte från en mac: /

          2.    pandev92 sade

            Tja, väldigt enkelt, du måste byta användaragent.

  2.   Damian rivera sade

    Dessa plugins är baserade på att söka efter en sträng (textsträng) i det här fallet letar de efter ditt system i användaragenten och midori-användaragenten har en textsträng som också har MacOS X, jag kommer inte ihåg om intel eller Mac OSX eller de två, men först hitta den här strängen och relatera den som om det vore Mac. För en tid sedan programmerade jag ett liknande skript i php och ett annat javaskript och detta löses från skriptet, eftersom jag ser att det inte tar något efter Mac OS X och skicka det resultatet till midori-variabeln, eftersom det är det enda som skiljer användaragenten som används av midori med Mac, eller så kan vi också ändra det.

    Kolla in den här webbplatsen med midori

    http://whatsmyuseragent.com/

    Och användaragenten har inget att göra med Linux

    hälsningar

  3.   Alf sade

    «Carlos-Xfce
    I din stad (GDL) finns en kedja datorbutiker som säljer datorer utan ett förinstallerat operativsystem. Du kan sätta Linux på dem. "

    Vid den tiden såg jag och hittade inte, bara en grossist som sålde mig netbooks utan operativsystem, men bara det, ingen PC eller bärbar dator, bara netbook.

    Kan du säga kedjans namn?

    1.    Alf sade

      Om uppläggning av kedjanamnet skulle kunna tolkas felaktigt och anses vara skräppost, skulle det vara bra att vänta på att administratörerna skulle ge sin åsikt om det.