Beveiligingssleutels van het moederbord op laag niveau gelekt bij MSI-inbreuk, beweren onderzoekers

Beveiligingssleutels van het moederbord op laag niveau gelekt bij MSI-inbreuk, beweren onderzoekers

Bronknooppunt: 2641177

Ongeveer een maand geleden schreven we over een melding van een datalek uitgegeven door de grote moederbordfabrikant MSI.

Het bedrijf zei:

MSI kreeg onlangs te maken met een cyberaanval op een deel van haar informatiesystemen. […] Momenteel hebben de getroffen systemen geleidelijk hun normale werking hervat, zonder noemenswaardige gevolgen voor de financiële bedrijfsvoering. […] MSI dringt er bij gebruikers op aan om firmware-/BIOS-updates alleen van de officiële website te verkrijgen en geen bestanden van andere bronnen dan de officiële website te gebruiken.

De mea culpa van het bedrijf kwam twee dagen nadat een cyberafpersingsbende met de naam Money Message beweerde MSI-broncode, BIOS-ontwikkeltools en privésleutels te hebben gestolen.

Op dat moment waren de criminelen nog in aftelmodus en beweerden dat ze dat zouden doen "Gestolen gegevens publiceren wanneer timer afloopt":

Screenshot drie uur voordat de inbreuktimer afliep [2023-04-07].

Klok stopte

De "onthullingstimer" in de bovenstaande schermafbeelding liep af op 2023-04-07, iets meer dan een maand geleden, maar de Money Message-site op het dark web is verder ongewijzigd sinds de eerste posting van de bende:

Een maand later [2023-05-09].

Desalniettemin beweren onderzoekers van het kwetsbaarheidsonderzoeksbureau Binarly niet alleen de gegevens die bij de inbreuk zijn gestolen, te hebben bemachtigd, maar ook te hebben doorzocht op ingebedde cryptografische sleutels en talloze hits te hebben gevonden.

Tot nu toe claimt Binarly verder GitHub en Twitter om talloze ondertekeningssleutels te hebben geëxtraheerd uit de gegevens in zijn bezit, inclusief wat het beschrijft [2023-05-09T14:00Z] als:

  • 1 Intel OEM-sleutel. Blijkbaar kan deze sleutel worden gebruikt om firmware-foutopsporing op 11 verschillende moederborden te regelen.
  • 27 beeldondertekeningssleutels. Binarly beweert dat deze sleutels kunnen worden gebruikt om firmware-updates voor 57 verschillende MSI-moederborden te ondertekenen.
  • 4 Intel Boot Guard-sleutels. Deze gelekte sleutels besturen blijkbaar de runtime-verificatie van firmwarecode voor 116 verschillende MSI-moederborden.

Op hardware gebaseerde BIOS-bescherming

Volgens Intel's eigen documentatiekunnen moderne op Intel gebaseerde moederborden worden beschermd door meerdere lagen van cryptografische veiligheid.

De eerste komt BIOS-bewaker, waarmee alleen code die is ondertekend met een door de fabrikant gespecificeerde cryptografische sleutel schrijftoegang krijgt tot het flashgeheugen dat wordt gebruikt om zogenaamde Eerste opstartblok, of IBB.

Zoals de naam al doet vermoeden, is de IBB de plaats waar het eerste onderdeel van de opstartcode van de moederbordleverancier leeft.

Het ondermijnen ervan zou een aanvaller controle geven over een geïnfecteerde computer, niet alleen op een niveau onder elk besturingssysteem dat later wordt geladen, maar ook onder het niveau van firmware-hulpprogramma's die zijn geïnstalleerd in de officiële EFI (uitgebreide firmware-interface) schijfpartitie, mogelijk zelfs als die partitie wordt beschermd door het eigen Secure Boot digitale handtekeningsysteem van de firmware.

Nadat BIOS Guard komt Laarsbeschermer, die de code verifieert die van de IBB is geladen.

Het idee hier lijkt te zijn dat hoewel BIOS Guard in de eerste plaats zou moeten voorkomen dat onofficiële firmware-updates worden geflasht, door schrijftoegang te weigeren aan malafide firmware-updatetools...

...het kan niet zeggen dat firmware die "officieel" is ondertekend door de leverancier van het moederbord, niet kan worden vertrouwd vanwege een uitgelekte firmware-image-ondertekeningssleutel.

Dat is waar Boot Guard tussenbeide komt, door een tweede attestatieniveau te bieden dat tot doel heeft om tijdens runtime tijdens elke opstart te detecteren dat het systeem firmware draait die niet is goedgekeurd voor uw moederbord.

Eenmalig beschrijfbare sleutelopslag

Om het niveau van cryptografische verificatie van zowel BIOS Guard als Boot Guard te versterken en om het proces te koppelen aan een specifiek moederbord of moederbordfamilie, worden de cryptografische sleutels die ze gebruiken zelf niet opgeslagen in herschrijfbaar flashgeheugen.

Ze zijn gered, of opgeblazen, in het jargon, in eenmalig beschrijfbaar geheugen dat op het moederbord zelf is ingebed.

Het woord opgeblazen vloeit voort uit het feit dat de opslagcircuits zijn geconstrueerd als een reeks nanoscopische "verbindingsdraden" die zijn geïmplementeerd als kleine elektrische zekeringen.

Die verbindingen kunnen intact worden gelaten, wat betekent dat ze worden uitgelezen als binaire 1-en (of 0-en, afhankelijk van hoe ze worden geïnterpreteerd), of "opgeblazen" - met andere woorden gefuseerd - in een eenmalige aanpassing die ze permanent omdraait in binaire 0s (of 1s).

Het triggeren van het bitverbrandingsproces wordt zelf beschermd door een zekering, dus de moederbordverkoper krijgt een eenmalige kans om de waarde van deze zogenaamde In het veld programmeerbare zekeringen.

Dat is het goede nieuws.

Zodra de cryptografische verificatiesleutels van BIOS Guard en Boot Guard naar het smeltbare geheugen zijn geschreven, zijn ze voor altijd vergrendeld en kan nooit worden ondermijnd.

Maar het overeenkomstige slechte nieuws is natuurlijk dat als de privésleutels die overeenkomen met deze veilige-tot-het-einde-van-het-universum openbare sleutels ooit worden gecompromitteerd, de ingebrande openbare sleutels kan nooit worden bijgewerkt.

Evenzo biedt een OEM-sleutel op foutopsporingsniveau, zoals hierboven vermeld, een moederbordverkoper een manier om de controle over de firmware over te nemen tijdens het opstarten, inclusief het instructie-voor-instructie bekijken, het gedrag aanpassen, de gegevens bespioneren en wijzigen. het houdt in het geheugen vast, en nog veel meer.

Zoals je je kunt voorstellen, is dit soort toegang tot en controle over het opstartproces bedoeld om ontwikkelaars te helpen de code goed in het lab te krijgen, voordat deze wordt gebrand op moederborden die naar klanten gaan.

Intel's documentatie somt drie foutopsporingsniveaus op.

Groen geeft debug-toegang aan die voor iedereen is toegestaan, wat niet de bedoeling is om low-level geheimen bloot te leggen of om het opstartproces te laten wijzigen.

Oranje geeft volledige lees- en schrijffoutopsporingstoegang aan die is toegestaan ​​voor iemand die de bijbehorende privésleutel van de leverancier heeft.

Rood staat voor hetzelfde als oranje, maar verwijst naar een persoonlijke hoofdsleutel van Intel die het moederbord van een vnedor kan ontgrendelen.

Zoals Intel vrij duidelijk en ronduit stelt in zijn documentatie:

Aangenomen wordt dat de platformfabrikant zijn authenticatiesleutel [oranje modus] niet zal delen met een andere set debuggers.

Helaas beweert Binarly dat de boeven nu een Orange Mode-sleutel hebben gelekt die low-level boot-time debugging mogelijk maakt op 11 verschillende moederborden geleverd door HP, Lenovo, Star Labs, AOPEN en CompuLab.

Pas op voor de bootkit

De beweringen van Binarly lijken daarom te suggereren dat een aanvaller met een firmware-ondertekeningssleutel en een Boot Guard-ondertekeningssleutel niet alleen jou en je firmware-updatetools kan misleiden om in de eerste plaats te installeren wat lijkt op een echte firmware-update...

... maar ook in staat zijn om een ​​moederbord dat hardwarematig is vergrendeld via Boot Guard-beveiliging te misleiden om die frauduleuze firmware te laten laden, zelfs als de update het initiële opstartblok zelf herstelt.

Evenzo kan het opstarten van een gestolen computer in de firmware-foutopsporingsmodus een aanvaller in staat stellen malafide code uit te voeren of te implanteren, geheimen te extraheren of anderszins het opstartproces op laag niveau te manipuleren om de computer van een slachtoffer in een onbetrouwbare, onveilige en onveilige omgeving achter te laten. staat.

Simpel gezegd, je zou, in ieder geval in theorie, niet alleen kunnen eindigen met een rootkit, Maar bootkit.

A rootkit, in het jargon, is code die de kernel van het besturingssysteem manipuleert om te voorkomen dat zelfs het besturingssysteem zelf later bepaalde soorten malware detecteert, rapporteert of voorkomt.

Sommige rootkits kunnen worden geactiveerd nadat het besturingssysteem is geladen, meestal door misbruik te maken van een kwetsbaarheid op kernelniveau om ongeoorloofde interne wijzigingen aan te brengen in de code van het besturingssysteem zelf.

Andere rootkits omzeilen de noodzaak van een beveiligingslek op kernelniveau door een deel van de op firmware gebaseerde opstartvolgorde te ondermijnen, met als doel een beveiligingsachterdeur te activeren voordat het besturingssysteem begint te laden, waardoor een deel van de onderliggende code waarop het besturingssysteem wordt geladen, wordt aangetast. de eigen beveiliging van het systeem vertrouwt.

En een bootkit, losjes gesproken, gaat nog verder, zodat de low-level backdoor zo vroeg en zo ondetecteerbaar mogelijk wordt geladen in het firmware-bootstrapproces, misschien zelfs voordat de computer überhaupt iets van de harde schijf onderzoekt en leest.

Een bootkit down op dat niveau betekent dat zelfs het wissen of vervangen van je hele harde schijf (inclusief de zogenaamde Uitgebreide firmware-interface Systeempartitie, afgekort EFI of ESP) is niet voldoende om het systeem te desinfecteren.

Typische Mac-schijfconfiguratie.
EFI-partitie is dienovereenkomstig gelabeld.
Typische Windows 11-schijfinstallatie.
Type c12a7...ec93b geeft een EFI-partitie aan.

Als analogie zou je een rootkit die na het besturingssysteem laadt, kunnen zien als een poging om een ​​jury om te kopen om een ​​schuldige beklaagde vrij te spreken in een strafproces. (Het risico dat dit gebeurt, is een van de redenen waarom strafrechtelijke jury's doorgaans 12, 15 of meer leden hebben.)

Een rootkit die laat in het firmwareproces wordt geladen, lijkt een beetje op het omkopen van de aanklager of de hoofdonderzoeker om slecht werk te leveren en op zijn minst enkele bewijsachterpoortjes achter te laten waar de schuldigen zich doorheen kunnen kronkelen.

Maar een bootkit is meer zoiets als de wetgevende macht zelf de wet laten intrekken op grond waarvan de beklaagde wordt aangeklaagd, zodat de zaak, hoe zorgvuldig het bewijsmateriaal ook is verzameld en gepresenteerd, helemaal niet kan doorgaan.

Wat te doen?

Openbare Boot Guard-sleutels die eenmaal op uw moederbord zijn gebrand, kunnen niet worden bijgewerkt, dus als de bijbehorende privésleutels zijn gecompromitteerd, kunt u niets doen om het probleem op te lossen.

Gecompromitteerde firmware-ondertekeningssleutels kunnen buiten gebruik worden gesteld en vervangen, waardoor firmware-downloaders en updatetools u in de toekomst kunnen waarschuwen voor firmware die is ondertekend met een nu niet-vertrouwde sleutel, maar dit voorkomt niet actief dat de gestolen ondertekeningssleutels worden gebruikt .

Het verliezen van ondertekeningssleutels lijkt een beetje op het verliezen van de fysieke hoofdsleutel van elke verdieping en elke suite in een kantoorgebouw.

Elke keer dat je een van de gecompromitteerde sloten verandert, heb je het nut van de gestolen sleutel verminderd, maar tenzij en totdat je elk afzonderlijk slot hebt veranderd, heb je je beveiligingsprobleem niet goed opgelost.

Maar als je meteen elk slot in het gebouw van de ene op de andere dag vervangt, sluit je iedereen buiten, zodat echte huurders en werknemers hun kantoor niet kunnen blijven gebruiken gedurende een uitstelperiode waarin ze hun oude sleutels kunnen inwisselen. voor nieuwe.

U kunt in dit geval dus het beste vasthouden aan het oorspronkelijke advies van MSI:

Ontvang alleen firmware-/BIOS-updates van de officiële website van [MSI] en gebruik [geen] bestanden van andere bronnen dan de officiële website.

Helaas komt dat advies waarschijnlijk neer op vijf niet helemaal nuttige woorden en een uitroepteken.

Wees voorzichtig daarbuiten, mensen!


Update. Het PR-bedrijf van Intel heeft ons een e-mail gestuurd om ons te vertellen dat het bedrijf "is op de hoogte van deze meldingen en doet actief onderzoek." Ze vroegen ons daar ook op te wijzen "Intel Boot Guard OEM-sleutels worden gegenereerd door de systeemfabrikant, [dus] dit zijn geen Intel-ondertekeningssleutels." De afkorting OEM staat voor fabrikant van originele apparatuur, een enigszins verwarrende maar al lang bestaande term die niet verwijst naar de leverancier of leveranciers van de afzonderlijke componenten die in een product zijn ingebouwd, maar naar de verkoper die het volledige systeem heeft vervaardigd. Wanneer u bijvoorbeeld een "Intel-moederbord" van MSI koopt, is MSI de OEM, terwijl Intel de leverancier is van de processorchip en misschien andere chipsetcomponenten die de kern vormen van het eindproduct. (Als je moederbord een fietsbeveiligingskabel was, dan zou Intel het slot hebben gemaakt, maar de OEM zou de kabel hebben gelast, het product in zijn beschermende coating hebben bedekt en de nummers voor de combinatie hebben gekozen.) [2023-05 -09T22:45Z]


Tijdstempel:

Meer van Naakte beveiliging