Уязвимость в прошивках UEFI, позволяющая выполнить код на уровне SMM

Discussion in 'Мировые новости. Обсуждения.' started by Suicide, 8 Nov 2022.

  1. Suicide

    Suicide Super Moderator
    Staff Member

    Joined:
    24 Apr 2009
    Messages:
    2,482
    Likes Received:
    7,063
    Reputations:
    693
    Раскрыта информация об уязвимости (CVE-2021-33164) в прошивках UEFI, позволяющей выполнить код на уровне SMM (System Management Mode), более приоритетном, чем режим гипервизора и нулевое кольцо защиты, и предоставляющем неограниченный доступ ко всей системной памяти. Уязвимость, которая получила кодовое имя RingHopper, связана с возможностью проведения атаки по времени при помощи DMA (Direct Memory Access) для повреждения памяти в коде, выполняемом на уровне SMM. Наличие уязвимости подтверждено в прошивках Intel, Dell и Insyde Software (утверждается, что проблема затрагивает 8 производителей, но остальные 5 пока не раскрываются). Прошивки AMD, Phoenix и Toshiba проблеме не подвержены.

    Эксплуатация уявзимостей может быть совершена из операционной системы, используя уязвимые SMI-обработчики (System Management Interrupt), для доступа к которым необходимы права администратора. Атака также может быть проведена при наличии физического доступа на раннем этапе загрузки, на стадии до инициализации операционной системы. Для блокирования проблемы пользователям Linux рекомендуется обновить прошивку при помощи сервиса LVFS (Linux Vendor Firmware Service), воспользовавшись утилитой fwupdmgr (fwupdmgr get-updates; fwupdmgr update) из пакета fwupd.

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

    Проблема вызвана состоянием гонки в обработчике SMI (System Management Interrupt), возникающем в момент между проверкой доступа и обращением к SMRAM. Для определения нужного момента между проверкой состояния и использованием результата проверки может использоваться анализ по сторонним каналам при помощи DMA. В итоге, из-за асинхронного характера доступа к SMRAM через DMA, атакующий может определить нужный момент и перезаписать содержимое SMRAM, используя DMA в обход API обработчика SMI. Процессоры с поддержкой механизмов Intel-VT и Intel VT-d включают защиту от DMA-атак, основанную на применении IOMMU (Input-Output Memory Management Unit), но данная защита эффективна для блокирования аппаратных DMA-атак, проводимых при помощи подготовленных атакующим устройств, и не защищает от атак через обработчики SMI.

     
    _________________________
    seostock and DartPhoenix like this.
Loading...