Осебиятҳо дар нармафзори нармафзори UEFI дар асоси чаҳорчӯбаи InsydeH2O, ки имкон медиҳад иҷрои код дар сатҳи SMM

Во фреймворке InsydeH2O, применяемом многими производителями для создания UEFI-прошивок к своему оборудованию (наиболее распространённая реализация UEFI BIOS), выявлены 23 уязвимости, позволяющие выполнить код на уровне SMM (System Management Mode), более приоритетном (Ring -2), чем режим гипервизора и нулевое кольцо защиты, и имеющим неограниченный доступ ко всей памяти. Проблема затрагивает UEFI-прошивки, используемые такими производителями, как Fujitsu, Siemens, Dell, HP, HPE, Lenovo, Microsoft, Intel и Bull Atos.

Для эксплуатации уязвимостей требуется локальный доступ с правами администратора, что делает проблемы востребованными в качестве уязвимостей второго звена, применяемых после эксплуатации других уязвимостей в системе или использования методов социальной инженерии. Доступ на уровне SMM позволяет выполнить код на уровне, неподконтрольном операционной системе, что может быть использовано для модификации прошивок и оставления в SPI Flash скрытого вредоносного кода или руткитов, не определяемых из операционной системы, а также для отключения верификации на этапе загрузки (UEFI Secure Boot, Intel BootGuard) и атак на гипервизоры для обхода механизмов проверки целостности виртуальных окружений.

Осебиятҳо дар нармафзори нармафзори UEFI дар асоси чаҳорчӯбаи InsydeH2O, ки имкон медиҳад иҷрои код дар сатҳи SMM

Эксплуатация уявзимостей может быть совершена из операционной системы при помощи неверифицированных SMI-обработчиков (System Management Interrupt), а также на этапе до выполнения операционной системы во время начальных стадий загрузки или возвращения из спящего режима. Все уязвимости вызваны проблемами работы с памятью и разделены на три категории:

  • SMM Callout — выполнение своего кода с правами SMM через перенаправление выполнения обработчиков прерываний SWSMI на код вне SMRAM;
  • Повреждения памяти, позволяющие атакующему записать свои данные в SMRAM, специальную изолированную область памяти, в которой выполняется код с правами SMM.
  • Повреждение памяти в коде, выполняемом на уровне DXE (Driver eXecution Environment).

Для демонстрации принципов организации атаки опубликован пример эксплоита, позволяющий через проведение атаки из третьего или нулевого кольца защиты, получить доступ к DXE Runtime UEFI и выполнить свой код. Эксплоит манипулирует переполнением стека (CVE-2021-42059) в драйвере UEFI DXE. В ходе атаки злоумышленник может разместить свой код в DXE-драйвере, сохраняющий активность после перезапуска операционной системы, или внести изменения в область NVRAM в SPI Flash. В процессе выполнения код злоумышленника может вносить изменения в привилегированные области памяти, модифицировать сервисы EFI Runtime и влиять на процесс загрузки.

Манбаъ: opennet.ru

Илова Эзоҳ