Рањивости у ГРУБ2 које вам омогућавају да заобиђете УЕФИ Сецуре Боот

Исправљено је 2 рањивости у ГРУБ7 покретачком програму које вам омогућавају да заобиђете УЕФИ Сецуре Боот механизам и покренете непроверени код, на пример, уведете малвер који ради на нивоу покретача или кернела. Поред тога, постоји једна рањивост у схим слоју, која вам такође омогућава да заобиђете УЕФИ Сецуре Боот. Група рањивости је добила кодни назив Боотхоле 3, слично сличним проблемима који су претходно идентификовани у покретачком програму.

За решавање проблема у ГРУБ2 и схим-у, дистрибуције ће моћи да користе СБАТ (УЕФИ Сецуре Боот Адванцед Таргетинг) механизам, који је подржан за ГРУБ2, схим и фвупд. СБАТ је развијен заједно са Мицрософтом и укључује додавање додатних метаподатака у извршне датотеке УЕФИ компоненти, што укључује информације о произвођачу, производу, компоненти и верзији. Наведени метаподаци су сертификовани дигиталним потписом и могу се посебно укључити у листе дозвољених или забрањених компоненти за УЕФИ Сецуре Боот.

Већина Линук дистрибуција користи мали подложни слој који је дигитално потписао Мицрософт за верификовано покретање у УЕФИ режиму безбедног покретања. Овај слој верификује ГРУБ2 сопственим сертификатом, што омогућава програмерима дистрибуције да немају свако језгро и ГРУБ ажурирање сертификовано од стране Мицрософта. Рањивости у ГРУБ2 вам омогућавају да постигнете извршење вашег кода у фази након успешне верификације шим-а, али пре учитавања оперативног система, уклапање у ланац поверења када је режим безбедног покретања активан и добијање потпуне контроле над даљим процесом покретања, укључујући учитавање другог ОС-а, модификовање система компоненти оперативног система и заобилажење заштите од закључавања.

Да би решиле проблеме у покретачком програму, дистрибуције ће морати да креирају нове интерне дигиталне потписе и ажурирају инсталатере, покретаче, кернел пакете, фвупд фирмвер и схим слој. Пре увођења СБАТ-а, ажурирање листе опозива сертификата (дбк, УЕФИ Ревоцатион Лист) је био предуслов за потпуно блокирање рањивости, пошто је нападач, без обзира на оперативни систем који користи, могао да користи медиј за покретање са старом рањивом верзијом ГРУБ2, сертификован дигиталним потписом, да би се компромитовао УЕФИ Сецуре Боот.

Уместо да опозовете потпис, СБАТ вам омогућава да блокирате његову употребу за појединачне бројеве верзија компоненти без да морате да опозовете кључеве за безбедно покретање. Блокирање рањивости преко СБАТ-а не захтева употребу листе опозива УЕФИ сертификата (дбк), већ се врши на нивоу замене интерног кључа за генерисање потписа и ажурирање ГРУБ2, схим-а и других артефаката покретања које достављају дистрибуције. Тренутно је СБАТ подршка већ додата у већину популарних Линук дистрибуција.

Идентификоване рањивости:

  • ЦВЕ-2021-3696, ЦВЕ-2021-3695 су прекорачења бафера заснована на хрпи при обради посебно дизајнираних ПНГ слика, који се теоретски могу користити за извршавање нападачког кода и заобилажење УЕФИ Сецуре Боот. Напомиње се да је проблем тешко искористити, јер креирање радног експлоатације захтева узимање у обзир великог броја фактора и доступности информација о распореду меморије.
  • ЦВЕ-2021-3697 – Недостатак бафера у коду за обраду ЈПЕГ слике. Искоришћавање проблема захтева познавање распореда меморије и на приближно истом нивоу сложености као и проблем ПНГ (ЦВСС 7.5).
  • ЦВЕ-2022-28733 – Преливање целог броја у функцији груб_нет_рецв_ип4_пацкетс() омогућава да се на параметар рсм->тотал_лен утиче слањем посебно направљеног ИП пакета. Проблем је означен као најопаснији од представљених рањивости (ЦВСС 8.1). Ако се успешно искористи, рањивост омогућава да се подаци уписују изван границе бафера додељивањем намерно мање величине меморије.
  • ЦВЕ-2022-28734 – Преливање бафера од једног бајта приликом обраде огољених ХТТП заглавља. Проблем може да изазове оштећење ГРУБ2 метаподатака (уписивање нул-бајта одмах након завршетка бафера) приликом рашчлањивања посебно креираних ХТТП захтева.
  • ЦВЕ-2022-28735 Проблем у верификатору схим_лоцк дозвољава учитавање датотеке без језгра. Рањивост се може користити за учитавање непотписаних модула кернела или непровереног кода у УЕФИ режиму безбедног покретања.
  • ЦВЕ-2022-28736 Већ ослобођен приступ меморији у функцији груб_цмд_цхаинлоадер() путем поновног покретања наредбе цхаинлоадер, која се користи за покретање оперативних система које ГРУБ2 не подржава. Експлоатација може довести до извршења кода нападача ако је нападач у стању да одреди додељивање меморије у ГРУБ2
  • ЦВЕ-2022-28737 – Преливање бафера у подлошком слоју се јавља у функцији хандле_имаге() приликом учитавања и извршавања направљених ЕФИ слика.

Извор: опеннет.ру

Додај коментар