Sårbarheder i UEFI-firmware baseret på InsydeH2O-rammeværket, der tillader kodeudførelse på SMM-niveau

I InsydeH2O-rammeværket, der bruges af mange producenter til at skabe UEFI-firmware til deres udstyr (den mest almindelige implementering af UEFI BIOS), er der identificeret 23 sårbarheder, der gør det muligt at udføre kode på SMM-niveauet (System Management Mode), som har en højere prioritet (Ring -2) end hypervisortilstanden og en nulring af beskyttelse og har ubegrænset adgang til al hukommelse. Problemet påvirker UEFI-firmware, der bruges af producenter som Fujitsu, Siemens, Dell, HP, HPE, Lenovo, Microsoft, Intel og Bull Atos.

Udnyttelse af sårbarheder kræver lokal adgang med administratorrettigheder, hvilket gør problemerne populære som sekundære sårbarheder, brugt efter udnyttelse af andre sårbarheder i systemet eller brug af social engineering metoder. Adgang på SMM-niveau giver dig mulighed for at eksekvere kode på et niveau, der ikke er kontrolleret af operativsystemet, som kan bruges til at ændre firmware og efterlade skjulte ondsindede kode eller rootkits i SPI Flash, som ikke registreres af operativsystemet, samt at deaktivere verifikation på opstartsstadiet (UEFI Secure Boot , Intel BootGuard) og angreb på hypervisorer for at omgå mekanismer til kontrol af virtuelle miljøers integritet.

Sårbarheder i UEFI-firmware baseret på InsydeH2O-rammeværket, der tillader kodeudførelse på SMM-niveau

Udnyttelse af sårbarheder kan udføres fra operativsystemet ved hjælp af ubekræftede SMI (System Management Interrupt)-handlere, såvel som på førudførelsesfasen af ​​operativsystemet under de indledende stadier af opstart eller tilbagevenden fra dvaletilstand. Alle sårbarheder er forårsaget af hukommelsesproblemer og er opdelt i tre kategorier:

  • SMM Callout - eksekvering af din kode med SMM-rettigheder ved at omdirigere udførelsen af ​​SWSMI interrupt-handlere til kode uden for SMRAM;
  • Hukommelseskorruption, der gør det muligt for en angriber at skrive deres data til SMRAM, et særligt isoleret hukommelsesområde, hvor kode udføres med SMM-rettigheder.
  • Hukommelseskorruption i kode, der kører på DXE-niveau (Driver eXecution Environment).

For at demonstrere principperne for organisering af et angreb er der udgivet et eksempel på en udnyttelse, som tillader, gennem et angreb fra den tredje eller nul beskyttelsesring, at få adgang til DXE Runtime UEFI og udføre din kode. Udnyttelsen manipulerer et stackoverløb (CVE-2021-42059) i UEFI DXE-driveren. Under angrebet kan angriberen placere sin kode i DXE-driveren, som forbliver aktiv, efter at operativsystemet er genstartet, eller foretage ændringer i NVRAM-området i SPI Flash. Under udførelse kan angriberkode foretage ændringer i privilegerede hukommelsesområder, ændre EFI Runtime-tjenester og påvirke opstartsprocessen.

Kilde: opennet.ru

Tilføj en kommentar