Sikkerhetsnøkler til hovedkort på lavt nivå lekket i MSI-brudd, hevder forskere

Sikkerhetsnøkler til hovedkort på lavt nivå lekket i MSI-brudd, hevder forskere

Kilde node: 2641177

For en måned siden skrev vi om en melding om brudd på data utstedt av hovedkortprodusenten MSI.

Selskapet sa:

MSI ble nylig utsatt for et nettangrep på deler av informasjonssystemene sine. […] For øyeblikket har de berørte systemene gradvis gjenopptatt normal drift, uten noen vesentlig innvirkning på finansvirksomheten. […] MSI oppfordrer brukere til å skaffe fastvare/BIOS-oppdateringer kun fra den offisielle nettsiden, og ikke bruke filer fra andre kilder enn den offisielle nettsiden.

Selskapets mea culpa kom to dager etter at en gjeng med nettutpressing under navnet Money Message hevdet å ha stjålet MSI-kildekode, BIOS-utviklingsverktøy og private nøkler.

På den tiden var de kriminelle fortsatt i nedtellingsmodus, og hevdet at de ville "publiser stjålne data når tidtakeren utløper":

Skjermbilde tre timer før bruddtidtakeren utløp [2023-04-07].

Klokken stoppet

"Avsløringstimeren" i skjermbildet ovenfor gikk ut 2023-04-07, for litt over en måned siden, men Money Message-siden på det mørke nettet er ellers uendret siden gjengens første innlegg:

En måned senere [2023-05-09].

Likevel hevder forskere ved sårbarhetsforskningsselskapet Binarly ikke bare å ha fått tak i dataene som ble stjålet i bruddet, men også å ha søkt gjennom dem etter innebygde crpyotgraphic-nøkler og kommet opp med en rekke treff.

Så langt hevder Binarly på Github og Twitter å ha hentet ut en rekke signeringsnøkler fra dataene i sin besittelse, inkludert det den beskriver [2023-05-09T14:00Z] som:

  • 1 Intel OEM-nøkkel. Tilsynelatende kan denne nøkkelen brukes til å kontrollere fastvarefeilsøking på 11 forskjellige hovedkort.
  • 27 bildesigneringsnøkler. Binarly hevder at disse tastene kan brukes til å signere fastvareoppdateringer for 57 forskjellige MSI-hovedkort.
  • 4 Intel Boot Guard-nøkler. Disse lekkede nøklene kontrollerer tilsynelatende kjøretidsverifisering av fastvarekode for 116 forskjellige MSI-hovedkort.

Maskinvarebasert BIOS-beskyttelse

I følge Intels egen dokumentasjon, kan moderne Intel-baserte hovedkort beskyttes av flere lag med kryptografisk sikkerhet.

Først kommer BIOS Guard, som kun lar kode som er signert med en produsentspesifisert kryptografisk nøkkel få skrivetilgang til flashminnet som brukes til å lagre s.k. Første oppstartsblokk, eller IBB.

Som navnet antyder, er IBB stedet der den første komponenten i hovedkortleverandørens oppstartskode bor.

Å undergrave den ville gi en angriper kontroll over en infisert datamaskin, ikke bare på et nivå under et hvilket som helst operativsystem som senere laster, men også under nivået til eventuelle fastvareverktøy installert i den offisielle EFI (utvidet fastvaregrensesnitt) diskpartisjon, potensielt selv om den partisjonen er beskyttet av fastvarens eget digitale signatursystem for Secure Boot.

Etter BIOS Guard kommer Boot Guard, som bekrefter koden som er lastet inn fra IBB.

Ideen her ser ut til å være at selv om BIOS Guard skal forhindre uoffisielle fastvareoppdateringer fra å bli flashet i utgangspunktet, ved å nekte skrivetilgang til useriøse firmwareoppdateringsverktøy ...

…det kan ikke fortelle at fastvare "offisielt" signert av hovedkortleverandøren ikke kan stoles på på grunn av en lekket fastvarebildesigneringsnøkkel.

Det er der Boot Guard trer inn, og gir et andre nivå av attestering som tar sikte på å oppdage, ved kjøretid under hver oppstart, at systemet kjører fastvare som ikke er godkjent for hovedkortet ditt.

Oppbevaring av nøkkelen én gang

For å styrke nivået av kryptografisk verifisering levert av både BIOS Guard og Boot Guard, og for å knytte prosessen til en bestemt hovedkort- eller hovedkortfamilie, lagres ikke kryptografiske nøklene de bruker i overskrivbart flashminne.

De er reddet, eller blåst, i sjargongen, inn i skrive-en gangs minne innebygd på selve hovedkortet.

Ordet blåst stammer fra det faktum at lagringskretsen er konstruert som en serie av nanoskopiske "koblingsledninger" implementert som bittesmå elektriske sikringer.

Disse forbindelsene kan forbli intakte, noe som betyr at de vil leses opp som binære 1-ere (eller 0-ere, avhengig av hvordan de tolkes), eller "blåst" - smeltet med andre ord - i en ett-skuddsmodifikasjon som snur dem permanent til binære 0-er (eller 1-ere).

Å utløse bit-brenningsprosessen er i seg selv beskyttet av en sikring, så hovedkortleverandøren får en engangssjanse til å sette verdien på disse s.k. Feltprogrammerbare sikringer.

Det er den gode nyheten.

Når BIOS Guard og Boot Guard kryptografiske verifikasjonsnøkler er skrevet til det smeltbare minnet, er de låst for alltid, og kan aldri undergraves.

Men den korresponderende dårlige nyheten er selvfølgelig at hvis de private nøklene som tilsvarer disse offentlige nøklene som er sikre til slutten av universet, noen gang kompromitteres, vil de innbrente offentlige nøklene kan aldri oppdateres.

På samme måte gir en OEM-nøkkel på feilsøkingsnivå, som nevnt ovenfor, en hovedkortleverandør en måte å ta kontroll over fastvaren mens den starter opp, inkludert å se den instruksjon for instruksjon, justere oppførselen, spionere på og modifisere dataene det holder i minnet, og mye mer.

Som du kan forestille deg, er denne typen tilgang til og kontroll over oppstartsprosessen ment å hjelpe utviklere med å få koden rett i laboratoriet, før den brennes inn på hovedkort som vil gå til kundene.

Intels dokumentasjon viser tre feilsøkingsnivåer.

Grønn angir feilsøkingstilgang tillatt for hvem som helst, som ikke skal avsløre noen hemmelighet på lavt nivå eller tillate at oppstartsprosessen endres.

oransje angir full, lese-skrive-feilsøkingstilgang tillatt for noen som har den tilsvarende leverandørens private nøkkel.

Rød betegner det samme som oransje, men refererer til en privat hovednøkkel som tilhører Intel som kan låse opp alle vnedors hovedkort.

Som Intel ganske åpenbart, og rett ut, sier i sin dokumentasjon:

Det antas at plattformprodusenten ikke vil dele sin [Oransje modus]-autentiseringsnøkkel med andre sett med debuggere.

Dessverre hevder Binarly at skurkene nå har lekket en oransje modus-tast som kan aktivere lav-nivå oppstartstidsfeilsøking på 11 forskjellige hovedkort levert av HP, Lenovo, Star Labs, AOPEN og CompuLab.

Pass opp for oppstartssettet

Binarlys påstander ser derfor ut til å antyde at med en signeringsnøkkel for fastvare og en Boot Guard-signeringsnøkkel, kan det hende at en angriper ikke bare kan lure deg og verktøyene for fastvareoppdatering til å installere det som ser ut som en ekte firvareoppdatering i utgangspunktet...

...men også være i stand til å lure et hovedkort som er maskinvarelåst via Boot Guard-beskyttelse til å la den falske fastvaren lastes, selv om oppdateringen retter opp selve den første oppstartsblokken.

På samme måte kan det å kunne starte opp en stjålet datamaskin i fastvare-feilsøkingsmodus tillate en angriper å kjøre eller implantere falsk kode, trekke ut hemmeligheter eller på annen måte manipulere oppstartsprosessen på lavt nivå for å etterlate et offers datamaskin i en upålitelig, usikker og usikker stat.

Enkelt sagt kan du, i det minste i teorien, ende opp ikke bare med en rootkit, men a støvelsett.

A rootkit, i sjargongen, er kode som manipulerer operativsystemkjernen for å forhindre at selv operativsystemet oppdager, rapporterer eller forhindrer visse typer skadelig programvare senere.

Noen rootkits kan aktiveres etter at operativsystemet er lastet, typisk ved å utnytte en sårbarhet på kjernenivå for å gjøre uautoriserte interne endringer i selve operativsystemkoden.

Andre rootkits omgår behovet for et sikkerhetshull på kjernenivå ved å undergrave en del av den fastvarebaserte oppstartssekvensen, med sikte på å få en sikkerhetsbakdør aktivert før operativsystemet begynner å laste, og dermed kompromittere noe av den underliggende koden som driften av systemets egen sikkerhet er avhengig.

Og a støvelsett, løst sett, tar denne tilnærmingen enda lenger, slik at lavnivå-bakdøren blir lastet så tidlig og så uoppdagelig som mulig i fastvareoppstartsprosessen, kanskje til og med før datamaskinen undersøker og leser noe fra harddisken i det hele tatt.

Et bootkit nede på det nivået betyr at du til og med sletter eller erstatter hele harddisken din (inkludert den s.k. Systempartisjon for utvidet fastvaregrensesnitt, forkortet EFI eller ESP) er ikke nok til å desinfisere systemet.

Typisk Mac-diskoppsett.
EFI-partisjon er merket tilsvarende.
Typisk Windows 11-diskoppsett.
typen c12a7...ec93b betegner en EFI-partisjon.

Som en analogi kan du tenke på et rootkit som lastes etter operativsystemet som å være litt som å prøve å bestikke en jury for å frikjenne en skyldig tiltalt i en straffesak. (Risikoen for at dette skal skje er en grunn til at kriminelle juryer vanligvis har 12, 15 eller flere medlemmer.)

Et rootkit som lastes inn sent i fastvareprosessen er litt som å prøve å bestikke aktor eller sjefsetterforskeren for å gjøre en dårlig jobb og etterlate i det minste noen bevismessige smutthull for de skyldige å vri seg gjennom.

Men en oppstartspakke er mer som å få lovgiveren selv til å oppheve selve loven som tiltalte blir siktet etter, slik at saken, uansett hvor nøye bevisene ble samlet og presentert, ikke kan fortsette i det hele tatt.

Hva gjør jeg?

Boot Guard offentlige nøkler, når de er brent inn på hovedkortet ditt, kan ikke oppdateres, så hvis deres tilsvarende private nøkler er kompromittert, er det ingenting du kan gjøre for å rette opp problemet.

Kompromitterte fastvaresigneringsnøkler kan trekkes tilbake og erstattes, noe som gir fastvarenedlastere og oppdateringsverktøy en sjanse til å advare deg i fremtiden om fastvare som ble signert med en nå ikke-klarert nøkkel, men dette forhindrer ikke aktivt at de stjålne signeringsnøklene brukes .

Å miste signeringsnøkler er litt som å miste den fysiske hovednøkkelen til hver etasje og hver suite i et kontorbygg.

Hver gang du skifter en av de kompromitterte låsene, har du redusert nytten av den stjålne nøkkelen, men med mindre og inntil du har byttet hver enkelt lås, har du ikke løst sikkerhetsproblemet på riktig måte.

Men hvis du umiddelbart skifter ut hver enkelt lås i bygningen over natten, vil du låse alle ute, slik at du ikke kan la ekte leietakere og arbeidere fortsette å bruke kontorene sine i en frist der de kan bytte sine gamle nøkler for nye.

Det beste alternativet i dette tilfellet er derfor å holde seg nøye til MSIs opprinnelige råd:

[O]hent fastvare/BIOS-oppdateringer kun fra [MSIs] offisielle nettsted, og [ikke] bruk filer fra andre kilder enn det offisielle nettstedet.

Dessverre koker nok det rådet ned til fem ikke helt nyttige ord og et utropstegn.

Vær forsiktig der ute, folkens!


Update. Intels PR-selskap sendte oss en e-post for å fortelle oss at selskapet "er klar over disse rapportene og undersøker aktivt." De ba oss også påpeke det "Intel Boot Guard OEM-nøkler genereres av systemprodusenten, [så] disse er ikke Intel-signeringsnøkler." Forkortelsen OEM er en forkortelse for original utstyrsprodusent, et litt forvirrende, men veletablert begrep som ikke refererer til leverandøren eller leverandørene av de enkelte komponentene som er innebygd i et produkt, men til leverandøren som produserte hele systemet. For eksempel, når du kjøper det du kan referere til som et "Intel-hovedkort" fra MSI, er MSI OEM, mens Intel er leverandøren av prosessorbrikken, og kanskje andre brikkesettkomponenter, i hjertet av det ferdige produktet. (Hvis hovedkortet ditt var en sykkelsikkerhetskabel, ville Intel ha laget låsen, men OEM ville ha sveiset opp kabelen, dekket produktet med dets beskyttende belegg og valgt tallene for kombinasjonen.) [2023-05 -09T22:45Z]


Tidstempel:

Mer fra Naken sikkerhet