Witold Kepinski - 28 november 2024

ESET Research ontdekt de eerste UEFI bootkit voor Linux

ESET-onderzoekers hebben de eerste UEFI bootkit voor Linux systemen ontdekt, die door de makers Bootkitty is genoemd. ESET gelooft dat deze bootkit waarschijnlijk een eerste proof of concept is en gebaseerd op ESET-telemetrie is deze nog niet in het wild ingezet. Het is echter het eerste bewijs dat UEFI bootkits niet langer beperkt zijn tot alleen Windows systemen. Het hoofddoel van de bootkit is het uitschakelen van de verificatiefunctie voor handtekeningen van de kernel en het vooraf laden van twee nog onbekende ELF-binaire bestanden via het Linux “init”-proces (het eerste proces dat door de Linux-kernel wordt uitgevoerd tijdens het opstarten van het systeem).

ESET Research ontdekt de eerste UEFI bootkit voor Linux image

De voorheen onbekende UEFI-toepassing met de naam “bootkit.efi” is geüpload naar VirusTotal. Bootkitty is ondertekend door een zelfondertekend certificaat en kan dus niet worden uitgevoerd op systemen waarop UEFI Secure Boot standaard is ingeschakeld. Bootkitty is echter ontworpen om de Linux kernel naadloos op te starten, of UEFI Secure Boot nu is ingeschakeld of niet, omdat het in het geheugen de noodzakelijke functies patcht die verantwoordelijk zijn voor integriteitsverificatie.

De bootkit is een geavanceerde rootkit die de bootloader kan vervangen en de kernel kan patchen voordat deze wordt uitgevoerd. Bootkit stelt de aanvaller in staat om de volledige controle over de getroffen machine over te nemen, omdat het het opstartproces van de machine overneemt en malware uitvoert nog voordat het besturingssysteem is opgestart.

Tijdens de analyse ontdekte ESET een mogelijk gerelateerde niet-ondertekende kernelmodule die ESET BCDropper noemde - met tekenen die suggereren dat het ontwikkeld zou kunnen zijn door dezelfde auteur(s) als Bootkitty. Het gebruikt een ELF- binary die verantwoordelijk is voor het laden van nog een andere kernelmodule die onbekend was op het moment van analyse.

Proof of Concept

"Bootkitty bevat veel artifacts, wat suggereert dat dit meer een proof of concept is dan het werk van een dreigingsactor. Hoewel de huidige versie van VirusTotal op dit moment geen echte dreiging vormt voor de meerderheid van de Linux-systemen, omdat het slechts enkele Ubuntu-versies kan aantasten, benadrukt het de noodzaak om voorbereid te zijn op potentiële toekomstige dreigingen”, zegt ESET-onderzoeker Martin Smolár, die Bootkitty analyseerde. “Om je Linux-systemen te beschermen tegen dergelijke dreigingen, moet je ervoor zorgen dat UEFI Secure Boot is ingeschakeld, dat je systeemfirmware, beveiligingssoftware en OS up-to-date zijn en dat je UEFI revocatielijst up-to-date is”, voegt hij eraan toe.

Na het opstarten van een systeem met Bootkitty in de ESET testomgeving, merkten onderzoekers op dat de kernel werd gemarkeerd als 'tainted' (een commando kan worden gebruikt om de 'tainted' waarde te controleren), wat niet het geval was wanneer de bootkit afwezig was.

Een andere manier om te zien of de bootkit aanwezig is op het systeem met UEFI Secure Boot ingeschakeld, is door te proberen een niet-ondertekende dummy kernelmodule te laden tijdens runtime. Als deze aanwezig is, wordt de module geladen; zo niet - dan weigert de kernel deze te laden. Een eenvoudige remedie om van de bootkit af te komen, wanneer de bootkit is geïmplementeerd als “/EFI/ubuntu/grubx64.efi”, is om het legitieme “/EFI/ubuntu/grubx64-real.efi” bestand terug te verplaatsen naar de originele locatie, namelijk “/EFI/ubuntu/grubx64.efi”.

BlackLotus

In de afgelopen jaren is het UEFI dreigingslandschap, in het bijzonder dat van UEFI bootkits, aanzienlijk geëvolueerd. Het begon allemaal met de eerste UEFI bootkit proof of concept (PoC), beschreven door Andrea Allievi in 2012, die diende als demonstratie van het inzetten van bootkits op moderne, op UEFI gebaseerde Windows-systemen, en werd gevolgd door vele andere PoC's (EfiGuard, Boot Backdoor, UEFI-bootkit). Het duurde enkele jaren voordat de eerste twee echte UEFI-bootkits in het wild werden ontdekt (een daarvan was ESPecter in 2021 door ESET), en het duurde nog eens twee jaar voordat de beruchte BlackLotus - de eerste UEFI-bootkit die in staat was om UEFI Secure Boot op up-to-date systemen te omzeilen - verscheen (in 2023, ontdekt door ESET). Een rode draad door deze publiekelijk bekende bootkits was dat ze uitsluitend gericht waren op Windows-systemen.

Bekijk voor een meer gedetailleerde analyse en technische uitsplitsing van Bootkitty, de eerste bootkit voor Linux, de nieuwste blogpost van ESET Research, “Bootkitty: Analyzing the first UEFI bootkit for Linux,” op WeLiveSecurity.com. Zorg ervoor dat je ESET Research volgt op Twitter (tegenwoordig bekend als X) voor het laatste nieuws.