Vulnerabilitățile în firmware-urile UEFI bazate pe cadru InsydeH2O, care permit executarea codului la nivel SMM.

În cadrul arhitecturii InsydeH2O, utilizată de mulți producători pentru a crea firmware UEFI pentru echipamentele lor (cea mai comună implementare UEFI BIOS), au fost identificate 23 de vulnerabilități care permit execuția codului la nivelul SMM (System Management Mode), un nivel mai prioritar (Ring -2) decât modul hypervisor și nivelul de protecție zero, având acces nelimitat la întreaga memorie. Problema afectează firmware-urile UEFI utilizate de producători precum Fujitsu, Siemens, Dell, HP, HPE, Lenovo, Microsoft, Intel și Bull Atos.

Exploatarea vulnerabilităților necesită acces local cu drepturi de administrator, ceea ce face ca aceste probleme să fie de interes ca vulnerabilități de nivel secundar utilizate după exploatarea altor vulnerabilități în sistem sau prin utilizarea metodelor de inginerie socială. Accesul la nivelul SMM permite execuția codului la un nivel care nu este controlat de sistemul de operare, ceea ce poate fi utilizat pentru modificarea firmware-urilor și lăsarea de cod malițios sau rootkit-uri ascunse în SPI Flash, nedetectabile din sistemul de operare, precum și pentru dezactivarea verificării la pornire (UEFI Secure Boot, Intel BootGuard) și atacuri asupra hypervisor-urilor pentru a ocoli mecanismele de verificare a integrității mediilor virtuale.

Vulnerabilitățile în firmware-urile UEFI bazate pe cadru InsydeH2O, care permit executarea codului la nivel SMM.

Exploatarea vulnerabilităților poate fi efectuată din sistemul de operare prin intermediul SMI-handler-urilor (System Management Interrupt) neverificate, precum și într-o etapă anterioară executării sistemului de operare în timpul etapelor inițiale de boot sau la revenirea din modul de repaus. Toate vulnerabilitățile sunt cauzate de probleme cu gestionarea memoriei și sunt împărțite în trei categorii:

  • SMM Callout — execuția propriului cod cu drepturi SMM prin redirecționarea execuției handler-elor de întrerupere SWSMI către codul din afara SMRAM;
  • Corupția memoriei, care permite atacatorului să scrie propriile date în SMRAM, o zonă specială de memorie izolată în care se execută codul cu drepturi SMM.
  • Corupția memoriei în codul care se execută la nivelul DXE (Driver eXecution Environment).

Pentru a demonstra principiile organizației unui atac, a fost publicat un exemplu de exploit, care permite, prin realizarea unui atac din al treilea sau primul cerc de apărare, accesul la DXE Runtime UEFI și executarea propriului cod. Exploit-ul manipulează depășirea stivei (CVE-2021-42059) din driverul UEFI DXE. În cursul atacului, atacatorul poate plasa propriul cod în driverul DXE, care își păstrează activitatea după repornirea sistemului de operare, sau poate modifica aria NVRAM în SPI Flash. În procesul de execuție, codul atacatorului poate schimba zone privilegiate din memorie, modifica serviciile EFI Runtime și influența procesul de încărcare.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster