UEFI Secure Boot бағдарламасын айналып өтуге мүмкіндік беретін жөндеу қиын GRUB2 осалдықтары

UEFI Secure Boot механизмін айналып өтіп, тексерілмеген кодты іске қосуға, мысалы, жүктеуші немесе ядро ​​деңгейінде жұмыс істейтін зиянды бағдарламаны енгізуге себепші болатын GRUB8 жүктегішіндегі 2 осалдық туралы ақпарат ашылды.

UEFI Secure Boot режимінде тексерілген жүктеуге арналған көптеген Linux дистрибутивтерінде Microsoft цифрлық қолтаңбасымен куәландырылған кішігірім панель қабаты пайдаланылатынын еске түсіріңіз. Бұл деңгей GRUB2-ді өз сертификатымен тексереді, бұл тарату әзірлеушілеріне әрбір ядроны және GRUB жаңартуын Microsoft корпорациясымен растамауға мүмкіндік береді. GRUB2-дегі осалдықтар сізге кодтың орындалуына шитті сәтті тексергеннен кейін қол жеткізуге мүмкіндік береді, бірақ операциялық жүйені жүктемес бұрын, сенімді жүктеу режимі белсенді түрде сенімділік тізбегіне еніп, одан әрі жүктеу процесін толық бақылауға алу, басқа ОЖ жүктеуді, операциялық жүйе құрамдастарының жүйесін өзгертуді және бұғаттаудан қорғауды айналып өтуді қоса.

Өткен жылғы BootHole осалдығы жағдайындағыдай, жүктегішті жаңарту мәселені блоктау үшін жеткіліксіз, өйткені шабуылдаушы қолданылатын операциялық жүйеге қарамастан, бұзылу үшін сандық қолтаңбамен куәландырылған GRUB2 ескі осал нұсқасы бар жүктелетін медианы пайдалана алады. UEFI Secure Boot. Мәселе қайтарып алынған сертификаттар тізімін (dbx, UEFI Revocation List) жаңарту арқылы ғана шешіледі, бірақ бұл жағдайда ескі Linux орнату медиасын пайдалану мүмкіндігі жоғалады.

Қайтарылған сертификаттардың жаңартылған тізімі бар микробағдарламасы бар жүйелерде тек Linux дистрибутивтерінің жаңартылған жинақтары UEFI Secure Boot режимінде жүктеле алады. Таратулар орнатушыларды, жүктеушілерді, ядро ​​пакеттерін, fwupd-микробағдарламаны және олар үшін жаңа сандық қолтаңбаларды генерациялайтын shim-қабатты жаңартуы қажет. Пайдаланушылар орнату кескіндерін және басқа жүктелетін медианы жаңартуы, сондай-ақ UEFI микробағдарламасына сертификатты қайтарып алу тізімін (dbx) жүктеп салуы керек. dbx-ті UEFI-ге жаңартпастан бұрын, ОЖ-да жаңартулардың орнатылуына қарамастан жүйе осал болып қалады. Түзетулердің күйін мына беттерден тексеруге болады: Ubuntu, SUSE, RHEL, Debian.

Кері қайтарылған сертификаттарды тарату кезінде туындайтын мәселелерді шешу үшін болашақта GRUB2, shim және fwupd үшін қолдау көрсетілетін SBAT (UEFI Secure Boot Advanced Targeting) механизмін пайдалану жоспарлануда және келесі жаңартулардан бастап келесі жаңартулардың орнына қолданылатын болады. dbxtool бумасы қамтамасыз ететін функционалдылық. SBAT Microsoft корпорациясымен бірлесіп әзірленген және өндіруші, өнім, құрамдас және нұсқа туралы ақпаратты қамтитын UEFI құрамдас орындалатын файлдарына жаңа метадеректер қосуды қамтиды. Көрсетілген метадеректерге сандық қол қойылған және UEFI Secure Boot үшін рұқсат етілген немесе тыйым салынған құрамдастардың тізімдеріне міндетті түрде қосылуы мүмкін. Осылайша, SBAT күшін жою кезінде Secure Boot үшін кілттерді қалпына келтіруді қажет етпей және ядро, shim, grub2 және fwupd үшін жаңа қолтаңбаларды жасамай-ақ құрамдас нұсқа нөмірлерін өңдеуге мүмкіндік береді.

Анықталған осалдықтар:

  • CVE-2020-14372 - GRUB2 жүйесіндегі acpi пәрменін пайдалану арқылы жергілікті жүйенің түбірлік пайдаланушысы өзгертілген ACPI кестелерін /boot/efi каталогында SSDT (екінші жүйе сипаттамасы кестесі) орналастыру және grub.cfg ішіндегі параметрлерді өзгерту арқылы жүктей алады. Қауіпсіз жүктеу режимі белсенді болса да, ұсынылған SSDT ядро ​​арқылы орындалады және оны UEFI Secure Boot айналып өту жолдарын блоктайтын LockDown қорғауын өшіру үшін пайдалануға болады. Нәтижесінде, шабуылдаушы цифрлық қолтаңбаны тексермей-ақ, ядро ​​модулін жүктеуге немесе kexec механизмі арқылы іске қосылған кодқа қол жеткізе алады.
  • CVE-2020-25632 - Кез келген модульді онымен байланысты тәуелділіктерді есепке алмай босату әрекеті кезінде көрінетін rmmod пәрменін жүзеге асыру кезінде бұрыннан босатылған жад аймағына кіру (бос орыннан кейін пайдалану). Осалдық Secure Boot тексеруін айналып өтіп, кодты орындауға әкелуі мүмкін эксплуатацияны жасауға кедергі келтірмейді.
  • CVE-2020-25647 - USB құрылғылары инициализацияланған кезде шақырылатын grub_usb_device_initialize() функциясындағы буферлік шекаралардан шығару. Мәселені USB құрылымдары үшін бөлінген буфер өлшеміне сәйкес келмейтін параметрлерді шығаратын арнайы дайындалған USB құрылғысын қосу арқылы пайдалануға болады. Зиянкес USB құрылғыларын басқару арқылы Secure Boot жүйесінде тексерілмеген кодтың орындалуына қол жеткізе алады.
  • CVE-2020-27749 - GRUB2 пәрмен жолында 1 КБ-тан үлкен айнымалы мәндерді көрсету арқылы туындауы мүмкін grub_parser_split_cmdline() функциясындағы буфердің толып кетуі. Осалдық кодты орындауға Secure Boot бағдарламасын айналып өтуге мүмкіндік береді.
  • CVE-2020-27779 - cutmem пәрмені шабуылдаушыға қауіпсіз жүктеуді айналып өту үшін жадтан мекенжайлар ауқымын жоюға мүмкіндік береді.
  • CVE-2021-3418 - shim_lock өзгертулері өткен жылғы CVE-2020-15705 осалдығын пайдалану үшін қосымша векторды жасады. GRUB2-ге dbx-ге қол қою үшін пайдаланылатын сертификатты орнату арқылы GRUB2 қолтаңбаны тексерместен кез келген ядроны тікелей жүктеуге мүмкіндік берді.
  • CVE-2021-20225 - Параметрлердің өте көп саны бар пәрмендерді іске қосу кезінде деректерді буферден шығару мүмкіндігі.
  • CVE-2021-20233 - Тырнақшаларды пайдалану кезінде буфер өлшемін қате есептеуге байланысты деректерді буфер шекарасынан тыс жазу мүмкіндігі. Өлшемді есептеу кезінде бір тырнақшадан құтылу үшін үш таңба қажет деп есептелді, ал шын мәнінде төрт таңба қажет.

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

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