Objavljen je izdanak projekta CoreBoot 4.17, unutar kojeg se razvija slobodna alternativa proprietarnim firmware-ima i BIOS-u. Kod projekta se distribuira pod GPLv2 licencom. U stvaranju nove verzije sudjelovalo je 150 razvijača koji su pripremili više od 1300 izmjena.
Glavne spremembe:
- Ispravljena je ranjivost (CVE-2022-29264) koja se pojavljuje u izdanjima CoreBoot od 4.13 do 4.16, a koja omogućuje izvršavanje koda na razini SMM (System Management Mode) na sustavima s AP (Application Processor), prioritetnijem (Ring -2) od hipervizorskog moda i nultog zaštitnog prstena, s neograničenim pristupom cijeloj memoriji. Problem je uzrokovan neispravnim pozivanjem SMI obradnika u modulu smm_module_loader.
- Dodana je podrška za 12 matičnih ploča, od kojih se 5 koristi na uređajima s Chrome OS ili na serverima Googleu. Među pločama koje nisu povezane sa Google-om:
- Clevo L140MU / L141MU / L142MU
- Dell Precision T1650
- HP Z220 CMT Workstation
- Star Labs LabTop Mk III (i7-8550u), LabTop Mk IV (i3-10110U, i7-10710U), Lite Mk III (N5000) i Lite Mk IV (N5030).
- Prekinuta je podrška za matične ploče Google Deltan i Deltaur.
- Dodana je nova payload coreDOOM koja omogućava pokretanje igre DOOM iz Coreboot-a. U projektu je korišten kod doomgeneric, portiran na libpayload. Za ispis se koristi linearni frame buffer Coreboot-a, a WAD datoteke s igračkim resursima se učitavaju iz CBFS-a.
- Ažurirane su payload komponente SeaBIOS 1.16.0 i iPXE 2022.1.
- Dodan je režim SeaGRUB (GRUB2 preko SeaBIOS-a) koji omogućava korištenje SeaBIOS callback poziva u GRUB2, na primjer, za pristup opremi koja iz payload GRUB2 nije dostupna.
- Dodana je zaštita od SinkHole napada koja omogućava izvršavanje koda na razini SMM (System Management Mode).
- Implementirana je ugrađena mogućnost generiranja statičkih tablica stranica memorije iz asemberskih datoteka, bez potrebe za pozivanjem vanjskih alata.
- Dozvoljeno je zapisivanje informacija za ispravljanje grešaka u CBMEMC konzolu iz SMI obradnika prilikom korištenja DEBUG_SMI.
- Promijenjen je sustav obradnika inicijalizacije CBMEM, umjesto obradnika povezanih s fazama *_CBMEM_INIT_HOOK predložena su dva obradnika CBMEM_CREATION_HOOK (koristi se u inicijalnoj fazi, koja stvara cbmem) i CBMEM_READY_HOOK (koristi se u svim fazama kada je cbmem već stvoren).
- Dodana je podrška za PSB (Platform Secure Boot), aktivirana procesorom PSP (Platform Security Processor) za verifikaciju cjelovitosti BIOS-a putem digitalnog potpisa.
- Dodana je vlastita implementacija obradnika podataka za ispravljanje grešaka, koji se prenose iz FSP-a (FSP Debug Handler).
- Dodane funkcije specifične za proizvođače TIS (TPM Interface Specification) za čitanje i pisanje direktno iz registara TPM (Trusted Platform Module) — tis_vendor_read() i tis_vendor_write().
- Dodana podrška za hvatanje dereferenciranja nul-pozicija putem debagerskih registara.
- Implementirano prepoznavanje i2c uređaja, koje olakšava rad sa pločama opremljenim touchpad-ima ili ekranima osetljivim na dodir različitih proizvođača.
- Dodana mogućnost čuvanja podataka o vremenu u formatu pogodnom za generisanje grafika FlameGraph, koji jasno prikazuje koliko vremena se troši na različite faze pokretanja.
- U alat cbmem dodata opcija za dodavanje u tabelu cbmem ‘timestamp’ vremena iz korisničkog prostora, što omogućava odražavanje događaja u cbmem-u na fazama koje se izvršavaju nakon CoreBoot.
Dodatno, može se primetiti objava fonda OSFF (Open-Source Firmware Foundation) otvorenog pisma kompaniji Intel, u kojem se predlaže učiniti suportne pakete firmware-a (FSP, Firmware Support Package) modularnijim i započeti objavljivanje dokumentacije vezane za inicijalizaciju Intel SoC-a. Nedostatak FSP koda znatno otežava kreiranje otvorenih firmware-a i ometa napredak projekata Coreboot, U-Boot i LinuxBoot na Intel opremi. Ranije je slična inicijativa bila uspešna i kompanija Intel je otvorila kod traženih firmware-a za PSE (Programmable Services Engine).
Izvor: opennet.ru
