Sikre boot Linux

Sikre boot Linux

Linux: Hva er sikker oppstart?

Ved start kjører en datamaskin et spesifikt program for å oppdage og initialisere maskinvarekomponentene. Tradisjonelt bruker IBM-kompatible PC-er det grunnleggende inngangsutgangssystemet (BIOS). I motsetning til MAC -er bruker OpenFirmware, har Android bare en oppstartslaster, og en Raspberry Pi starter fra en firmware som holdes i systemet på en brikke (SOC). Dette første trinnet inkluderer maskinvarekontroller samt å søke etter tilgjengelige operativsystemer på lagringsmedier som er en del av datamaskinen som en harddisk, CDROM/DVD, eller et SD -kort, eller koblet til det via nettverk (Network File System (NFS) , Pxe boot).

Den faktiske søkeordren avhenger av BIOS -innstillingene til datamaskinen. Figur 2 viser en liste over tilgjengelige enheter å starte opp fra.

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

Siden 2012 er sikker støvel i bruk. Denne artikkelen vil forklare hva den er, hva er intensjonen bak den, og hvordan den fungerer. Videre vil vi svare på spørsmålet om sikker oppstart er nødvendig for Linux-bare-baserte maskiner, og hvordan Linux-distribusjoner håndterer denne saken.


Hva er sikker oppstart?

Sikker støvel handler om tillit. Den generelle ideen bak den starter maskinen på en sikker måte for å forhindre at datamaskinen kjører med skadelig programvare helt fra begynnelsen. Generelt sett er en ren start med et pålitelig system en tilnærming for å bli støttet sterkt.

Secure Boot er en del av det enhetlige Extensible Firmware -grensesnittet (UEFI) - et sentralt grensesnitt mellom firmware, datamaskinens individuelle komponenter 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 nylig byggemaskiner [15].

Men hvorfor kalles Secure Boot Secure Boot? Hva gjør det til et sikkert oppstartsalternativ? Secure Boot tillater bare oppstart fra tidligere tildelte bootloaders og er derfor ment å forhindre skadelig programvare eller andre uønskede programmer fra å starte. En tradisjonell BIOS ville starte opp hvilken som helst programvare. Det vil til og med tillate skadelig programvare, for eksempel en rootkit, å erstatte oppstartslasteren. Rootkit ville da kunne laste operativsystemet ditt og holde seg helt usynlig og uoppdagelig på systemet ditt. Mens firmware med sikker oppstart først sjekker System Boot Loader med en kryptografisk tast. Cryptographic -nøkkelen er en nøkkel som har blitt autorisert av en database som er inneholdt i firmware. Bare hvis nøkkelen er gjenkjent, vil den tillate systemet å starte opp. En slik gyldig signatur må følge en spesifikasjon av Microsoft UEFI Certificate Authority (CA).


Forskjellige perspektiver

Ved første blikk høres dette ganske bra ut, men det er alltid to sider av en mynt. Som vanlige fordeler og ulemper eksisterer sameksisterer. Trykk på anmeldelser enten ros eller demoniserer Secure Boot, avhengig av hvem som skriver anmeldelsen.

Husk først at autoriteten over kryptografiske nøkler er i hendene på en enkelt global spiller - Microsoft. Å gi makt til millioner av maskiner til et enkelt selskap er aldri en god idé. På den måten sikrer Microsoft seg fullstendig kontroll over maskinen din. Med en enkelt beslutning er Microsoft i stand til å blokkere hele markedet med et enkelt slag og å hindre både konkurrentene 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 bruken på UEFI-basert maskinvare, har Linux Boot Loader som Grub først å bli sertifisert, og derfor bremser det ganske rask utvikling som open source-samfunnet 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 skadelig programvare 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 henhold til dagens utvikling er lengden på kryptografiske nøkler relativt kort. Secure Boot tillater bare X509 -sertifikater og RSA -nøkler med en fast lengde på 2048 biter [16]. I nærmeste fremtid, med bruk av masseparallellisering og videre datakraft basert på virtualisering, forventes dette sikkerhetsnivået å bli ødelagt. I dag anbefales kryptografiske nøkler med en lengde på 4096 biter.

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


Løsninger for åpen kildekode

Men der det er et problem, er det også en løsning. Microsoft gir sjenerøst mulighet 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 støvellaster som starter Linux -distribusjonene Main Grub Boot Loader. Microsoft sjekker bare den signerte Shim og deretter Linux -distribusjonsstøvlene normalt. Dette hjelper til med å 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 sikker støvel [9]. Uansett er det et interessant blogginnlegg om hvordan du konfigurerer dette [18], samt en beskrivelse i Debian Wiki [14].

Alternativer til UEFI

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


Konklusjon

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


Lenker og referanser

  • [1] Kristian Kißling: Debian 9 Stretch Ohne Secure Boot, Linux-Magazin
  • [2] Uefi nachbearbeitung
  • [3] EFI og Linux: Fremtiden er her, og den er forferdelig - Matthew Garrett
  • [4] Openbios, https: // openbios.info/velkomst_to_openbios
  • [5] Hendrik Schwartke, Ralf SPenneberg: Einlaßkontrolle. UEFI-Secure-Boot unt alternativ betriebsSysteme, admin-Magzin 03/2014
  • [6] BootVorgang Eines Apple Mac
  • [7] Libreboot, https: // libreboot.org/
  • [8] Åpne firmware (Wikipedia)
  • [9] Åpne firmware, https: // github.com/openbios
  • [10] Coreboot, https: // www.coreboot.org/velkomst_to_coreboot
  • [11] Shim (github), https: // github.com/rhboot/shim
  • [12] Thorsten Leemhuis: UEFI Secure Boot und Linux, FAQ
  • [13] Bom Cromwell: Hvordan starter Linux? Del 3: UEFI for å shim til neste lenke i kjeden
  • [14] SecureBoot on Debian, https: // wiki.Debian.org/secureboot
  • [15] Chris Hoffman: Hvor sikker støvel fungerer på Windows 8 og 10, og hva det betyr for Linux
  • [16] James Bottomley: Betydningen av alle UEFI -nøklene
  • [17] Microsoft Hardware Developer Center, UEFI firmware signering
  • [18] Sikker oppstart med debian -testing

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.