Уразлівасці ў 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

Дадаць каментар