Microsoft a prezentat recent Proiectul Mu, o inițiativă care promite „firmware ca serviciu” pentru echipamentele compatibile. Această mișcare ar trebui să atragă atenția tuturor producătorilor de computere. Actualizările de securitate pentru firmware-ul UEFI sunt esențiale, iar producătorii de PC-uri nu s-au achitat întotdeauna corespunzător de această responsabilitate.
Ce este Firmware-ul UEFI?
Sistemele moderne folosesc firmware UEFI în locul BIOS-ului tradițional. UEFI este un software de nivel inferior care se activează la pornirea computerului. Acesta verifică și pregătește hardware-ul, realizează configurări de bază ale sistemului și apoi lansează sistemul de operare de pe unitatea de stocare internă sau de pe un alt dispozitiv de boot.
UEFI este mai complex decât vechiul BIOS. Spre exemplu, calculatoarele cu procesoare Intel includ Intel Management Engine, un mini-sistem de operare care funcționează în paralel cu Windows, Linux sau orice alt sistem instalat. În mediile de rețea, administratorii pot utiliza Intel ME pentru a gestiona computerele de la distanță.
În plus, UEFI găzduiește „microcodul” procesorului, un fel de firmware al acestuia. La pornire, microcodul este încărcat din firmware-ul UEFI. Acesta funcționează ca un interpret, convertind instrucțiunile software în acțiuni hardware pentru CPU.
Importanța Actualizărilor de Securitate pentru Firmware-ul UEFI
Evenimentele recente au subliniat necesitatea actualizărilor rapide de securitate pentru firmware-ul UEFI.
În 2018, am fost martorii apariției vulnerabilităților Spectre, care au dezvăluit defecte arhitecturale majore în procesoarele moderne. Aceste probleme, legate de „execuția speculativă”, permiteau programelor să eludeze restricțiile de securitate și să acceseze zone de memorie protejate. Pentru a remedia Spectre, au fost necesare actualizări ale microcodului CPU. Astfel, producătorii de PC-uri și plăci de bază au trebuit să implementeze noi versiuni de firmware UEFI care să includă microcodul actualizat. Un PC nu este protejat eficient împotriva Spectre fără o actualizare a firmware-ului UEFI. AMD a lansat de asemenea actualizări de microcod pentru a proteja sistemele cu procesoare AMD, deci problema nu a fost specifică doar Intel.
Intel Management Engine a fost afectat de vulnerabilități care ar fi putut permite atacatorilor cu acces local să compromită software-ul Management Engine sau atacatorilor de la distanță să cauzeze probleme. Din fericire, exploatările de la distanță au afectat doar companiile care activaseră Intel Active Management Technology (AMT), nu și utilizatorii casnici.
Acestea sunt doar câteva exemple. Cercetătorii au demonstrat că este posibil să se abuzeze de firmware-ul UEFI al unor PC-uri pentru a obține acces profund în sistem. Au fost prezentate chiar și cazuri de ransomware persistent care a infectat firmware-ul UEFI și a rulat de acolo.
Pentru a proteja împotriva acestor vulnerabilități, industria ar trebui să actualizeze firmware-ul UEFI al fiecărui computer la fel cum actualizează orice alt software.
Problemele Procesului de Actualizare
Procesul de actualizare a BIOS-ului a fost problematic dintotdeauna. Încă de pe vremea BIOS-ului clasic, era mai bine să eviți actualizările dacă totul funcționa bine. Pentru a instala o actualizare de BIOS, trebuia de multe ori să pornești de pe un disc de boot DOS, iar poveștile despre actualizări eșuate care au transformat computerele în „cărămizi” erau frecvente.
Situația s-a schimbat odată cu firmware-ul UEFI, care este mult mai complex. Intel a lansat numeroase actualizări importante pentru componente precum microcodul CPU și Intel ME. De fiecare dată când apare o astfel de actualizare, Intel îi îndrumă pe utilizatori către producătorul computerului. Acesta din urmă, sau producătorul plăcii de bază (dacă ți-ai construit propriul PC), trebuie să integreze codul de la Intel într-o nouă versiune de firmware UEFI, pe care ulterior trebuie să o testeze. Acest proces se repetă pentru fiecare model de computer, deoarece fiecare are firmware UEFI diferit. Este un proces manual complex, similar cu cel care a făcut actualizările de Android atât de dificile în trecut.
În practică, acest lucru înseamnă că durează mult timp, uneori luni, pentru ca actualizările critice de securitate să fie disponibile prin UEFI. Unii producători refuză să actualizeze computerele mai vechi. Chiar și când actualizările sunt disponibile, acestea sunt greu de găsit pe site-urile de suport ale producătorilor. Majoritatea utilizatorilor nu descoperă aceste actualizări și nu le instalează, permițând vulnerabilităților să persiste în sistemele existente. Mai mult, unii producători încă impun utilizatorilor să instaleze actualizări de firmware prin DOS, ceea ce complică și mai mult procesul.
Soluții pentru o Actualizare mai Eficientă
Situația actuală nu este acceptabilă. Este nevoie de un proces simplificat prin care producătorii să poată crea mai ușor actualizări de firmware UEFI și un mecanism mai eficient pentru a le distribui automat utilizatorilor. În prezent, procesul este lent și manual, când ar trebui să fie rapid și automat.
Aici intervine Proiectul Mu al Microsoft. Conform documentației oficiale:
Mu se bazează pe ideea că dezvoltarea și întreținerea unui produs UEFI este o colaborare continuă între mai mulți parteneri. Prea mult timp, industria a folosit un model de „furcă” în care codul era copiat/lipit/redenumit, iar întreținerea fiecărui produs nou creștea până la un punct în care actualizările deveneau imposibile din cauza costurilor și riscurilor.
Proiectul Mu își propune să ajute producătorii de PC-uri să creeze și să testeze actualizări UEFI mai rapid, simplificând procesul de dezvoltare și facilitând colaborarea. Se speră că aceasta este soluția lipsă, având în vedere că Microsoft a simplificat deja modul în care producătorii de PC-uri pot oferi automat actualizări de firmware UEFI utilizatorilor.
Mai exact, Microsoft permite producătorilor să distribuie actualizări de firmware prin Windows Update, oferind documentație în acest sens încă din 2017. De asemenea, Microsoft a anunțat Component Firmware Update, un model open-source pe care producătorii îl pot folosi pentru a actualiza UEFI și alte firmware-uri încă din octombrie 2018. Dacă producătorii adoptă aceste tehnologii, ar putea oferi actualizări de firmware tuturor utilizatorilor lor rapid.
Această tendință nu se limitează la Windows. Pe Linux, dezvoltatorii încearcă să simplifice procesul de distribuire a actualizărilor UEFI prin LVFS (Linux Vendor Firmware Service). Producătorii de PC-uri pot transmite actualizările, care vor apărea în aplicația GNOME Software, utilizată pe Ubuntu și alte distribuții Linux. Acest proiect a demarat în 2015 și a atras participația unor producători precum Dell și Lenovo.
Aceste soluții pentru Windows și Linux au implicații dincolo de actualizările UEFI. În viitor, producătorii de hardware le-ar putea folosi pentru a actualiza orice, de la firmware-ul mouse-ului USB la firmware-ul SSD-urilor.
După cum spunea SwiftOnSecurity, actualizările de firmware trebuie să fie de încredere, mai ales când ne gândim la problemele legate de firmware și criptarea unităților SSD. Trebuie să avem așteptări mai mari de la producătorii de hardware.
Actualizările de firmware pot fi de încredere. Am efectuat cel puțin 3.000 de actualizări de BIOS Dell cu o singură eroare, iar acel computer vechi era deja pe cale să cedeze.
Gândește-te din nou la ceea ce crezi că este imposibil. Întreținerea firmware-ului nu este imposibilă sau riscantă. Este nevoie doar ca oamenii să ceară mai bine.
— SwiftOnSecurity (@SwiftOnSecurity) 6 noiembrie 2018
Credit imagine: Intel, Natascha Eibl, kubais/Shutterstock.com.