UEFI Secure Boot: Big Hassle, tvilsom Benefit


Microsoft krever UEFI "sikre" boot for Windows 8 sertifisert maskinvare. Mer sikkerhet er bra, ikke sant? Selv om det låser seg Linux?
Er

Microsoft krever Windows 8-sertifiserte hardware skal følge med UEFI Secure Boot aktivert. Dette hindrer installere andre operativsystemer, eller kjører noen live Linux media. Det finnes måter å komme rundt Secure Boot-- men hvorfor skal vi nok en gang nødt til å hoppe gjennom Microsoft ringer bare for å bruke vår egen maskinvare slik vi vil?

Hva er UEFI?
< p> UEFI er Unified Extensible Firmware Interface, en ny firmware for å erstatte eldre og utilstrekkelig PC BIOS vi har brukt siden tidenes morgen x86 personlige dataalderen. PC BIOS (Basic Input Output System) støtter kun 16-bits prosesser og 1MB minne adressering, så den gir bare minimal oppgaver som er nødvendige for å starte en datamaskin, og deretter hands off til neste stadium bootloader, som GRUB, LILO, eller syslinux. Vi har vært lenket til 4-primær partisjon master boot record, og ute av stand til å starte opp > 2.2TB harddisker på grunn av PC BIOS.

UEFI var opprinnelig EFI, som ble utviklet av Intel som et moderne alternativ til PC BIOS. Nå er det støttet av en stor ole industri konsortium befolket av stort sett alle i tech. UEFI er egentlig litt operativsystemet, slik at den kan programmeres til å gjøre omtrent hva som helst: boot rask, spille spill, tillate ekstern tilgang uten å starte operativsystemet, nedleggelse, Web surf, og alle de tingene som Linux pre-boot-miljøer lovet. Den støtter både en pen mus-drevet grafisk grensesnitt, og en konsoll grensesnitt. Det har sin egen nettverksstakken, og støtter sitt eget sett av enhetsdrivere, slik at du kan ha video, nettverk, eksterne enheter, og andre funksjoner som er tilgjengelige i løpet av pre-boot. Det har sin egen innebygde oppstartsmenyen. Den har 32-bits og 64-bits modus. Det støvler > 2 TB harddisker og bruker GUID (globalt unike IDer) partisjonstabellen i stedet for den mugne gamle MBR. Det er en fortsatt en grense på størrelsen på harddisker kan starte opp - 9,4 zettabytes. Jeg forventer at de fleste av oss vil være i stand til å håndtere den begrensningen

Figur 1:.. En enkelt diagram som viser hvor UEFI passer i system oppstart


(< i> Bilde gjengitt Wikimedia Commons
)

UEFI støtter to typer tjenester: boot-time og runtime. Boot tjenester er tilgjengelige mens UEFI firmware styrer systemet, og runtime tjenester er tilgjengelig både i firmware-kontroll, og etter at operativsystemet tar over. UEFI har en BSD-lisensiert kjerne, og deretter leverandører kan tilpasse utvidelser som de vil, inkludert lukket-source drivere, støtte for eldre operativsystemer og andre utvidelser.

Selvfølgelig alt dette fleksibilitet og funksjons ful godhet kommer til en pris: kjernen kildekoden inneholder over 7000 filer og over 100 MB med kode. Det er om lag 10 prosent av størrelsen på hele Linux-kjernen, og hvis du fjerner alle driverne fra kjernen UEFI er større enn kjernen kjernen. Som er en rettferdig sammenligning, fordi de fleste UEFI maskinvaredrivere er ikke i kjernen.

Det vil ta et par artikler for å skrive en detaljert UEFI oversikt. Sjekk ut UEFI spesifikasjonen for å lære mer. Det er over 2200 sider, men det er en gratis nedlasting og de første kapitlene er informativ selv for ikke-utviklere.

Ikke alle Skittles og Beer

PC BIOS var lang forfallen for pensjonering, men er UEFI en forbedring? UEFI er stort, og det dupliserer mye operativsystem funksjonalitet. Mer kode tilsvarer flere funksjoner. Det betyr også flere feil, og flere potensielle sårbarheter, noe som er bekymringsfullt i en pre-boot miljø som holder til nøklene til alle deler av datamaskinen, all din programvare og maskinvare.

Hvorfor Secure Boot?

Windows har blitt noe mindre sårbare i de siste årene, blant annet på grunn av verktøy som validerings brikker. Det er en kjede av validering som går noe sånt som dette: The bootloader hevder at kjernen ikke har blitt tuklet med, og gjør det mulig å starte opp. Microsoft har krevd signerte drivere for de siste årene, så det neste trinnet er for kjernen for å verifisere driver signaturer. Så når brukerne kjøre en malware scanner de har en rimelig sikkerhet for at svarene det får fra kjernen er nøyaktige. Så et logisk angrepspunkt er bootloader. Kompromittere bootloader, og deretter kan du legge inn kjerne inn i minnet og endre kjernen i minnet. Og deretter gjøre alt du vil.

Men selv om dine bootloader, kernel og drivere er trygge, gjør dette ingenting for userspace, som infeksjoner via nettleser. Det er nok av kjøttfulle retter for malware å knaske i userspace, og anti-malware programvare er aldri 100 prosent.

Til tross for alle spørsmål om sin sikkerhet og faktiske trygden, Microsoft krever, som en betingelse for å motta den offisielle Windows 8-sertifisering, at maskinvareleverandører aktivere UEFI Secure Boot som standard på klientsystemer. De kan bruke sine egne signering nøkler, eller Microsofts. Det er økonomiske insentiver til å få den offisielle sertifisering, så de vil alle gjøre det. Windows 8 vil starte uten Secure Boot, og den vil installere på eldre maskinvare. Men senere i år, som de nye OEM Windows 8 PC inn i markedet, de kommer til å følge med UEFI Secure Boot slått på. Så alle som ikke ønsker å hassle med Secure Boot vil bli tvunget til. Opprinnelig Microsoft ønsker ikke selv en deaktivere alternativet, eller å tillate brukere å bruke sine egne nøkler og sertifiseringsinstanser, men de endret mening for x86-maskinvare.

Fedora og Red Hat, som ønsker å holde sine brukeres alternativer åpen, har valgt å betale $ 99 gebyr for å bli signert med Microsofts nøkler. Dette vil tillate Fedora 18 brukere til å bruke Secure Boot-beheftet systemer uten å deaktivere den, og til slutt Red Hat Enterprise Linux også. Andre utdelinger er fortsatt å finne ut hva de skal gjøre.

Implementering Secure Boot for Linux har en rekke tekniske og GPL hindrene, som Matthew Garrett beskriver i Hvorfor UEFI sikker boot er vanskelig for Linux. Kortfattet sammendrag: Det betyr trading brukervennlighet og fleksibilitet for hva jeg mener er tvilsomme fordeler

Slå det Off-- Unntatt på ARM

Hvordan å slå den av på x86-enheten.? Det vil avhenge helt på maskinvareleverandøren implementering. Brukere må angi sine UEFI-grensesnitt og jakte ned Secure Boot kontroll, noe som kan kalles noe og begravet hvor som helst. Jeg har vært imponert over kvaliteten kontroll som gikk inn i PC-BIOS for alle disse årene, så hvem vet hva moro venter oss i å rote med UEFI fastvareinnstillingene.

ARM maskinvare er en annen story-- Secure Boot er obligatorisk og kan ikke deaktiveres. (Se side 122 av Windows 8 hardware sertifisering.)

Mer Security? Virkelig.

For å levere noen faktiske sikkerhet, trenger Secure Boot en skudd pre-boot miljø, og en pålitelig, sikker sertifiseringsinstans og signeringsnøkler. Så det andre store spørsmålet, etter "Bulletproof? Hva er det?" er som CA og nøklene? Microsoft har allerede en CA infrastruktur på plass for å signere driverne.

Men har vi ikke lært at de grunninstanser er sårbare? Hvor mange ganger har Verisign blitt kompromittert? Bruce Schneier kaller sertifikatsystemet "helt knust." Hvem er vert for Microsofts CA? Verisign. Har vi allerede glemt den Flame malware som etterligner Microsofts egen CA, overtar Windows Update, og lurer Windows-maskiner tro at malware de installerer er ekte troverdige signerte binærfiler?

Å låne Bruce Schneier fantastiske uttrykk, jeg tror dette bare en del av sikkerhet teater som vil inntrufne mange og nytte ingen. Med unntak av hva verdien er avledet fra tvinge kjøpere av ny maskinvare for å være Secure Boot betatestere, og å igjen danse til Microsofts tune.

Andre Referanser

Å gjøre UEFI Secure Boot Arbeid med åpne plattformer , en god og fornuftig forslag fra Linux Foundation. Digital Certificate Authority hacket, dusinvis av Falske digitale sertifikater utstedt EFI og Linux: fremtiden er her, og det er forferdelig - Matthew Garrett Sam Varghese spør hvorfor bransjen, alle fulle av tungvektere som IBM, Novell, Red Hat, og HP, fortsatt la Microsoft ringe sjefen? Unified Extensible Firmware Interface på Arch Linux Wiki er en fin UEFI howto. UEFI Secure Boot, Red Hat kunngjøring av støtte for Microsofts nøkkel registreringsordning for å starte Red Hat på Windows 8-maskinvare. Gentoo Wiki på UEFI kernel og bootloader konfigurasjon. Oppstart Linux innebygd på et UEFI system (uten BIOS CSM) bruker GRUB2 fra Ubuntu Wiki. Coreboot (tidligere LinuxBIOS) Støttede hovedkort



Previous:
Next Page: