Dasharo coreboot+Heads voor een veilig opstartproces

Dasharo coreboot+Heads
Dasharo
coreboot+Heads

In de wereld van digitale beveiliging willen we dat onze apparaten – inclusief laptops – tegen alle mogelijke bedreigingen goed beschermd zijn. Tegenwoordig is cyberbeveiliging niet beperkt tot software, maar is het ook relevant geworden voor de “besturingssoftware” van een apparaat; de zogenaamde firmware. Nu cyberbedreigingen steeds geavanceerder worden is de behoefte aan firmwareoplossingen die veiligheid en transparantie vooropstellen van het allergrootste belang geworden. Met de introductie van onze Dasharo coreboot laptops hebben we al bewezen dat we de beveiliging van onze laptops naar een hoger niveau tillen. Maar door deze richting in te slaan zijn we tot veel meer inzichten gekomen om de beveiliging van onze computers nog verder te verbeteren. Hieronder valt ook een alternatieve firmwareversie: Dasharo coreboot+Heads. Maar wat is Heads firmware en in welk opzicht verschilt het van de standaard coreboot-versie?

Opmerking: Heads firmware is complexe materie. Wij raden deze firmware-versie alleen aan voor geavanceerde gebruikers waarbij een hoog beveiligingsniveau een vereiste is. Verder raden wij Heads firmware aan voor Qubes OS-gebruikers.

De definitie van een payload

Om de materie omtrent Heads firmware goed te kunnen begrijpen is het van cruciaal belang om te weten wat een payload is. Een payload is het stukje opstartcode dat uitgevoerd wordt na het initialisatieproces van de laptop. Het biedt vaak instellingen en opstartopties, alsook opstartbeveiligingmechanismes.

Heads payload in plaats van TianoCore EDK II

Bij NovaCustom leveren we onze coreboot-laptops standaard met de TianoCore EDK II payload. Deze payload biedt een hoge flexibiliteit dankzij de mogelijkheid om UEFI firmware-instellingen te integreren. Zo kan een gebruiker een ventilatorprofiel instellen, drempelwaarden voor het opladen van de accu toepassen en UEFI Secure Boot inschakelen. Bovendien biedt EDK II een eenvoudige manier om op te starten naar een iPXE-server en om op te starten naar een USB-apparaat.

UEFI Secure Boot heeft zijn beperkingen

Ondanks dat de EDK II payload een fijne flexibiliteit biedt met deze geweldige functies is het belangrijk om je bewust te zijn van de potentiële veiligheidsimplicaties van UEFI Secure Boot. Hoewel het potentieel schadelijke opstartbestanden kan blokkeren, biedt het geen opstartverificatie vanaf het allereerste moment van het opstarten tot de voltooiing van de laatste opstartfase. Bovendien vereist UEFI Secure Boot geen betrouwbare en onafhankelijke TPM-chip.

Eén belangrijke beperking is de afhankelijkheid van UEFI Secure Boot van een vooraf geïnstalleerde set van signing keys (verificatiesleutels). UEFI Secure Boot controleert eigenlijk alleen de signature (handtekening) van een opstartbestand en blokkeert het als het bestand niet herkend wordt als een vertrouwd opstartbestand. Het biedt geen bescherming voor potentiële bedreigingen op andere niveaus van het opstartproces, zoals kwetsbaarheden in de firmware of een virusinfectie in de kernel van het besturingssysteem.

Bovendien kan de afhankelijkheid van vooraf gedefinieerde keys problemen opleveren voor gebruikers die alternatieve besturingssystemen of bootloaders willen installeren die niet officieel ondertekend zijn. Bekende besturingssystemen zoals Windows en Linux-besturingssystemen zoals Ubuntu, Linux Mint en Fedora ondersteunen officieel de door Microsoft gedomineerde Secure Boot-technologie. Andere Linux-besturingssystemen zoals Pop!_OS en het op beveiliging gerichte besturingssysteem Qubes OS ondersteunen echter geen UEFI Secure Boot. Dit betekent dat er voor deze besturingssystemen helemaal geen opstartverificatie is bij het gebruik van EDK II. Tenminste, niet na het laden van de payload.

Ja: je kunt natuurlijk je eigen UEFI Secure Boot-sleutels genereren en instellen in de firmware-instellingen van onze Dasharo-modellen. Dit is echter een ingewikkeld proces en biedt geen allesomvattende oplossing.

Een NovaCustom NV41 Serie laptop met Heads firmware.
Een NovaCustom NV41 Serie-laptop met Heads firmware tijdens de Qubes OS summit (Oktober 2023).

Waarom Heads firmware een betere verificatie van de opstartintegriteit biedt

In tegenstelling tot EDK II garandeert Heads firmware de integriteit van de firmware en het opstartproces door alle opstartfasen te verifiëren. Dit wordt gedaan met behulp van de measured boot-technologie. Measured boot biedt cryptografische hashes voor elk opstartcomponent. Dit omvat de main SPI (BIOS) firmware zelf en alle belangrijke opstartbestanden in de /boot-map, inclusief de schijfversleutelingsbestanden, de kernel, het initrd-bestand en de GRUB-configuratie. De hashes worden veilig opgeslagen en opgeroepen in de onafhankelijke TPM-hardware.

Het resultaat is een betrouwbaar opstartproces, terwijl jij (in plaats van een grote techgigant) de sleutels volledig in beheer hebt. Feitelijk creëert Heads firmware een vertrouwensketen vanaf het begin van het opstartproces tot het einde. Zonder de verificatie van het gehele opstartproces zou er geen zekerheid zijn dat het opstartproces niet gemanipuleerd is.

Bescherming tegen rootkits

Rootkit pictogram

Rootkits zijn schadelijke toepassingen die zich richten op de UEFI-firmware. Ze doen dit om te voorkomen dat deze malware wordt verwijderd als de opslagschijf wordt geformatteerd. Een rootkit is immers geïntegreerd in de UEFI-firmware en wordt niet opgeslagen op de gewone opslagschijf. Dit betekent dat dit virussoort na de installatie van een nieuw besturingssysteem opnieuw kan verschijnen, omdat de rootkit vóór het besturingssysteem zelf wordt uitgevoerd.

Als er een rootkit in de UEFI-firmware geïmplementeerd zou worden, zou Heads detecteren dat de firmware niet integer is. Dit komt doordat de hash van het op te starten firmware-deel waarin de rootkit zich bevindt zou veranderen. Hierdoor wordt dit firmware-deel door Heads gemarkeerd als onbetrouwbaar. De gebruiker wordt hiervan op de hoogte gesteld en kan dan besluiten om de laptop uit te schakelen en de nodige maatregelen te nemen.

Voorbeelden van bekende rootkits uit het verleden kun je hier, hier en hier vinden.

Heads geeft de gebruiker weer de controle

De huidige gebruikelijke beveiligingstechnieken voor het opstarten zoals UEFI Secure Boot gebruiken exclusieve software, waardoor de computer alleen besturingssystemen kan opstarten die als vertrouwd zijn gemarkeerd. Dit betekent dat de eindgebruiker erop moet vertrouwen dat de leverancier alle code goedkeurt die hij of zij wil uitvoeren.

In tegenstelling tot UEFI Secure Boot kan Heads firmware manipulatie van het opstartproces herkennen door sleutels te gebruiken die volledig binnen de controle van de eindgebruiker vallen. Deze sleutels kunnen dan ook op elk moment door de gebruiker worden gewijzigd.

UEFI Secure Boot en andere standaard beveiligingsmechanismen voor het opstarten blokkeren het opstartproces volledig als het opstartbestand niet kan worden geverifieerd. Heads firmware daarentegen staat de gebruiker nog steeds toe om de computer op te starten naar het geselecteerde opstartbestand, maar alleen nadat hij gewaarschuwd is voor mogelijke manipulatie.

Heads firmware vereist een USB-beveiligingsapparaat om de integriteit van de main SPI (BIOS) firmware te verifiëren.
Heads firmware vereist een USB-beveiligingsapparaat om de integriteit van de main SPI (BIOS) firmware te verifiëren.

Heads biedt extra verificatie voor het opstartproces

In tegenstelling tot andere payloads gebruikt Heads firmware een hashcode van de TPM chip die op twee manieren geverifieerd kan worden:

  1. Door een USB-beveiligingsapparaat te gebruiken, zoals de Nitrokey 3A Mini. En:
  2. (Optioneel) Door gebruik te maken van een 2FA-applicatie zoals Google Authenticator (of een vertrouwde alternatieve TOTP-authenticator).

Door deze technologie te gebruiken kan je verifiëren dat de main SPI (BIOS) firmware zelf niet gemanipuleerd is. Als dat wel het geval is, dan wordt de invoer van de 2FA-applicatie niet geaccepteerd (1) of knippert het USB-beveiligingsapparaat rood (2).

Waarom de TPM-chip een cruciaal onderdeel is van Heads’ opstartverificatie

TPM pictogram

Zoals eerder vermeld gebruikt Heads firmware de TPM-chip om de cryptografische hashes van elk opstartonderdeel op te slaan en te valideren. Maar waarom wordt dit als veilig beschouwd?

Het belangrijkste punt hier is dat de TPM-chip zo is ontworpen dat het de hash niet kan veranderen als de hash van het vorige opstartcomponent niet is verstrekt. Met andere woorden: het volgende bootblok heeft de hash van het vorige bootblok nodig. Als de hashwaarde niet kan worden geverifieerd, markeert Heads het opstartcomponent als mogelijk gemanipuleerd en informeert het de gebruiker over deze gebeurtenis.

Waarom openheid bij firmware belangrijk is

Open source pictogram

Als we de veiligheid van de fundering van onze laptops willen verhogen, dan is het essentieel om firmware te gebruiken die transparant en inspecteerbaar is. Zonder de mogelijkheid om de codering van de firmware te bestuderen zul je de cruciale stappen in de opstartprocedure niet kunnen begrijpen. Bovendien is het dan niet te doen om kwetsbaarheden aan het licht te brengen of de firmware aan te passen aan specifieke eisen.

Heads firmware is gepubliceerd als vrije software. Het is open-source, wat niet alleen onderzoek maar ook reproductie mogelijk maakt: als je wilt kun je het ROM-bestand van Heads vanaf de broncode builden.

Dasharo Entry Subscription

Dasharo Entry Subscription

De Dasharo Entry Subscription omvat coreboot+Heads-ondersteuning voor de NV41 Serie, wat op dit moment onze enige laptop is met ondersteuning voor Heads. Het abonnement wordt niet automatisch verlengd. Je moet dit product na afloop van het abonnement opnieuw kopen om toegang te blijven houden tot verdere updates en directe ondersteuning van Dasharo.

Waarom zou ik het abonnement kopen als ik Heads firmware zelf kan builden en flashen?

Er zijn een paar overwegingen om het abonnement toch af te nemen:

  1. Steun het project financieel. Voor elk Dasharo Entry Subscription dat we verkopen worden de inkomsten gedeeld met NovaCustom, 3mdeb (het bedrijf achter Dasharo) en de hoofdontwikkelaar van Heads firmware. Jouw financiële bijdrage stelt ons in staat om onze Heads firmware-versie te onderhouden.
  2. Eenvoudige implementatie. Als je een Dasharo Entry Subscription hebt krijg je toegang tot de eenvoudige deployment-instructies door de begeleide optie van de Dasharo Tools Suite. Dit bespaart je veel tijd.
  3. Premium ondersteuning van de firmware-ontwikkelaars en de community. Zodra je een actief abonnement hebt krijg je toegang tot de Matrix room Dasharo Premiere Support. Hiermee kun je hulp krijgen van professionals en ontwikkelaars en discussies aangaan met hen en andere abonnees.

Misschien vind je de volgende artikelen ook interessant:

Over de auteur: Wessel Klein Snakenborg is al sinds zijn kindertijd gepassioneerd door technologie. In 2015 lanceerde hij NovaCustom, een bedrijf dat laptops op maat maakt met het oog op privacy en veiligheid. Met een focus op gebruiksvriendelijkheid blijft NovaCustom de laptopervaring herdefiniëren, geleid door Wessel's toewijding aan innovatie en samenwerking.

Reacties graag alleen in het Engels.

Je winkelwagen delen