Informațiile despre vulnerabilitatea (CVE-2021-33164) din firmware-urile UEFI au fost dezvăluite, permițând executarea codului la nivel SMM (System Management Mode), mai prioritar decât modul hipervizor și cercul de protecție zero, oferind acces nelimitat la întreaga memorie a sistemului. Vulnerabilitatea, cunoscută sub numele de RingHopper, este legată de posibilitatea efectuării unui atac temporar folosind DMA (Direct Memory Access) pentru a deteriora memoria în codul executat la nivel SMM. Prezența vulnerabilității a fost confirmată în firmware-urile Intel, Dell și Insyde Software (se afirmă că problema afectează 8 producători, dar ceilalți 5 nu sunt dezvăluiți deocamdată). Firmware-urile AMD, Phoenix și Toshiba nu sunt afectate de problemă.
Exploatarea vulnerabilităților poate fi realizată din sistemul de operare, utilizând gestionarii SMI (System Management Interrupt) vulnerabili, pentru a accesa care necesită drepturi de administrator. Atacul poate fi, de asemenea, efectuat în cazul în care există acces fizic într-o etapă timpurie a boot-ului, înainte de inițializarea sistemului de operare. Pentru a preveni problema, utilizatorilor Linux li se recomandă să actualizeze firmware-ul folosind serviciul LVFS (Linux Vendor Firmware Service), utilizând utilitarul fwupdmgr (fwupdmgr get-updates; fwupdmgr update) din pachetul fwupd.
Necesitatea de a avea drepturi de administrator pentru a efectua atacul limitează pericolul problemei, dar nu împiedică utilizarea acesteia ca vulnerabilitate de al doilea nivel, pentru a-și menține prezența după exploatarea altor vulnerabilități din sistem sau aplicarea metodelor de inginerie socială. Accesul la SMM (Ring -2) permite executarea codului la un nivel care nu este controlat de sistemul de operare, ceea ce poate fi folosit pentru a modifica firmware-urile și a insera cod malițios ascuns sau rootkits în SPI Flash, care nu sunt detectabile din sistemul de operare, precum și pentru a dezactiva verificarea în timpul boot-ului (UEFI Secure Boot, Intel BootGuard) și atacuri asupra hipervizoarelor pentru ocolirea mecanismelor de verificare a integrității mediilor virtuale.
Problema este cauzată de o stare de competiție în handlerul SMI (System Management Interrupt), care apare în momentul dintre verificarea accesului și interacțiunea cu SMRAM. Pentru a determina momentul corect între verificarea stării și utilizarea rezultatului verificației, se poate folosi analiza prin canale externe cu ajutorul DMA. Drept urmare, din cauza caracterului asincron al accesului la SMRAM prin DMA, atacatorul poate determina momentul potrivit și poate suprascrie conținutul SMRAM, folosind DMA pentru a oh ocoli API-ul handlerului SMI. Procesoarele care suportă mecanismele Intel-VT și Intel VT-d includ protecție împotriva atacurilor DMA, bazată pe utilizarea IOMMU (Input-Output Memory Management Unit), dar această protecție este eficientă pentru blocarea atacurilor hardware DMA efectuate cu dispozitive pregătite de atacator și nu protejează împotriva atacurilor prin intermediul handlerelor SMI.
Sursa: opennet.ro
