Vulnerabilitats al firmware UEFI basats en el marc InsydeH2O, que permet l'execució de codi a nivell SMM

En el marc InsydeH2O, utilitzat per molts fabricants per crear firmware UEFI per als seus equips (la implementació més habitual de UEFI BIOS), s'han identificat 23 vulnerabilitats que permeten executar codi a nivell SMM (System Management Mode), que té un prioritat més alta (anell -2) que el mode d'hipervisor i un anell zero de protecció, i amb accés il·limitat a tota la memòria. El problema afecta el firmware UEFI utilitzat per fabricants com Fujitsu, Siemens, Dell, HP, HPE, Lenovo, Microsoft, Intel i Bull Atos.

L'explotació de vulnerabilitats requereix accés local amb drets d'administrador, cosa que fa que els problemes siguin populars com a vulnerabilitats de segon nivell, utilitzades després de l'explotació d'altres vulnerabilitats del sistema o l'ús de mètodes d'enginyeria social. L'accés a nivell SMM permet executar codi a un nivell no controlat pel sistema operatiu, que es pot utilitzar per modificar el firmware i deixar amagat codi maliciós o rootkits a l'SPI Flash que no són detectats pel sistema operatiu, així com per desactivar la verificació en l'etapa d'arrencada (UEFI Secure Boot , Intel BootGuard) i atacs a hipervisors per evitar mecanismes per comprovar la integritat dels entorns virtuals.

Vulnerabilitats al firmware UEFI basats en el marc InsydeH2O, que permet l'execució de codi a nivell SMM

L'explotació de vulnerabilitats es pot dur a terme des del sistema operatiu mitjançant controladors SMI (System Management Interrupt) no verificats, així com en l'etapa prèvia a l'execució del sistema operatiu durant les etapes inicials d'arrencada o de tornada del mode de suspensió. Totes les vulnerabilitats són causades per problemes de memòria i es divideixen en tres categories:

  • SMM Callout: execució del vostre codi amb drets SMM mitjançant la redirecció de l'execució dels controladors d'interrupcions SWSMI al codi fora de SMRAM;
  • Corrupció de memòria que permet a un atacant escriure les seves dades a SMRAM, una àrea de memòria aïllada especial en la qual s'executa el codi amb drets SMM.
  • Corrupció de memòria en codi que s'executa a nivell DXE (Driver eXecution Environment).

Per demostrar els principis d'organització d'un atac, s'ha publicat un exemple d'explotació que permet, mitjançant un atac des del tercer o zero anell de protecció, accedir a la UEFI d'execució DXE i executar el vostre codi. L'explotació manipula un desbordament de pila (CVE-2021-42059) al controlador UEFI DXE. Durant l'atac, l'atacant pot col·locar el seu codi al controlador DXE, que roman actiu després de reiniciar el sistema operatiu, o fer canvis a l'àrea NVRAM de l'SPI Flash. Durant l'execució, el codi de l'atacant pot fer canvis a les àrees de memòria privilegiades, modificar els serveis EFI Runtime i afectar el procés d'arrencada.

Font: opennet.ru

Afegeix comentari