Krytyczna podatność w shim – poważne zagrożenie bezpieczeństwa dla systemów Linux

Een nieuwe dag, een potentieel beveiligingsprobleem in het Linux-systeem. Deze keer gaat het om een ​​kritieke kwetsbaarheid in shim – een belangrijke verbinding tussen Linux en de firmware van onze computer tijdens het opstarten van het systeem. Bij gebrek aan een oplossing kan een aanvaller de beveiligde opstartprocedure omzeilen en controle over ons systeem krijgen.

Allereerst moet worden opgemerkt dat shim geen onderdeel is van Linux zelf. Het is de schakel tussen moderne computerhardware en de Unified Extensible Firmware Interface (UEFI) Secure Boot-firmware-interface en Linux. Technisch gesproken moet je het gebruiken om Linux op te starten, dus het is een belangrijk probleem. Shim bestaat omdat Secure Boot, een computerbeveiligingsstandaard ontworpen om oudere BIOS-firmware in computers te vervangen, niet werkte met de meeste Linux-distributies toen het in 2012 werd geïntroduceerd. Secure Boot was – en is nog steeds – afhankelijk van een database van Windows-vriendelijke beveiligde sleutels, waarvoor Linux-distributies geen eenvoudige manier hadden om ze te verkrijgen. Matthew Garrett, een bekende Linux-ontwikkelaar en beveiligingsexpert, creëerde een oplossing voor dit probleem – shim, een ondertekende boot-loader die sleutels aan zijn eigen database kan toevoegen.

Gaand naar het heden heeft het Microsoft Security Response Center, specifiek Bill Demirkapi, een beveiligingslek ontdekt – CVE-2023-40547 – een klassieke bufferoverflow. Via deze bufferoverflow kan een aanvaller toegang krijgen tot het systeem en mogelijk willekeurige schadelijke software installeren. Het codefragment in shim dat het HTTP-protocol gebruikt om vanaf een centrale server in het netwerk op te starten, is bijzonder kwetsbaar voor deze aanval. Men zou kunnen denken dat we ons geen zorgen hoeven te maken, omdat in de 21ste eeuw het opstarten vanaf een server met een onveilige HTTP-verbinding niet wordt gebruikt. Niets is echter minder waar. Demirkapi legt uit op Twitter: “Een veelvoorkomend misverstand dat ik ben tegengekomen, is dat mensen denken dat deze kwetsbaarheid alleen mensen treft die HTTP-opstarten gebruiken. Als dat het geval was, zou het geen kritieke kwetsbaarheid zijn.”

Samenvattend vereist deze kwetsbaarheid bepaalde omstandigheden om misbruik van te maken. Een aanvaller moet het systeem kunnen sturen om op te starten vanuit een HTTP-bron, wat kan betekenen dat de server gecompromitteerd moet worden of dat er een man-in-the-middle-aanval moet worden uitgevoerd. Om hiervan gebruik te maken, moet de aanvaller verschillende obstakels overwinnen, zoals fysieke toegang tot het apparaat krijgen of beheerdersrechten verkrijgen. Hoewel dit niet gemakkelijk is voor de gemiddelde hacker, kan een dergelijke mogelijkheid niet worden uitgesloten, vooral als de aanvaller eerder netwerkbeveiliging heeft omzeild. Zoals Garrett aan Ars Technica vertelde, “In theorie geeft het de aanvaller niet de mogelijkheid om de firmware zelf te compromitteren, maar in de praktijk maakt het code-uitvoering mogelijk vóór ExitBootServices (waarmee de controle van firmware aan het besturingssysteem wordt overgedragen), waardoor veel meer kwetsbaarheid wordt blootgesteld – meestal wordt aangenomen dat alleen vertrouwde code wordt uitgevoerd vóór ExitBootServices. Je zou het nog steeds een bootkit kunnen noemen – het kan knoeien met de bootloader en de kernel voordat ze worden gestart. Het is echter niet permanent persistent (het wissen van de schijf verwijdert de dreiging).” Volgens de National Vulnerability Database (NVD), die deze kwetsbaarheid als ernstig beschouwt, kreeg het aanvankelijk een score dicht bij het maximum op de Common Vulnerability Scoring System (CVSS) schaal, met 9.8.

Red Hat, verantwoordelijk voor het onderhouden van shim, neemt een meer redelijke benadering. Deze leider in de Linux-wereld heeft CVE-2023-40547 een score van 8.3 gegeven, wat nog steeds een slecht resultaat is, zij het niet catastrofaal. Maar waarom is de score zo hoog als het moeilijk te exploiteren is? Shim is al meer dan een decennium aanwezig in praktisch alle Linux-distributies. Dat is een groot aantal potentiële doelwitten. Om deze kwetsbaarheid te verhelpen, moet shim worden bijgewerkt op alle Linux-systemen. Als je echter nooit gebruikmaakt van opstarten via netwerk, kun je eenvoudig de optie voor opstarten via netwerk uitschakelen. Dit is ook een effectieve oplossing.

Veelgestelde vragen (FAQ) over de kwetsbaarheid in Shim in Linux:

1. Wat is shim in Linux?
Shim is een essentiële verbinding tussen Linux en de firmware van de computer tijdens het opstarten van het systeem. Het is de interface tussen moderne hardware en UEFI Secure Boot-firmware en Linux.

2. Waarom is shim gemaakt?
Shim is gemaakt omdat Secure Boot, een computerbeveiligingsstandaard, niet werkte met de meeste Linux-distributies. Shim maakt het mogelijk om sleutels aan de database toe te voegen, waardoor veilig opstarten van Linux-systemen mogelijk is.

3. Wat is de kwetsbaarheid in shim?
De ontdekte kwetsbaarheid (CVE-2023-40547) in shim is een klassieke bufferoverflow. Aanvallers kunnen deze kwetsbaarheid misbruiken om controle over een systeem te krijgen en schadelijke software te installeren.

4. Hoe kunnen aanvallers de kwetsbaarheid in shim misbruiken?
Aanvallers moeten het systeem kunnen sturen om op te starten vanaf een server met een onveilige HTTP-verbinding. Dit kan het compromitteren van de server of het uitvoeren van een man-in-the-middle-aanval vereisen.

5. Kan een gemiddelde hacker misbruik maken van deze kwetsbaarheid?
Het misbruiken van deze kwetsbaarheid vereist het overwinnen van verschillende obstakels, zoals fysieke toegang tot het apparaat of het verkrijgen van beheerdersrechten. Het is niet eenvoudig voor een gemiddelde hacker, maar zo’n mogelijkheid kan niet worden uitgesloten, vooral als ze eerder netwerkbeveiliging hebben omzeild.

6. Wat zijn de beoordelingen van de kwetsbaarheid in shim?
Volgens de National Vulnerability Database (NVD) is het beoordeeld met 9.8 op de CVSS-schaal, wat een hoge score is. Red Hat gaf het daarentegen een beoordeling van 8.3, wat nog steeds een slecht maar niet catastrofaal resultaat is.

7. Hoe kan men zich beschermen tegen deze kwetsbaarheid?
Om tegen deze kwetsbaarheid te beschermen, moet shim worden bijgewerkt op alle Linux-systemen. Als je echter nooit gebruikmaakt van opstarten via netwerk, kun je de optie voor opstarten via netwerk uitschakelen als aanvullende beveiligingsmaatregel.

Voorgestelde gerelateerde links met het hoofddomein:
Red Hat
Linux
National Vulnerability Database (NVD)

The source of the article is from the blog elektrischnederland.nl