17Aug
Het nieuwe UEFI Secure Boot-systeem in Windows 8 heeft meer dan voldoende verwarring veroorzaakt, vooral onder dual-booters. Lees verder als we de misvattingen over dual booting opruimen met Windows 8 en Linux.
De vraag van vandaag &Antwoord sessie komt naar ons met dank aan SuperUser-een onderverdeling van Stack Exchange, een community-gestuurde groepering van Q & A-websites.
De vraag
SuperUser-lezer Harsha K is nieuwsgierig naar het nieuwe UEFI-systeem. Hij schrijft:
Ik heb veel gehoord over hoe Microsoft UEFI Secure Boot implementeert in Windows 8. Blijkbaar voorkomt het dat "onbevoegde" bootloaders op de computer worden uitgevoerd om malware te voorkomen. Er is een campagne van de Free Software Foundation tegen veilig opstarten, en veel mensen hebben online gezegd dat het een "power grab" is van Microsoft om "gratis besturingssystemen te elimineren".
Als ik een computer krijg waarop Windows 8 en Secure Boot vooraf zijn geïnstalleerd, kan ik later Linux( of een ander besturingssysteem) nog steeds installeren? Of werkt een computer met Secure Boot alleen met Windows?
Dus wat is de deal? Hebben dubbele booters echt geen geluk?
Het antwoord
SuperUser-bijdrager Nathan Hinkle biedt een fantastisch overzicht van wat UEFI wel en niet is:
Allereerst het eenvoudige antwoord op uw vraag:
- Als u een ARM-tablet met Windows RT( zoals de Surface RT of deAsus Vivo RT) en vervolgens kunt u Secure Boot niet uitschakelen of andere besturingssystemen installeren. Net als veel andere ARM-tablets, zullen deze apparaten alleen uitvoeren op het OS waarmee ze komen.
- Als u een niet-ARM-computer met Windows 8( zoals de Surface Pro of een van de ontelbare ultrabooks, desktops en tablets met een x86-64-processor) hebt, kunt u Secure Boot volledig uitschakelen, of u kuntinstalleer je eigen sleutels en teken je eigen bootloader. Hoe dan ook, met kun je een besturingssysteem van derden installeren zoals een Linux distro of FreeBSD of DOS of wat je maar wilt.
Nu, op de details van hoe dit hele Secure Boot-ding eigenlijk werkt: er is veel verkeerde informatie over Secure Boot, vooral van de Free Software Foundation en vergelijkbare groepen. Dit heeft het moeilijk gemaakt om informatie te vinden over wat Secure Boot eigenlijk doet, dus ik zal mijn best doen om het uit te leggen. Merk op dat ik geen persoonlijke ervaring heb met het ontwikkelen van veilige opstartsystemen of iets dergelijks;dit is precies wat ik heb geleerd door online te lezen.
Allereerst is Secure Boot niet iets waar Microsoft mee kwam. Ze zijn de eersten die het op grote schaal implementeren, maar ze hebben het niet uitgevonden. Het maakt deel uit van de UEFI-specificatie, die in feite een nieuwere vervanging is voor het oude BIOS dat u waarschijnlijk gewend bent. UEFI is eigenlijk de software die praat tussen het besturingssysteem en de hardware. UEFI-normen worden gecreëerd door een groep die het "UEFI-forum" wordt genoemd en dat bestaat uit vertegenwoordigers van de computerindustrie, waaronder Microsoft, Apple, Intel, AMD en een handvol computerfabrikanten.
Het tweede belangrijkste punt, met Secure Boot ingeschakeld op een computer betekent niet dat computer nooit een ander besturingssysteem kan opstarten. De eigen Windows Hardware Certification Requirements van Microsoft stellen zelfs dat voor niet-ARM-systemen, u zowel Secure Boot kunt uitschakelen als de sleutels kunt wijzigen( om andere besturingssystemen toe te staan).Daarover later meer.
Wat doet Secure Boot?
In wezen voorkomt het dat malware je computer aanvalt via de opstartvolgorde. Malware die via de bootloader binnenkomt, kan erg moeilijk te detecteren en te stoppen zijn, omdat het de low-levelfuncties van het besturingssysteem kan infiltreren en het onzichtbaar voor antivirussoftware kan houden. Alles wat Secure Boot echt doet, is dat het verifieert dat de bootloader van een vertrouwde bron is en dat er niet mee is geknoeid. Zie het als de pop-up caps op flessen die zeggen "open niet als er een deksel is opgetrokken of er is geknoeid met".
Op het hoogste beveiligingsniveau hebt u de platformsleutel( PK).Er is slechts één PK op een systeem en het wordt tijdens de productie door de OEM geïnstalleerd. Deze sleutel wordt gebruikt om de KEK-database te beschermen. De KEK-database bevat Key Exchange Keys, die worden gebruikt om de andere beveiligde opstartdatabases aan te passen. Er kunnen meerdere KEKs zijn. Er is dan een derde niveau: de Authorized Database( db) en de Forbidden Datbase( dbx).Deze bevatten informatie over respectievelijk certificaatautoriteiten, extra cryptografische sleutels en UEFI-apparaatafbeeldingen om toe te staan of te blokkeren. Opdat een bootloader zou kunnen worden uitgevoerd, moet deze cryptografisch worden ondertekend met een sleutel die is in de db, en is niet in de dbx.
Afbeelding van Building Windows 8: de pre-OS-omgeving beschermen met UEFI
Hoe dit werkt op een realistisch Windows 8 Certified-systeem
De OEM genereert zijn eigen PK en Microsoft biedt een KEK die de OEM nodig heeft omladen in de KEK-database. Microsoft ondertekent vervolgens de Windows 8 Bootloader en gebruikt hun KEK om deze handtekening in de geautoriseerde database te plaatsen. Wanneer UEFI de computer opstart, wordt de PK geverifieerd, wordt KEK van Microsoft geverifieerd en wordt vervolgens de bootloader gecontroleerd. Als alles er goed uitziet, kan het besturingssysteem opstarten.
Afbeelding van het bouwen van Windows 8: de pre-OS omgeving beschermen met UEFI
Waar komen externe besturingssystemen, zoals Linux, binnen?
Allereerst kan elke Linux-distro ervoor kiezen om een KEK te genereren en OEM's te vragen om deze standaard op te nemen in de KEK-database. Ze zouden dan net zo veel controle over het opstartproces hebben als Microsoft. De problemen hiermee, zoals uitgelegd door Matthew Garrett van Fedora, zijn dat a) het moeilijk zou zijn om elke pc-fabrikant de sleutel van Fedora te laten opnemen, en b) het zou oneerlijk zijn voor andere Linux-distributies, omdat hun sleutel niet zou worden opgenomen, omdat kleinere distributeurs niet zoveel OEM-partnerschappen hebben.
Wat Fedora ervoor gekozen heeft te doen( en andere distributies volgen), is het gebruik van de signeerservices van Microsoft. In dit scenario moet $ 99 worden betaald aan Verisign( de certificeringsinstantie die Microsoft gebruikt) en kunnen ontwikkelaars hun bootloader ondertekenen met Microsoft's KEK.Omdat KEK van Microsoft al in de meeste computers aanwezig is, kunnen ze hun bootloader ondertekenen om Secure Boot te gebruiken, zonder hun eigen KEK te hoeven gebruiken. Het wordt uiteindelijk meer compatibel met meer computers en kost minder over het algemeen dan het opzetten van een eigen systeem voor het ondertekenen en distribueren van sleutels. Er zijn wat meer details over hoe dit werkt( met behulp van GRUB, gesigneerde Kernel-modules en andere technische informatie) in de bovengenoemde blogpost, die ik aanraad om te lezen als je geïnteresseerd bent in dit soort dingen.
Stel dat u zich niet bezig wilt houden met het gedoe om u aan te melden voor het Microsoft-systeem, of geen $ 99 wilt betalen, of gewoon een wrok koestert tegen grote bedrijven die met een M beginnen. Er is nog een andere optie om Secure te gebruikenOpstarten en een ander besturingssysteem dan Windows uitvoeren. Microsoft's hardwarecertificering vereist dat OEM's gebruikers hun systeem laten invoeren in de "aangepaste" modus van UEFI, waar ze handmatig de Secure Boot-databases en de PK kunnen wijzigen. Het systeem kan in de UEFI-installatiemodus worden geplaatst, waar de gebruiker zelfs zijn eigen PK kan specificeren en bootloaders zelf kan ondertekenen.
Bovendien zijn de certificeringsvereisten van Microsoft verplicht voor OEM's om een methode op te nemen om Secure Boot op niet-ARM-systemen uit te schakelen. U kunt Secure Boot uitschakelen! De enige systemen waar u Secure Boot niet kunt uitschakelen zijn ARM-systemen met Windows RT, die meer op dezelfde manier werken als de iPad, waar u aangepaste besturingssystemen niet kunt laden. Hoewel ik zou willen dat het mogelijk zou zijn om het OS op ARM-apparaten te veranderen, is het redelijk om te zeggen dat Microsoft de industriestandaard met betrekking tot tablets hier volgt.
Dus veilige opstart is niet inherent slecht?
Zoals je hopelijk kunt zien, is Secure Boot niet slecht en niet beperkt tot alleen gebruik met Windows. De reden waarom de FSF en anderen er zo overstuur over zijn, is omdat het extra stappen toevoegt aan het gebruik van een extern besturingssysteem. Linux distributies betalen misschien niet graag om de sleutel van Microsoft te gebruiken, maar het is de eenvoudigste en meest kosteneffectieve manier om Secure Boot voor Linux te laten werken. Gelukkig is het eenvoudig om Secure Boot uit te schakelen en mogelijk om verschillende sleutels toe te voegen, waardoor het niet nodig is om met Microsoft af te rekenen.
Gezien de hoeveelheid steeds geavanceerdere malware lijkt Secure Boot een redelijk idee. Het is niet bedoeld als een slecht complot om de wereld over te nemen, en het is een stuk minder eng dan sommige experts van vrije software je laten geloven.
Aanvullende informatie:
- Microsoft Hardwarecertificeringsvereisten
- Gebouw Windows 8: bescherming van de pre-OS omgeving met UEFI
- Microsoft-presentatie over Secure Boot-implementatie en sleutelbeheer
- Implementatie van UEFI Secure Boot in Fedora
- TechNet Secure Boot Overview
- Wikipedia-artikel over UEFI
TL; DR: Secure boot voorkomt dat malware uw systeem infecteert op een laag, ondetecteerbaar niveau tijdens het opstarten. Iedereen kan de benodigde sleutels maken om het te laten werken, maar het is moeilijk om computerfabrikanten ervan te overtuigen uw -sleutel aan iedereen te geven, dus u kunt ook kiezen om Verisign te betalen om de sleutel van Microsoft te gebruiken om uw bootloaders te ondertekenen en te laten werken. U kunt Secure Boot on ook op elke niet-ARM-computer uitschakelen.
Laatste gedachte, met betrekking tot de FSF-campagne tegen Secure boot: enkele van hun zorgen( dat wil zeggen, het maakt moeilijker om gratis besturingssystemen te installeren) zijn geldig tot een punt .Zeggen dat de beperkingen "voorkomen dat iemand iets anders dan Windows opstart", is echter aantoonbaar onjuist, om de hierboven geïllustreerde redenen. Campagne voeren tegen UEFI / Secure Boot als een technologie is kortzichtig, slecht geïnformeerd en is waarschijnlijk niet effectief. Het is belangrijker om ervoor te zorgen dat fabrikanten daadwerkelijk voldoen aan de vereisten van Microsoft om gebruikers Secure Boot te laten uitschakelen of de sleutels te wijzigen als ze dat willen.
Heeft u iets toe te voegen aan de uitleg? Geluid uit in de opmerkingen. Wilt u meer antwoorden van andere technisch onderlegde Stack Exchange-gebruikers lezen? Bekijk de volledige discussiethread hier.