UEFI Secure Boot-dan yan keçməyə imkan verən GRUB2-də düzəltməsi çətin olan zəifliklər

GRUB8 yükləyicisində UEFI Secure Boot mexanizmindən yan keçməyə və təsdiqlənməmiş kodu işə salmağa imkan verən 2 boşluq haqqında məlumat açıqlanıb, məsələn, yükləyici və ya nüvə səviyyəsində işləyən zərərli proqramları həyata keçirə bilərsiniz.

Yada salaq ki, əksər Linux paylamalarında UEFI Secure Boot rejimində təsdiqlənmiş yükləmə üçün Microsoft tərəfindən rəqəmsal imzalanmış kiçik şim qatından istifadə olunur. Bu təbəqə GRUB2-ni öz sertifikatı ilə yoxlayır ki, bu da paylama tərtibatçılarına Microsoft tərəfindən təsdiq edilmiş hər bir nüvəyə və GRUB yeniləməsinə malik olmamağa imkan verir. GRUB2-dəki boşluqlar sizə kodunuzun uğurlu şəkildə yoxlanılması mərhələsindən sonra, lakin əməliyyat sistemini yükləməzdən əvvəl, Secure Boot rejimi aktiv olduqda etibar zəncirinə yapışaraq və sonrakı yükləmə prosesinə tam nəzarəti əldə etməyə imkan verir. başqa bir ƏS-nin yüklənməsi, əməliyyat sistemi komponentləri sisteminin dəyişdirilməsi və Kiliddən qorunmanın yan keçməsi.

Keçən ilki BootHole zəifliyində olduğu kimi, yükləyicinin yenilənməsi problemin qarşısını almaq üçün kifayət deyil, çünki istifadə olunan əməliyyat sistemindən asılı olmayaraq təcavüzkar UEFI Secure Boot-u pozmaq üçün köhnə, rəqəmsal imzalanmış, həssas GRUB2 versiyası ilə yüklənə bilən mediadan istifadə edə bilər. Problem yalnız sertifikatın ləğvi siyahısının (dbx, UEFI Revocation List) yenilənməsi ilə həll edilə bilər, lakin bu halda Linux ilə köhnə quraşdırma mediasından istifadə etmək imkanı itiriləcək.

Yenilənmiş sertifikatın ləğvi siyahısına malik olan proqram təminatı olan sistemlərdə UEFI Secure Boot rejimində yalnız Linux paylamalarının yenilənmiş qurğuları yüklənə bilər. Dağıtımlar quraşdırıcıları, yükləyiciləri, nüvə paketlərini, fwupd proqram təminatını və şim qatını yeniləməli və onlar üçün yeni rəqəmsal imzalar yaratmalıdır. İstifadəçilərdən quraşdırma şəkillərini və digər yüklənə bilən medianı yeniləməli, həmçinin UEFI mikroproqramına sertifikatın ləğvi siyahısını (dbx) yükləmələri tələb olunacaq. dbx-i UEFI-yə yeniləməzdən əvvəl, OS-də yeniləmələrin quraşdırılmasından asılı olmayaraq sistem həssas olaraq qalır. Zəifliklərin vəziyyəti bu səhifələrdə qiymətləndirilə bilər: Ubuntu, SUSE, RHEL, Debian.

Ləğv edilmiş sertifikatların paylanması zamanı yaranan problemləri həll etmək üçün gələcəkdə GRUB2, shim və fwupd üçün dəstək tətbiq edilmiş və növbəti yeniləmələrdən başlayaraq SBAT (UEFI Secure Boot Advanced Targeting) mexanizmindən istifadə edilməsi planlaşdırılır. dbxtool paketinin təmin etdiyi funksionallıq əvəzinə istifadə olunur. SBAT Microsoft ilə birgə işlənib hazırlanmışdır və istehsalçı, məhsul, komponent və versiya haqqında məlumatları özündə əks etdirən UEFI komponentlərinin icra edilə bilən fayllarına yeni metadata əlavə etməyi nəzərdə tutur. Göstərilən metadata rəqəmsal imza ilə təsdiqlənib və əlavə olaraq UEFI Secure Boot üçün icazə verilən və ya qadağan olunmuş komponentlər siyahısına daxil edilə bilər. Beləliklə, SBAT sizə Secure Boot üçün açarları bərpa etmədən və kernel, shim, grub2 və fwupd üçün yeni imzalar yaratmadan ləğvetmə zamanı komponent versiya nömrələri ilə manipulyasiya etməyə imkan verəcək.

Müəyyən edilmiş zəifliklər:

  • CVE-2020-14372 – GRUB2-də acpi əmrindən istifadə edərək yerli sistemdə imtiyazlı istifadəçi /boot/efi qovluğunda SSDT (İkinci Sistemin Təsviri Cədvəli) yerləşdirmək və grub.cfg-də parametrləri dəyişdirməklə dəyişdirilmiş ACPI cədvəllərini yükləyə bilər. Təhlükəsiz Yükləmə rejimi aktiv olsa da, təklif olunan SSDT nüvə tərəfindən icra ediləcək və UEFI Secure Boot bypass yollarını bloklayan LockDown qorunmasını söndürmək üçün istifadə edilə bilər. Nəticədə, təcavüzkar rəqəmsal imzanı yoxlamadan kexec mexanizmi vasitəsilə öz nüvə modulunun yüklənməsinə və ya işləyən kodun yüklənməsinə nail ola bilər.
  • CVE-2020-25632, rmmod əmrinin həyata keçirilməsində istifadədən sonra boş yaddaşa girişdir, hansı ki, onunla əlaqəli asılılıqları nəzərə almadan hər hansı modulu boşaltmağa cəhd edildikdə baş verir. Zəiflik Secure Boot yoxlamasından yan keçməklə kodun icrasına səbəb ola biləcək istismarın yaradılmasını istisna etmir.
  • CVE-2020-25647 USB cihazlarını işə salarkən çağırılan grub_usb_device_initialize() funksiyasında sərhəddən kənar yazı. Ölçüsü USB strukturları üçün ayrılmış buferin ölçüsünə uyğun gəlməyən parametrlər istehsal edən xüsusi hazırlanmış USB cihazını birləşdirməklə problemdən istifadə etmək olar. Təcavüzkar USB cihazlarını manipulyasiya etməklə Secure Boot-da təsdiqlənməmiş kodun icrasına nail ola bilər.
  • CVE-2020-27749 grub_parser_split_cmdline() funksiyasında bufer daşmasıdır və bu, GRUB2 komanda xəttində 1 KB-dən böyük dəyişənlərin təyin edilməsi nəticəsində yarana bilər. Zəiflik kodun icrasına Secure Boot-dan yan keçməyə imkan verir.
  • CVE-2020-27779 – cutmem əmri təcavüzkara Secure Boot-dan keçmək üçün yaddaşdan bir sıra ünvanları silməyə imkan verir.
  • CVE-2021-3418 - shim_lock-a edilən dəyişikliklər keçən ilki CVE-2020-15705 zəifliyindən istifadə etmək üçün əlavə vektor yaratdı. GRUB2-ni dbx-də imzalamaq üçün istifadə olunan sertifikatı quraşdırmaqla GRUB2 imzanı yoxlamadan istənilən nüvənin birbaşa yüklənməsinə icazə verdi.
  • CVE-2021-20225 - Çox sayda seçim ilə əmrləri işlədərkən sərhəddən kənar məlumatların yazılması imkanı.
  • CVE-2021-20233 - Kotirovkalardan istifadə edərkən bufer ölçüsünün səhv hesablanması səbəbindən məlumatların hüdudlardan kənara yazılması imkanı. Ölçüsü hesablayarkən, bir sitatdan qaçmaq üçün üç simvolun tələb olunduğu güman edilirdi, əslində dörd simvol tələb olunurdu.

Mənbə: opennet.ru

Добавить комментарий