Secure Boot component van de Unified Extensible Firmware Interface

Vergelijkbare documenten
UEFI Unified Extensible Firmware Interface

Overstappen van Windows naar Linux. Hans Lunsing

HANDLEIDING Keystore Explorer

Labo-sessie: Gegevensbeveiliging

Windows XP Migratie opties. Bart van Dijk

Hoofdstuk 2. Schijfformaten en bestandsformaten

Installatie Windows Server 2003 UK Standard Edition

GEBRUIKERSHANDLEIDING. Het handtekeningbestand (FS) aanmaken op basis van de elektronische identiteitskaart met behulp van Cryptonit.

Operating Systems Linux Blok 7a Partities Erik Seldenthuis

Nieuwe UEFI Bios en GPT

IAAS - QUICK START GUIDE

Labo 4 : Installatie Windows XP Professional Edition

Checklist Installatie PC5 Ubuntu 9.04 Desktop i

Installatie Windows XP Professional Edition

DigiD SSL. Versie Datum 16 augustus 2010 Status Definitief

MS Virtual pc 2007 Handleiding

Handleiding ALGEMENE HANDLEIDING VWORKSPACE. Versie: 1.2. Datum: 10 april Eigenaar:

Linux Mint Cinnamon 18.1 Ervaringen. Bart van Dijk

Installeer Apache2: Landstede februari 2009 versie 3 1 Bertil Hoentjen

Handleiding - Mogelijke oplossingen voor problemen met het starten van Uw Online Werkplek

Installeren van het programma Shop Pro

Linux Server Installatie

De ontwikkelaar heeft het recht om af te zien van verdere ontwikkeling en/of ondersteuning van dit pakket.

HANDLEIDING - Achterhalen certificaat gegevens voor B-Stroom klanten

Handleiding VirtualBox

Bent u nu dus genoodzaakt om een nieuwe computer te kopen? NEE, want er is een goede, ja zelfs gratis, oplossing voorhanden.

Werkomgeving. Android Studio. Android - werkomgeving 1/6

Boutronic. MSSQL Express server voor Log functie. >> Installatie handleiding << 23 april 2014, versie 1.0d

Installatie SQL: Server 2008R2

UBUNTU 8 installatie. 13/10/ ivowebschool.be/ /205bc10d-ef8e-4a 1/14. Onderwerpen

Friesland College Leeuwarden

Outlookkoppeling installeren

Installatiehandleiding. Facto minifmis

Handleiding. Handleiding

Kijk eerst in Computer (Mijn Computer) van je werkplek. Welke stationsletters zie je op de PC?

Easyhosting Handleiding SSL Certificaat installeren in DirectAdmin

Installatie van sqlserver

eid middleware v2.6 voor Mac OS X

Installatie SQL Server 2014

Versleutelen met Microsoft Outlook

Gebruik webfolders Windows

Versie: 1.0. Datum: 19 november Eigenaar:

Installatiehandleiding SafeSign en PKI Klasse X certificaten

Handleiding Online Boekhouden

U krijgt de melding dat uw browser geen cookies aanvaardt? Volg dan onderstaande weg om ze wel te accepteren.

Software. Opdrachten - Deel 1. Naam: Klas: 2015 versie:concept-3.4.2

Trusted Third Party SFTP Extranet via de Filezilla-client

Bijlage I. 2. Kies : Weergave op kleine pictogrammen. 3. Kies Java en de tab General : Kamer van Koophandel Nederland

1. Hardware Installatie Installatie van Quasyscan...6 A. Hoe controleren of je een actieve internetverbinding hebt?...6 B.

Handleiding. Handleiding

Handleiding PKIoverheid-certificaat. versie juni 2017

MySQL Server Installatie Handleiding RETSOFT ARCHIEF EXPERT VERSIE Versie: v

Installatie SQL Server 2012

sur strategy, deliverability & infrastructure Authenticatie EMMA-nl Workshop Maarten Oelering

USB NAAR SERIËLE CONVERTER

Fotoalbum installeren (ofwel hoe installeer ik een.tgz bestand)

Handleiding. vworkspace VGGM. Handleiding voor gebruikers.

Handleiding. Certificaat installeren

Aanmelden Na installatie wordt de service automatisch gestart en kunt u meteen aanmelden van op afstand:

Vergeten wachtwoord in Windows 10

Handleiding: CitrixReceiver installeren voor thuisgebruik.

SSL Communicatie. Tips & Tricks SSL Communicatie

Handleiding Certificaat installeren

Security in het MKB: Windows 10

FDISK. Hoofdstuk 1 Inleiding FDISK

Handleiding. Certificaat installeren

MS Exchange instellingen

Handleiding installatie SMIM certificaat

Introductie Werken met Office 365

De ontwikkelaar heeft het recht om af te zien van verdere ontwikkeling en/of ondersteuning van dit pakket.

Web of trust. De software

Installatie van WerkMeester

Snelstart Server Online voor Windows en Linux Versie september 2014

Orbis Software. Portal4U. Installatie Handleiding. Dit document bevat de Installatie Handleiding voor Portal4U

Upgrade naar People Inc 3.5.0

Beveiligen van PDF documenten (deel 3)

Is het website niet beschikbaar, dan is op de methodewebsite de datasheet te vinden van de twee appliances:

Installatiehandleiding bij overzetten op nieuwe computer

VPN Remote Dial In User. Windows VPN Client

Linux Quickstart Cygwin

Handleiding installatie VITA Windows VITA. veilige internettoegang voor artsen v 3.0. Link website VITA :

Installeren van het programma Shop Pro versie 6

AdBackup Januari 2017 AdBackup 6.21 is beschikbaar op het platform Oodrive Vision en als het op zichzelf staande product AdBackup Pro

Het installeren van de software.

Installatiehandleiding Silverlight

Stappenplan QuickScan NOV - Beheerder

Ga in het menu Certificaten naar Kies PKI overheid services certificaat. U geeft eerst aan waar het te gebruiken certificaat kan worden gevonden:

Zonder deze toestemming krijg je meldingen zoals in de volgende plaatjes wanneer je bijvoorbeeld de tekstverwerker probeert op te starten.

Computer Setup. Artikelnummer van document: Mei 2005

Symbol for Windows BlissEditor

Transcriptie:

Secure Boot component van de Unified Extensible Firmware Interface Hans Lunsing (hans.lunsing@xs4all.nl) 5 september 2016

Wat is Secure Boot? Sinds UEFI spec 2.2 (nov 2010) onderdeel van UEFI Initiatief van Microsoft Doel: bescherming tegen malware in bootproces Middel: cryptografische verificatie van software Verplicht voor certificatie voor Windows 8 en hoger 2

SB eisen voor certificatie voor Windows Een fysiek aanwezige gebruiker van een pc: moet Secure Boot kunnen uitschakelen Moet volledige zeggenschap over SB kunnen krijgen Voor Windows 8 gelden beide eisen. Voor Windows 10 geldt de eerste niet meer, en is niet zeker of de tweede nog wel geldt. 3

Inhoud Hoe werkt Secure Boot? 4

Hoe werkt Secure Boot? Cryptografisch systeem X.509, een PKI (Public Key Infrastructure) standaard, als basis Wordt ook voor beveiliging websites gebruikt (https) Werkt met sleutelpaar: privé en openbare sleutel Privé sleutel is geheim wordt gebruikt voor authenticatie ondertekening digitale bestanden met openbare sleutel Met openbare sleutel kan ieder die ondertekening verifiëren Ondertekening volgens Microsoft Authenticode Specificatie: ingebed in het ondertekende bestand 5

Hoe werkt Secure Boot? Meer over sleutels: Aanmaak sleutels met crypto-algoritme RSA-2048 Sleutels opgeslagen en verspreid als certificaat in PEM tekstformaat Certificaat met openbare sleutel in PEM formaat: Privé sleutel: 6

Hoe werkt Secure Boot? Door UEFI te starten EFI programma moet met openbare sleutel zijn ondertekend SB verifieert of deze sleutel in database van toegelaten sleutels (db)... en niet in de database van verboden sleutels (dbx) voorkomt Zo ja, dan mag programma starten Tweede criterium mogelijk: kenteken in de vorm van controlesom (hash) Verboden heeft voorrang op toegelaten 7

Hoe werkt Secure Boot? Verificatie van een programma in beeld 8

Hoe werkt Secure Boot? Vier SB databases in NVRAM van UEFI firmware: db: toegelaten sleutels en kentekens dbx: verboden sleutels en kentekens KEK: sleuteluitwisselingssleutels nodig voor wijziging van db en dbx PK: platformsleutel nodig voor wijziging van KEK 9

Hoe werkt Secure Boot? De vier databases van Secure Boot in beeld 10

Hoe werkt Secure Boot? Meer over sleutels in SB databases: Sleutelcertificaten niet in PEM maar in binair DER formaat GUID als eigenaarsidentificatie in SB databases mogelijk. 32 hexadecimale cijfers in groepen van resp. 8-4-4-4-12 bij verstek allemaal nullen GUID Microsoft is 77fa9abd-0359-4d32-bd60-28f4e78f784 Maak willekeurige eigen GUID, bijvoorbeeld via https://www.guidgenerator.com/ 11

Hoe werkt Secure Boot? Certificaat Autoriteit (CA) voor Secure Boot Te vergelijken met CA autoriteit bij HTTPS Ondertekent programmabestanden voor vertrouwde organisaties (Linux!) In db kan dan met sleutel van CA worden volstaan Microsoft fungeert voorlopig als enige CA autoriteit 12

Hoe werkt Secure Boot? Toestanden van Secure Boot: Gebruikersmodus (User Mode): SB is actief. Daarbinnen: Standaardmodus (Standard Mode): zoals afgeleverd. Opmaatmodus (Custom Mode): zoals zelf ingericht. Veranderingen met authenticatie van naasthogere sleutel. Instellingsmodus (Setup Mode): SB is niet actief. Van Opmaat- naar Instellingsmodus door wissen PK. Veranderingen zonder authenticatie. Van Instellings- naar Gebruikersmodus door instellen PK. 13

Hoe werkt Secure Boot? Inhoud van Standaardmodus PK van hardware leverancier KEK van Microsoft als CA in db twee sleutels van Microsoft: als producent sleutel voor Windows als UEFI CA sleutel voor 3e partijen (niet verplicht!) dbx kan kentekens van bekende malware bevatten 14

Hoe werkt Secure Boot? Wat draait in Standaardmodus? Windows 8 en hoger Grote Linux distributies zoals de nieuwere Ubuntu, Fedora/RedHat en opensuse/suse Sommige andere Linux distributies zoals de nieuwere Linux Mint Is dat genoeg? Zo nee, hoe word ik SB dan de baas? 15

Waarom Secure Boot zelf inrichten? Uitschakelen SB is geen goede oplossing dat leidt tot minder veiligheid Draaien niet gecertificeerde systemen zoals allerlei Linux distro's, ook oudere, en meer... Draaien niet-windows systemen als MS UEFI CA sleutel niet in db is opgenomen en dan maar hopen dat je SB wel zelf mag inrichten ;-) Externe EFI shell gebruiken kan nuttig zijn bij opstartproblemen 16

Door uw eigen Certificaat Autoriteit te worden! Maak uw eigen sleutelpaar aan Zet SB in Instellingsmodus door PK te verwijderen Voeg uw sleutel aan db en eventueel KEK toe Stel na gedane zaken uw sleutel als PK in, zodat SB in Gebruikersmodus komt Onderteken door u vertrouwde software met uw sleutel 17

Aanmaak zelf-ondertekend sleutelpaar Met programma openssl (https://www.openssl.org/) Standaard in Linux en in WSL (Windows 10 Subsysteem voor Linux), ook beschikbaar voor Windows Eerst aanmaak sleutelpaar in PEM formaat voor ondertekening programmabestanden Dan conversie openbare sleutel van PEM naar DER formaat voor opneming in de db van Secure Boot 18

Opdracht voor aanmaak sleutelpaar: openssl req -x509 -newkey rsa:2048 -days 3650 -nodes -subj '/CN=SelfSign/' -keyout SelfSign.key -out SelfSign.crt req: opdracht voor aanmaak Certificate Signing Request cryptosysteem x509 cryptografisch algoritme rsa:2048 3650 dagen geldig geen versleuteling privé sleutel (-nodes) als CN (common name) is gekozen 'SelfSign' SelfSign.key is de privé sleutel SelfSign.crt is de openbare sleutel als PEM certificaat 19

Opdracht voor conversie openbare sleutel: openssl x509 -in SelfSign.crt -inform PEM -out SelfSign.cer -outform DER x509: opdracht voor dit cryptosysteem SelfSign.crt is het ingaande certificaat in PEM formaat SelfSign.cer is het ingaande certificaat in DER formaat 20

Wat te doen met de sleutels? Houdt privé sleutel geheim Openbare sleutel in PEM formaat (.crt) samen met privé sleutel nodig voor ondertekening bestanden Openbare sleutel in DER formaat (.cer) bedoeld voor Secure Boot db. Bewaar hem daarom op ESP, bijv. in map \Sleutels 21

Toegang tot de ESP (EFI System Partition) In Linux als root via /boot/efi In Windows als Administrator via schijfletter na aankoppeling: mountvol U: /s Ontkoppel met: mountvol U: /d 22

Toegang tot UEFI interface voor aanpassingen SB Bij opstarten computer een bepaalde toets indrukken, afhankelijk van fabrikant. Vaak is dat F2, maar ook F1, F12, Del en andere komen voor. Soms op scherm getoond, kijk anders in documentatie. Bij verlaten Windows Shift toets indrukken en op "Opnieuw opstarten" klikken. Dan via "geavanceerde opties" naar "Instellingen voor UEFI firmware". Vanuit Grub via 'System Setup'. In Ubuntu, Linux Mint e.a. 23

Secure Boot instellingen in de UEFI interface Elke hardware fabrikant maakt eigen interface Is er mogelijkheid SB in Instellingsmodus te zetten? Indien gecertificeerd voor Win8: ja, voor Win10: onzeker, niet gecertificeerd: onzeker. Zo nee: jammer maar helaas. Is er mogelijkheid per database een sleutel toe te voegen? Soms alleen door alle databases te legen en via shell opnieuw te vullen Vooral oudere implementaties hebben soms bugs waardoor eigen aanpassingen van SB niet goed werken 24

OVMF (Open Virtual Machine Firmware) Virtuele UEFI firmware van Tianocore opgezet door Intel samen met Collabnet Referentie voor hardware UEFI interfaces Werkt goed samen met QEMU en VirtualBox, maar in VirtualBox zonder SB Secure Boot uitgebreid instelbaar Heeft UEFI shell die ook apart verkrijgbaar is 25

Naar Instellingsmodus in OVMF 1) Kies voor Device Manager, dan voor Secure Boot Configuration 26

Naar Instellingsmodus in OVMF 2) Ga naar <Standard>, druk op Enter en kies Customized. Ga dan naar Custom Secure Boot Options en druk Enter. 27

Naar Instellingsmodus in OVMF 3) Ga naar PK options en druk op Enter. De cursor staat nu achter Delete PK. Druk op Enter. 28

Naar Instellingsmodus in OVMF 4) Druk op Y, waarna de Device Manager verschijnt met de cursor op Secure Boot Configuration. 5) Ga weer naar de Custom Secure Boot Options. Daar staat nu dat Secure Boot in Setup Mode is. 29

Toevoegen eigen sleutel in OVMF 1) Ga in Custom Secure Boot Options naar db en kies Enroll Signature Using File. Dan verschijnt File Explorer 30

Toevoegen eigen sleutel in OVMF UEFI kan alleen partities in FAT formaat lezen Meestal is dat alleen de ESP Aanduiding als PCI apparaat niet heel helder. Suggestie: geef ESP vooraf label ESP. Dan verschijnt ESP met die naam in File Explorer 31

Toevoegen eigen sleutel in OVMF 2) Met cursor op ESP druk op Enter. Dan verschijnt inhoud ESP met map Sleutels 32

Toevoegen eigen sleutel in OVMF 3) Ga naar Sleutels en kies uw sleutel SelfSign.cer. Daarna kan eventueel GUID worden ingevoerd. 33

Toevoegen eigen sleutel in OVMF 4) Kies tot slot Commit Changes and Exit Eventueel kunt u uw sleutel ook toevoegen aan KEK Uw sleutel nu in db, maar SB nog in Instellingsmodus Naar Gebruikersmodus door instellen van uw sleutel als Platformsleutel Gaat net zo als toevoegen van uw sleutel aan db Met uw sleutel als Platformsleutel bent u de baas! 34

Alternatief voor toevoegen sleutel via UEFI interface EFI tools voor gebruik in UEFI shell uit Linux pakket efitools : met name KeyTool.efi en UpdateVars.efi Geen interne UEFI shell? Dan externe shell van Tianocore: shellx64.efi. Shell werkt zoals opdrachtregel in Windows. Naar externe shell: via bootmanager, Grub of Windows. Aanrader: UEFI bootmanager refind. Stel dan UEFI wel zo in dat refind wordt gestart, en neem refind certificaat in db op. Door mij samengesteld pakket voor ESP met refind, EFI tools, UEFI shell en sleutelmap met sleutels: http://tinyurl.com/uefipakket Onderteken zowel EFI tools als UEFI shell. 35

Tools voor ondertekening EFI programmabestanden Linux sbsigntools specifiek voor Secure Boot (sb!), een tool per functie pesign specifiek voor applicaties in PE formaat (UEFI!), alles in één, maakt gebruik van certificaten database osslsigncode niet specifiek voor Secure Boot, alles in één 36

Tools voor ondertekening EFI programmabestanden Windows signtool onderdeel van Windows SDK (Software Development Kit) Set-AuthenticodeSignature een cmdlet van PowerShell de Linux tools in WSL (Windows Subsystem for Linux) in Windows 10 37

Voorbeeld ondertekenen: met de sbsigntools Ondertekening van Voorbeeld.efi: sbsign --key SelfSign.key --cert SelfSign.crt --output Voorbeeld-signed.efi Voorbeeld.efi Verificatie: sbverify --cert SelfSign.crt Voorbeeld-signed.efi Lijst van ondertekeningen: sbverify --list Voorbeeld-signed.efi Verwijderen van ondertekening: sbattach --remove --signum 2 Voorbeeld-signed.efi 38

Weergave eigen ondertekening: $ sbverify --list Voorbeeld-signed.efi signature 1 image signature issuers: - /CN=SelfSign image signature certificates: - subject: /CN=SelfSign issuer: /CN=SelfSign 39

Secure Boot component van de Unified Extensible Firmware Interface Dank voor uw aandacht!