SMM деңгейінде кодты орындауға мүмкіндік беретін InsydeH2O негізіне негізделген UEFI микробағдарламасының осалдықтары

Көптеген өндірушілер өз жабдықтары үшін UEFI микробағдарламасын жасау үшін пайдаланатын InsydeH2O жүйесінде (UEFI BIOS-тың ең көп таралған нұсқасы) кодты SMM (жүйені басқару режимі) деңгейінде орындауға мүмкіндік беретін 23 осалдық анықталды, ол гипервизор режиміне және қорғаныстың нөлдік сақинасына қарағанда жоғары басымдылық (Ring -2) және барлық жадқа шексіз қол жеткізу. Мәселе Fujitsu, Siemens, Dell, HP, HPE, Lenovo, Microsoft, Intel және Bull Atos сияқты өндірушілер пайдаланатын UEFI микробағдарламасына әсер етеді.

Осалдықтарды пайдалану әкімші құқықтарымен жергілікті қолжетімділікті талап етеді, бұл мәселелерді жүйедегі басқа осалдықтарды пайдаланғаннан кейін немесе әлеуметтік инженерия әдістерін пайдаланғаннан кейін пайдаланылатын екінші деңгейлі осалдықтар ретінде танымал етеді. SMM деңгейіндегі қол жеткізу операциялық жүйемен бақыланбайтын деңгейде кодты орындауға мүмкіндік береді, оны микробағдарламаны өзгерту және жасырын зиянды кодты немесе SPI Flash жүйесінде операциялық жүйе анықтамайтын руткиттер қалдыру үшін пайдалануға болады, сондай-ақ жүктеу сатысында тексеруді өшіру (UEFI Secure Boot , Intel BootGuard) және виртуалды орталардың тұтастығын тексеру механизмдерін айналып өту үшін гипервизорларға шабуыл жасау.

SMM деңгейінде кодты орындауға мүмкіндік беретін InsydeH2O негізіне негізделген UEFI микробағдарламасының осалдықтары

Осалдықтарды пайдалану операциялық жүйеден тексерілмеген SMI (System Management Interrupt) өңдеушілерін пайдалана отырып, сондай-ақ операциялық жүйені жүктеудің бастапқы кезеңдерінде немесе ұйқы режимінен қайтару кезінде орындауға дейінгі сатысында жүзеге асырылуы мүмкін. Барлық осалдықтар жад ақауларынан туындайды және үш санатқа бөлінеді:

  • SMM Callout – SWSMI үзу өңдеушілерінің орындалуын SMRAM сыртындағы кодқа қайта бағыттау арқылы SMM құқықтарымен кодыңызды орындау;
  • Шабуылдаушыға өз деректерін SMRAM, код SMM құқықтарымен орындалатын арнайы оқшауланған жад аймағына жазуға мүмкіндік беретін жадтың бұзылуы.
  • DXE (Driver Execution Environment) деңгейінде іске қосылған кодтағы жадтың бұзылуы.

Шабуылды ұйымдастыру принциптерін көрсету үшін қорғаудың үшінші немесе нөлдік сақинасынан жасалған шабуыл арқылы DXE Runtime UEFI жүйесіне қол жеткізуге және кодты орындауға мүмкіндік беретін эксплойт үлгісі жарияланды. Эксплойт UEFI DXE драйверіндегі стек толып кетуін (CVE-2021-42059) басқарады. Шабуыл кезінде шабуылдаушы өз кодын DXE драйверіне орналастыра алады, ол операциялық жүйе қайта іске қосылғаннан кейін белсенді болып қалады немесе SPI Flash бағдарламасының NVRAM аймағына өзгерістер енгізеді. Орындау кезінде шабуылдаушы коды артықшылықты жад аймақтарына өзгерістер енгізе алады, EFI Runtime қызметтерін өзгерте алады және жүктеу процесіне әсер етеді.

Ақпарат көзі: opennet.ru

пікір қалдыру