Cheile de securitate de nivel scăzut ale plăcii de bază s-au scurs în încălcarea MSI, susțin cercetătorii

Cheile de securitate de nivel scăzut ale plăcii de bază s-au scurs în încălcarea MSI, susțin cercetătorii

Nodul sursă: 2641177

Acum aproximativ o lună, am scris despre o notificarea privind încălcarea datelor emis de marele producător de plăci de bază MSI.

Compania a spus:

MSI a suferit recent un atac cibernetic asupra unei părți a sistemelor sale de informații. […] În prezent, sistemele afectate au reluat treptat operațiunile normale, fără impact semnificativ asupra afacerilor financiare. […] MSI îndeamnă utilizatorii să obțină actualizări de firmware/BIOS numai de pe site-ul său oficial și să nu folosească fișiere din alte surse decât site-ul oficial.

Mea culpa companiei a venit la două zile după ce o bandă de extorcare cibernetică, numită Money Message, a susținut că a furat codul sursă MSI, instrumentele de dezvoltare BIOS și cheile private.

La acea vreme, criminalii erau încă în modul numărătoare inversă și pretindeau că o vor face „publicați datele furate când expiră temporizatorul”:

Captură de ecran cu trei ore înainte ca temporizatorul de încălcare să expire [2023-04-07].

Ceasul sa oprit

„Cronometrul de dezvăluire” din captura de ecran de mai sus a expirat în 2023-04-07, cu puțin peste o lună în urmă, dar site-ul Money Message de pe dark web este altfel neschimbat de la postarea inițială a bandei:

O lună mai târziu [2023-05-09].

Cu toate acestea, cercetătorii de la compania de cercetare a vulnerabilităților Binarly susțin nu numai că au pus mâna pe datele furate în breșă, ci și că au căutat prin ele chei crpyotgrafice încorporate și au găsit numeroase accesări.

Până acum, Binarly revendică Github și Twitter să fi extras numeroase chei de semnare din datele pe care le deține, inclusiv ceea ce descrie [2023-05-09T14:00Z] ca:

  • 1 cheie Intel OEM. Aparent, această tastă poate fi folosită pentru a controla depanarea firmware-ului pe 11 plăci de bază diferite.
  • 27 de taste pentru semnarea imaginilor. Binarly susține că aceste taste pot fi folosite pentru a semna actualizări de firmware pentru 57 de plăci de bază MSI diferite.
  • 4 chei Intel Boot Guard. Aceste taste scurse se pare că controlează verificarea timpului de rulare a codului firmware pentru 116 plăci de bază MSI diferite.

Protecție BIOS bazată pe hardware

Potrivit Intel documentatie proprie, plăcile de bază moderne bazate pe Intel pot fi protejate prin mai multe straturi de siguranță criptografică.

Primul vine BIOS Guard, care permite doar codului care este semnat cu o cheie criptografică specificată de producător să obțină acces de scriere la memoria flash folosită pentru stocarea așa-numitelor Blocul de pornire inițial, sau IBB.

După cum sugerează și numele, IBB este locul unde se află prima componentă a codului de pornire al vânzătorului plăcii de bază.

Înlăturarea acestuia ar oferi unui atacator control asupra unui computer infectat nu numai la un nivel sub orice sistem de operare care se încarcă ulterior, ci și sub nivelul oricăror utilitare firmware instalate în EFI-ul oficial (interfață firmware extinsă) partiția de disc, posibil chiar dacă acea partiție este protejată de propriul sistem de semnătură digitală Secure Boot al firmware-ului.

După ce vine BIOS Guard Protectie de cizme, care verifică codul care este încărcat din IBB.

Ideea aici pare să fie că, deși BIOS Guard ar trebui să împiedice în primul rând trimiterea oricăror actualizări de firmware neoficiale, prin interzicerea accesului de scriere la instrumentele de actualizare a firmware-ului necinstite...

…nu poate spune că firmware-ul semnat „oficial” de către furnizorul plăcii de bază nu poate fi de încredere din cauza unei scurgeri de cheie de semnare a imaginii firmware-ului.

Aici intervine Boot Guard, oferind un al doilea nivel de atestare care urmărește să detecteze, în timpul executării, în timpul fiecărei porniri, că sistemul rulează firmware care nu este aprobat pentru placa ta de bază.

Stocare a cheilor pentru scriere o singură dată

Pentru a consolida nivelul de verificare criptografică oferit atât de BIOS Guard, cât și de Boot Guard și pentru a lega procesul de o anumită placă de bază sau familie de plăci de bază, cheile criptografice pe care le folosesc nu sunt ele însele stocate în memorie flash reinscriptibilă.

Sunt salvați, sau suflat, în jargon, în memoria de scriere o singură dată încorporată pe placa de bază însăși.

Cuvantul suflat derivă din faptul că circuitul de stocare este construit ca o serie de „fire de conectare” nanoscopice implementate ca siguranțe electrice minuscule.

Aceste conexiuni pot fi lăsate intacte, ceea ce înseamnă că vor citi ca 1 binari (sau 0, în funcție de modul în care sunt interpretate) sau „explozite” – fuzionate cu alte cuvinte – într-o modificare unică care le întoarce permanent. în 0 binari (sau 1).

Declanșarea procesului de ardere a biților este în sine protejată de o siguranță, astfel încât vânzătorul plăcii de bază are o șansă unică de a seta valoarea acestor așa-numite Siguranțe programabile pe teren.

Aceasta este vestea bună.

Odată ce cheile de verificare criptografică BIOS Guard și Boot Guard sunt scrise în memoria fuzibilă, acestea sunt blocate pentru totdeauna și nu poate fi niciodată subminat.

Dar vestea proastă corespunzătoare, desigur, este că, dacă cheile private care corespund acestor chei publice sigure până la sfârșitul universului sunt vreodată compromise, cheile publice arse nu poate fi niciodată actualizat.

În mod similar, o cheie OEM la nivel de remediere, așa cum s-a menționat mai sus, oferă unui furnizor de plăci de bază o modalitate de a prelua controlul asupra firmware-ului pe măsură ce acesta pornește, inclusiv urmărirea instrucțiunii cu instrucțiuni, ajustarea comportamentului său, spionarea și modificarea datelor. se păstrează în memorie și multe altele.

După cum vă puteți imagina, acest tip de acces și control asupra procesului de pornire este menit să ajute dezvoltatorii să obțină codul chiar în laborator, înainte ca acesta să fie ars în plăcile de bază care vor ajunge la clienți.

Intel documentaţie listează trei niveluri de depanare.

Verde denotă accesul de depanare permis oricui, care nu ar trebui să expună niciun secret de nivel scăzut sau să permită modificarea procesului de pornire.

Portocaliu denotă acces complet, citire-scriere depanare permis cuiva care are cheia privată a furnizorului corespunzător.

Roșu denotă același lucru cu portocaliu, dar se referă la o cheie privată principală aparținând Intel care poate debloca orice placă de bază a lui Vnedor.

După cum Intel afirmă destul de evident și direct în documentația sa:

Se presupune că producătorul platformei nu își va partaja cheia de autentificare [Mod portocaliu] cu niciun alt set de depanatoare.

Din nefericire, Binarly susține că escrocii au scurs acum o cheie Orange Mode care poate permite depanarea la timp de pornire la nivel scăzut pe 11 plăci de bază diferite furnizate de HP, Lenovo, Star Labs, AOPEN și CompuLab.

Atenție la bootkit-ul

Prin urmare, afirmațiile lui Binarly par să sugereze că, cu o cheie de semnare a firmware-ului și o cheie de semnare Boot Guard, un atacator ar putea nu numai să vă păcălească pe dvs. și instrumentele dvs. de actualizare a firmware-ului pentru a instala ceea ce pare a fi o actualizare autentică a firmware-ului în primul rând...

…dar și să poți păcăli o placă de bază care a fost blocată hardware prin protecția Boot Guard pentru a permite acei firmware necinstiți să se încarce, chiar dacă actualizarea corectează Initial Boot Block în sine.

De asemenea, posibilitatea de a porni un computer furat în modul de depanare a firmware-ului ar putea permite unui atacator să ruleze sau să implanteze cod necinstite, să extragă secrete sau să manipuleze în alt mod procesul de pornire la nivel scăzut pentru a lăsa computerul victimei într-un loc neîncrezat, nesigur și nesigur. stat.

Mai simplu spus, ai putea, cel puțin în teorie, să ajungi nu doar cu a rootkit, dar a kit de încărcare.

A rootkit, în jargon, este un cod care manipulează nucleul sistemului de operare pentru a preveni chiar și sistemul de operare însuși să detecteze, să raporteze sau să prevină mai târziu anumite tipuri de malware.

Unele rootkit-uri pot fi activate după ce sistemul de operare s-a încărcat, de obicei prin exploatarea unei vulnerabilități la nivel de kernel pentru a face modificări interne neautorizate în codul sistemului de operare în sine.

Alte rootkit-uri ocolesc nevoia unei gauri de securitate la nivel de kernel, subminând o parte din secvența de pornire bazată pe firmware, urmărind ca o ușă de securitate să fie activată înainte ca sistemul de operare să înceapă să se încarce, compromițând astfel o parte din codul de bază pe care funcționează. se bazează pe propria securitate a sistemului.

Și a kit de încărcare, vorbind vag, duce această abordare și mai departe, astfel încât ușa din spate de nivel scăzut să fie încărcată cât mai devreme și cât mai nedetectabil posibil în procesul de bootstrap a firmware-ului, poate chiar înainte ca computerul să examineze și să citească ceva de pe hard disk.

Un bootkit la acel nivel înseamnă că chiar și ștergerea sau înlocuirea întregului hard disk (inclusiv așa-numitul Partiția sistemului de interfață firmware extinsă, prescurtat EFI sau ESP) nu este suficient pentru a dezinfecta sistemul.

Configurare tipică a discului Mac.
Partiția EFI este etichetată corespunzător.
Configurare tipică de disc Windows 11.
Tip c12a7...ec93b denotă o partiție EFI.

Ca o analogie, v-ați putea gândi la un rootkit care se încarcă după sistemul de operare ca fiind un pic ca încercarea de a mitui un juriu pentru a achita un inculpat vinovat într-un proces penal. (Riscul ca acest lucru să se întâmple este unul dintre motivele pentru care juriile penale au de obicei 12, 15 sau mai mulți membri.)

Un rootkit care se încarcă târziu în procesul de firmware este un pic ca și cum ai încerca să mituiești procurorul sau anchetatorul șef pentru a face o treabă proastă și a lăsa măcar niște lacune doveditoare pentru ca părțile vinovate să se zbată.

Dar un bootkit seamănă mai degrabă cu a convinge legiuitorul însuși să abroge chiar legea în temeiul căreia inculpatul este acuzat, astfel încât cazul, oricât de atent au fost strânse și prezentate probele, nu poate continua deloc.

Ce să fac?

Cheile publice Boot Guard, odată inscripționate pe placa de bază, nu pot fi actualizate, așa că dacă cheile private corespunzătoare sunt compromise, nu puteți face nimic pentru a corecta problema.

Cheile de semnare a firmware-ului compromis pot fi retrase și înlocuite, ceea ce oferă utilizatorilor care descarcă firmware și instrumentelor de actualizare șansa de a vă avertiza în viitor despre firmware-ul care a fost semnat cu o cheie care nu este de încredere, dar acest lucru nu împiedică în mod activ utilizarea cheilor de semnare furate. .

Pierderea cheilor de semnare este un pic ca și pierderea cheii principale fizice la fiecare etaj și fiecare apartament dintr-o clădire de birouri.

De fiecare dată când schimbați una dintre încuietori compromise, ați redus utilitatea cheii furate, dar dacă și până când nu schimbați fiecare încuietoare, nu v-ați rezolvat corect problema de securitate.

Dar dacă înlocuiți imediat fiecare încuietoare din clădire peste noapte, veți bloca pe toată lumea, astfel încât nu veți putea lăsa chiriașii și muncitorii autentici să continue să-și folosească birourile pentru o perioadă de grație în care își pot schimba cheile vechi. pentru altele noi.

Cel mai bun pariu în acest caz, prin urmare, este să respectați îndeaproape sfaturile inițiale ale MSI:

[O]obțineți actualizări de firmware/BIOS numai de pe site-ul oficial [MSI] și [nu] utilizați fișiere din alte surse decât site-ul oficial.

Din păcate, acest sfat se rezumă probabil la cinci cuvinte care nu sunt complet utile și un semn de exclamare.

Fiți atenți acolo, oameni buni!


Actualizare. Compania de PR a Intel ne-a trimis un e-mail pentru a ne spune că compania „Este la curent cu aceste rapoarte și investighează în mod activ.” De asemenea, ne-au cerut să subliniem că „Cheile Intel Boot Guard OEM sunt generate de producătorul sistemului, [deci] acestea nu sunt chei de semnare Intel.” Abrevierea OEM este prescurtarea pentru producător de echipamente originale, un termen ușor confuz, dar de lungă durată, care se referă nu la furnizorul sau furnizorii componentelor individuale încorporate într-un produs, ci la vânzătorul care a fabricat sistemul complet. De exemplu, atunci când cumpărați ceea ce ați putea numi „placă de bază Intel” de la MSI, MSI este OEM, în timp ce Intel este furnizorul cipului procesorului și, poate, al altor componente ale chipset-ului, în centrul produsului finit. (Dacă placa ta de bază ar fi fost un cablu de securitate pentru bicicletă, atunci Intel ar fi făcut încuietoarea, dar OEM-ul ar fi sudat cablul, ar fi acoperit produsul în stratul său protector și ar fi ales numerele pentru combinație.) [2023-05. -09T22:45Z]


Timestamp-ul:

Mai mult de la Securitate goală