Objavljeno je izdanje projekta CoreBoot 4.17, u okviru kojeg se razvija besplatna alternativa vlasničkom firmware-u i BIOS-u. Kôd projekta distribuira se pod licencom GPLv2. U izradi nove verzije sudjelovalo je 150 programera koji su pripremili više od 1300 izmjena.
Velike promjene:
- Ranjivost (CVE-2022-29264) koja se pojavila u CoreBoot izdanjima 4.13 do 4.16 je popravljena i omogućuje izvršavanje koda na sustavima s AP (Application Processor) na SMM (System Management Mode) razini, koja ima viši prioritet ( Prsten -2) nego hipervizorski način rada i nulti prsten zaštite te imaju neograničeni pristup svoj memoriji. Problem je uzrokovan neispravnim pozivom SMI rukovatelja u modulu smm_module_loader.
- Dodana podrška za 12 matičnih ploča, od kojih se 5 koristi na uređajima s Chrome OS-om ili na Googleovim poslužiteljima. Među naknadama koje nisu Googleove:
- Clevo L140MU / L141MU / L142MU
- Dell Precision T1650
- Radna stanica HP Z220 CMT
- Star Labs LabTop Mk III (i7-8550u), LabTop Mk IV (i3-10110U, i7-10710U), Lite Mk III (N5000) i Lite Mk IV (N5030).
- Podrška za Google Deltan i Deltaur matične ploče je prekinuta.
- Dodano je novo opterećenje coreDOOM, što vam omogućuje pokretanje igre DOOM iz Coreboota. Projekt koristi doomgeneric kod, prenesen na libpayload. Za izlaz se koristi Coreboot linearni okvirni međuspremnik, a WAD datoteke s resursima igre učitavaju se iz CBFS-a.
- Ažurirane komponente nosivosti SeaBIOS 1.16.0 i iPXE 2022.1.
- Dodan SeaGRUB način (GRUB2 preko SeaBIOS-a), koji omogućuje GRUB2 korištenje povratnih poziva koje pruža SeaBIOS, na primjer, za pristup opremi kojoj nije moguće pristupiti iz GRUB2 korisnog opterećenja.
- Dodana zaštita od SinkHole napada, koja omogućuje izvršavanje koda na razini SMM (System Management Mode).
- Implementirana je ugrađena mogućnost generiranja statičkih tablica memorijskih stranica iz montažnih datoteka, bez potrebe za pozivanjem uslužnih programa trećih strana.
- Dopusti pisanje informacija o otklanjanju pogrešaka na CBMEMC konzolu iz SMI rukovatelja kada se koristi DEBUG_SMI.
- Sustav CBMEM inicijalizacijskih rukovatelja je promijenjen; umjesto *_CBMEM_INIT_HOOK rukovatelja vezanih uz faze, predlažu se dva rukovatelja: CBMEM_CREATION_HOOK (koristi se u početnoj fazi koja stvara cbmem) i CBMEM_READY_HOOK (koristi se u svim fazama u kojima je cbmem već bio stvoreno).
- Dodana podrška za PSB (Platform Secure Boot), koju aktivira PSP (Platform Security Processor) procesor za provjeru integriteta BIOS-a pomoću digitalnog potpisa.
- Dodana je vlastita implementacija rukovatelja za otklanjanje pogrešaka podataka prenesenih s FSP-a (FSP Debug Handler).
- Dodane TIS (TPM Interface Specification) funkcije specifične za dobavljača za čitanje i pisanje izravno iz registara TPM (Trusted Platform Module) - tis_vendor_read() i tis_vendor_write().
- Dodana podrška za presretanje dereferenciranja nultog pokazivača putem registara za ispravljanje pogrešaka.
- Implementirana i2c detekcija uređaja, što olakšava rad s pločama opremljenim touchpadima ili zaslonima osjetljivim na dodir različitih proizvođača.
- Dodana je mogućnost spremanja podataka o vremenu u formatu prikladnom za generiranje FlameGraph grafikona, koji jasno pokazuju koliko je vremena potrošeno u različitim fazama lansiranja.
- Cbmem uslužnom programu dodana je opcija za dodavanje "vremenske oznake" vremena iz korisničkog prostora u cbmem tablicu, što omogućuje odražavanje događaja u fazama izvedenim nakon CoreBoot-a u cbmem-u.
Dodatno, možemo primijetiti objavu OSFF-a (Open-Source Firmware Foundation) otvorenog pisma Intelu, u kojem se predlaže da se paketi za podršku firmvera (FSP, Firmware Support Package) učine više modularnim i počne objavljivati dokumentaciju koja se odnosi na inicijalizaciju Intel SoC-a. . Nedostatak FSP koda značajno komplicira stvaranje otvorenog firmvera i sprječava napredovanje Coreboot, U-Boot i LinuxBoot projekata na Intel hardveru. Prethodno je slična inicijativa bila uspješna i Intel je otvorio kod za PSE (Programmable Services Engine) blok firmver koji je zahtijevala zajednica.
Izvor: opennet.ru