bootloader

Secure Boot Linux

Secure Boot Linux

Linux: Hva er Secure Boot?

Ved starten starter en datamaskin et bestemt program for å oppdage og initialisere maskinvarekomponentene. Tradisjonelt bruker IBM-kompatible PCer Basic Input Output System (BIOS). I motsetning til Mac-maskiner bruker OpenFirmware, Android har bare en boot loader, og en Raspberry Pi starter fra en firmware som er oppbevart i systemet på en chip (SoC). Dette første trinnet inkluderer maskinvarekontroller, samt å søke etter tilgjengelige operativsystemer på lagringsmedier som er en del av datamaskinen, for eksempel en harddisk, CDROM / DVD eller et SD-kort, eller som er koblet til det via nettverk (Network File System (NFS)) , PXE Boot).

Den faktiske søkeordren avhenger av datamaskinens BIOS-innstillinger. Figur 2 viser en liste over tilgjengelige enheter å starte fra.

På slutten vises en liste over tilgjengelige operativsystemer med spesifikke parametere (kalt "tilgjengelige oppstartsalternativer") i en meny der du velger ønsket operativsystem å starte.

Siden 2012 er Secure Boot i bruk. Denne artikkelen vil forklare hva det er, hva intensjonen ligger bak, og hvordan det fungerer. Videre vil vi svare på spørsmålet om Secure Boot er nødvendig for Linux-baserte maskiner, og hvordan Linux-distribusjoner håndterer denne saken.


Hva er Secure Boot?

Secure Boot handler om tillit. Den generelle ideen bak er å starte maskinen på en trygg måte for å forhindre at datamaskinen kjører med skadelig programvare helt fra begynnelsen. Generelt er en ren start med et pålitelig system en tilnærming som skal støttes sterkt.

Secure Boot er en del av Unified Extensible Firmware Interface (UEFI) - et sentralt grensesnitt mellom firmware, de enkelte komponentene i datamaskinen og operativsystemet [3]. I en periode på omtrent fem år ble den utviklet av Intel og Microsoft som erstatning for BIOS. I 2012, versjon 2.3.1 av UEFI ble introdusert med Microsoft Windows 8. Microsoft gjorde det obligatorisk for datamaskinprodusenter å implementere UEFI hvis de ønsker å få en Windows 8-sertifisering for sine nybygde maskiner [15].

Men hvorfor kalles Secure Boot Secure Boot? Hva gjør det til et sikkert oppstartsalternativ? Secure Boot tillater bare oppstart fra tidligere tildelte opplastere og er derfor ment å forhindre at malware eller andre uønskede programmer starter. En tradisjonell BIOS vil starte hvilken som helst programvare. Det vil til og med tillate skadelig programvare, for eksempel et rootkit, å erstatte boot loader. Rootsettet vil da kunne laste operativsystemet ditt og forbli helt usynlig og ikke påviselig på systemet ditt. Mens med Secure Boot, kontrollerer systemfastvaren først om systemstartlasteren er signert med en kryptografisk nøkkel. Den kryptografiske nøkkelen er en nøkkel som er godkjent av en database i firmwaren. Bare hvis nøkkelen blir gjenkjent, vil systemet tillate oppstart. En slik gyldig signatur må følge en spesifikasjon fra Microsoft UEFI Certificate Authority (CA).


Ulike perspektiver

Ved første øyekast høres dette ganske bra ut, men det er alltid to sider av en mynt. Som vanlig eksisterer fordeler og ulemper sammen. Pressevurderinger roser eller demoniserer Secure Boot, avhengig av hvem som skriver anmeldelsen.

Først må du huske at autoriteten over de kryptografiske nøklene er i hendene på en enkelt global spiller - Microsoft. Å gi strøm til millioner av maskiner til et enkelt selskap er aldri en god idé. På den måten sikrer Microsoft seg full kontroll over maskinen din. Med en enkelt beslutning kan Microsoft blokkere hele markedet med ett enkelt slag og hindre både sine konkurrenter og deg som kunde. E.g. Hvis du ønsker å installere maskinvare fra en annen produsent på et senere tidspunkt, må du sørge for at nøkkelen til den nye komponenten er lagret i databasesystemet. Etterlater deg begrenset fleksibilitet og valg - spesielt hvis du er en utvikler.

For det andre er ikke bare maskinvarevalgene dine begrenset, men også valgene til operativsystemet ditt er ment å være begrenset på grunn av UEFI-teknologi introdusert av Windows. Dette betyr at det gjør livet vanskelig for Linux-samfunnet. Før det ble brukt på UEFI-basert maskinvare, må Linux-oppstartslastere som GRUB først bli sertifisert, og det bremser derfor ganske raske utviklinger som Open Source-fellesskapet er kjent for. Ingen vet hva som skjer hvis den sentrale validatoren gjør en feil under valideringen eller blokkerer utgivelsen av en oppdatert programvare.

For det tredje, hva betyr begrepet malware i dag og i morgen? Inkluderer det operativsystemer fra konkurrenter [5] eller er de ekskludert? Valideringsprosessen går bak gardinene, og ingen kan bevise det.

For det fjerde er det forbehold om sikkerhet. I følge den nåværende utviklingen er lengden på de kryptografiske nøklene relativt kort. Secure Boot tillater bare X509-sertifikater og RSA-nøkler med en fast lengde på 2048 bits [16]. I nær fremtid, med bruk av masseparallisering og ytterligere datakraft basert på virtualisering, forventes dette sikkerhetsnivået å bli brutt. I dag anbefales kryptografiske nøkler med en lengde på 4096 bits.

For det femte ser det ut som om programvare som både tilbys av en stor leverandør og sertifisert, er trygg og uten feil. Som historien viser vet vi alle at dette ikke er sant, programvare inneholder alltid feil. En sertifisering bare luller deg i falsk følelse av sikkerhet.


Løsninger for åpen kildekode

Men der det er et problem, er det en løsning også. Microsoft tilbyr sjenerøst muligheten for Linux-distributører å få tilgang til Microsoft Sysdev-portalen for å få signert oppstartslastere [17]. Denne tjenesten kommer likevel med en prislapp.

Linux-distribusjoner har bare en "shim" [11] signert på Microsoft-portalen. Shim er en liten oppstartslaster som støtter Linux-distribusjons hoved GRUB oppstartslaster. Microsoft sjekker bare den signerte shimmen, og deretter starter Linux-distribusjonen din normalt. Dette bidrar til å opprettholde Linux-systemet som vanlig.

Som rapportert fra forskjellige kilder fungerer (U) EFI bra med Fedora / RedHat, Ubuntu, Arch Linux og Linux Mint. For Debian GNU / Linux er det ingen offisiell støtte angående Secure Boot [9]. Uansett er det et interessant blogginnlegg om hvordan du setter opp dette [18], samt en beskrivelse i Debian Wiki [14].

Alternativer til UEFI

UEFI er ikke den eneste etterfølgeren til PC BIOS - det finnes alternativer. Du kan se nærmere på OpenBIOS [4], libreboot [7], Open Firmware [8,9] og coreboot [10]. For denne artikkelen testet vi dem ikke, men det er nyttig å vite at alternative implementeringer eksisterer og fungerer greit.


Konklusjon

Som nevnt før er nøkkelspørsmålet tillit. Når det gjelder datamaskiner, spør deg selv hvilke deler av systemet du stoler på - maskinvarekomponentene (firmware, chips, TPM) og / eller programvarekomponentene (boot loader, operativsystem, programvare som er i bruk). Du kan ikke feilsøke hele systemet. Det kan hjelpe å vite at operativsystemet ditt ikke virker mot dine interesser, og at du får gjort tingene du har kjøpt systemet for - på en sikker måte uten å bli kontrollert av en monopolist.


Lenker og referanser

Anerkjennelser

Frank Hofmann og Mandy Neumeyer er medforfattere av artikkelen.  Forfatterne vil takke Justin Kelly for hans hjelp og kritiske kommentarer mens de skrev denne artikkelen.

Åpne kildeporter for kommersielle spillmotorer
Gratis, åpen kildekode og plattformspillmotorrekreasjoner kan brukes til å spille gamle så vel som noen av de ganske nylige spilletitlene. Denne artik...
Beste kommandolinjespill for Linux
Kommandolinjen er ikke bare din største allierte når du bruker Linux, den kan også være kilden til underholdning fordi du kan bruke den til å spille m...
Beste Gamepad Mapping Apps for Linux
Hvis du liker å spille spill på Linux med en gamepad i stedet for et vanlig tastatur- og musinngangssystem, er det noen nyttige apper for deg. Mange P...