Konpontzen zailak diren ahultasunak GRUB2n, UEFI Secure Boot saihesteko aukera ematen dutenak

GRUB8 abiarazlearen 2 ahultasunei buruzko informazioa zabaldu da, UEFI Secure Boot mekanismoa saihestu eta egiaztatu gabeko kodea exekutatzeko aukera ematen dutenak, adibidez, abioko kargatzailean edo kernel mailan exekutatzen den malwarea ezartzea.

Gogora dezagun Linux banaketa gehienetan, UEFI Secure Boot moduan egiaztatutako abiarazterako, shim geruza txiki bat erabiltzen dela, Microsoft-ek digitalki sinatuta. Geruza honek GRUB2 bere ziurtagiriarekin egiaztatzen du, eta horrek aukera ematen die banaketa-garatzaileei Microsoft-ek nukleo eta GRUB eguneratze guztiak ez izatea. GRUB2-ko ahultasunek aukera ematen dute zure kodea exekutatzeko shim egiaztapen arrakastatsuaren ondoren, baina sistema eragilea kargatu aurretik, konfiantza-katean sartu zaitez Secure Boot modua aktibatuta dagoenean eta abiarazte prozesuaren kontrol osoa eskuratzea, besteak beste. beste OS bat kargatzea, sistema eragilearen osagaien sistema aldatzea eta blokeoaren babesa saihestea.

Iazko BootHole ahultasunarekin gertatzen den bezala, abio-kargatzailea eguneratzea ez da nahikoa arazoa blokeatzeko, erasotzaileak, erabilitako sistema eragilea edozein dela ere, GRUB2-ren bertsio zahar, digitalki sinatuta eta zaurgarri batekin abiarazteko euskarri bat erabil dezake eta UEFI Secure Boot arriskuan jartzeko. Arazoa ziurtagiriak baliogabetzeko zerrenda eguneratuz soilik konpondu daiteke (dbx, UEFI Errebokatze Zerrenda), baina kasu honetan Linux-ekin instalazio-euskarri zaharrak erabiltzeko gaitasuna galduko da.

Ziurtagiriak baliogabetzeko zerrenda eguneratua duten firmwarea duten sistemetan, UEFI Secure Boot moduan soilik kargatu daitezke Linux banaketaren bertsio eguneratuak. Banaketak instalatzaileak, abiarazleak, kernel paketeak, fwupd firmwarea eta shim geruza eguneratu beharko ditu, haientzako sinadura digital berriak sortuz. Erabiltzaileek instalazio-irudiak eta abiarazteko beste euskarri batzuk eguneratu beharko dituzte, baita ziurtagiriak baliogabetzeko zerrenda (dbx) kargatu UEFI firmwarean. Dbx UEFIra eguneratu aurretik, sistemak zaurgarria izaten jarraitzen du sistema eragilean eguneratzeak instalatu arren. Ahultasunen egoera orri hauetan ebaluatu daiteke: Ubuntu, SUSE, RHEL, Debian.

Ezeztatutako ziurtagiriak banatzean sortzen diren arazoak konpontzeko, aurrerantzean SBAT (UEFI Secure Boot Advanced Targeting) mekanismoa erabiltzea aurreikusten da, GRUB2, shim eta fwupd-entzako euskarria ezarrita dagoena, eta hurrengo eguneratzeetatik hasita egongo da. dbxtool paketeak eskaintzen duen funtzionalitatearen ordez erabiltzen da. SBAT Microsoft-ekin batera garatu zen eta UEFI osagaien fitxategi exekutagarrietan metadatu berriak gehitzea dakar, fabrikatzaile, produktu, osagai eta bertsioari buruzko informazioa barne. Zehaztutako metadatuak sinadura digital batekin ziurtatzen dira eta, gainera, UEFI Secure Booterako baimendutako edo debekatutako osagaien zerrendetan sar daitezke. Horrela, SBATek errebokatzerakoan osagaien bertsio-zenbakiak manipulatzeko aukera emango dizu Abio segururako gakoak birsortu beharrik gabe eta kernel, shim, grub2 eta fwupd-en sinadura berririk sortu gabe.

Identifikatutako ahultasunak:

  • CVE-2020-14372 - GRUB2-ko acpi komandoa erabiliz, tokiko sistemako erabiltzaile pribilegiatuak ACPI taulak karga ditzake aldatutako ACPI taulak /boot/efi direktorioan SSDT (Bigarren Sistemaren Deskribapen Taula) jarriz eta grub.cfg-en ezarpenak aldatuz. Secure Boot modua aktibo dagoen arren, proposatutako SSDT nukleoak exekutatuko du eta UEFI Secure Boot saihesteko bideak blokeatzen dituen LockDown babesa desgaitzeko erabil daiteke. Ondorioz, erasotzaileak kexec mekanismoaren bidez bere nukleoaren modulua kargatzea edo kodea exekutatzea lor dezake, sinadura digitala egiaztatu gabe.
  • CVE-2020-25632 rmmod komandoaren inplementazioan erabiltzeko doako memoriarako sarbidea da, edozein modulu deskargatzen saiatzen denean harekin lotutako mendekotasunak kontuan hartu gabe. Ahultasunak ez du baztertzen abio seguruaren egiaztapena saihestuz kodea exekutatzeko balio duen ustiapen bat sortzea.
  • CVE-2020-25647 USB gailuak hastean deitzen den grub_usb_device_initialize() funtzioan mugaz kanpoko idazketa. Arazoa ustiatu daiteke USB egituretarako esleitutako buffer-aren tamainarekin bat ez datozen parametroak sortzen dituen bereziki prestatutako USB gailu bat konektatuz. Erasotzaile batek Secure Boot-en egiaztatzen ez den kodearen exekuzioa lor dezake USB gailuak manipulatuz.
  • CVE-2020-27749 grub_parser_split_cmdline() funtzioko buffer gainezkatzea da, GRUB2 komando-lerroan 1 KB baino handiagoak diren aldagaiak zehaztuta sor daitekeena. Ahultasunak kodearen exekuzioak abiarazte segurua saihesteko aukera ematen du.
  • CVE-2020-27779 - cutmem komandoak erasotzaile bati helbide sorta bat memoriatik kentzeko aukera ematen dio Secure Boot saihesteko.
  • CVE-2021-3418 - shim_lock-en aldaketek bektore gehigarri bat sortu zuten iazko CVE-2020-15705 ahultasuna ustiatzeko. GRUB2 sinatzeko erabilitako ziurtagiria dbx-en instalatuz, GRUB2-k edozein nukleo zuzenean kargatzea ahalbidetu zuen sinadura egiaztatu gabe.
  • CVE-2021-20225 - Mugetatik kanpo datuak idazteko aukera aukera askoko komandoak exekutatzen direnean.
  • CVE-2021-20233 - Datuak mugaz kanpo idazteko aukera, komatxoak erabiltzean buffer-tamainaren kalkulu okerra dela eta. Tamaina kalkulatzerakoan, hiru karaktere behar zirela suposatu zen komatxo bakar batetik ihes egiteko, lau behar zirenean.

Iturria: opennet.ru

Gehitu iruzkin berria