CoreBoot 4.17 projekti väljaanne, mis arendab avatud alternativit patentidega kaitstud püsivara ja BIOS-ile. Projekti kood jagatakse GPLv2 litsentsi alusel. Uue versiooni loomises osales 150 arendajat, kes valmisid üle 1300 muudatuse.
Peamised muudatused:
- Omandatud haavatavus (CVE-2022-29264), mis esines CoreBoot versioonides 4.13 kuni 4.16 ning võimaldab AP (rakendusprotsessoriga) süsteemides käivitada koodi SMM (süsteemihalduse režiimis), mis on kõrgema prioriteediga (Ringi -2), kui hüperviisori ja null-kaitse režiimid, mis omavad piiramatu juurdepääsu kogu mälule. Probleem tuleneb SMI käitleja vale kutsumisest modulaarse smm_module_loader tõttu.
- Lisatud tugi 12 emaplaadile, millest 5 kasutatakse Chrome OS seadmetes või serverites Google. Mitte Google'iga seotud plaatide seas:
- Clevo L140MU / L141MU / L142MU
- Dell Precision T1650
- HP Z220 CMT jaamasüsteem
- Star Labs LabTop Mk III (i7-8550u), LabTop Mk IV (i3-10110U, i7-10710U), Lite Mk III (N5000) ja Lite Mk IV (N5030).
- Toetuse lõpetamine Google Deltani ja Deltauri emaplaatide jaoks.
- Lisatud uus payload coreDOOM, mis võimaldab mängida DOOMi Corebootist. Projektis on kasutatud koodi doomgeneric, mis on portitakse libpayloadile. Väljundiks kasutatakse Corebooti lineaarset raamifaili ja mänguressursid WAD-failides laaditakse CBFS-ist.
- Uuendatud payload-komponendid SeaBIOS 1.16.0 ja iPXE 2022.1.
- Lisatud SeaGRUB režiim (GRUB2 SeaBIOS peal), mis võimaldab GRUB2-s kasutada SeaBIOS'i callback-kutseid näiteks riistvarale, millele GRUB2 payloadist juurdepääsu pole.
- Lisatud kaitse SinkHole rünnaku vastu, võimaldades koodi käivitamist SMM (System Management Mode) tasemel.
- Realiseeritud sisseehitatud võimalus genereerida staatilisi mälu lehti assembleri failidest, ilma et oleks vaja kolmandate osapoolte utiliite kutsuda.
- Lubatud salvestada tõrkeandmed CBMEMC konsoolisse SMI töötlejate kaudu, kasutades DEBUG_SMI-d.
- Muudetud CBMEMi initsialiseerimise töötlejate süsteemi, asendades etappide järgi seotud töötlejad *_CBMEM_INIT_HOOK kahe töötlejaga: CBMEM_CREATION_HOOK (kasutatakse algses etapis, mis loob cbmem) ja CBMEM_READY_HOOK (kasutatakse mis tahes etappidel, mille jooksul cbmem on juba loodud).
- Lisatud tugi PSB (Platform Secure Boot), mille aktiveerib PSP (Platform Security Processor) BIOSi terviklikkuse kinnitamiseks digitaalse allkiri abil.
- Lisatud oma teostus veateabe töötlejale, mis edastab andmeid FSP-st (FSP Debug Handler).
- Lisatud tootjaspetsiifilised TIS-funktsioonid (TPM Interface Specification) TPM-i (Trusted Platform Module) registritest otse lugemiseks ja kirjutamiseks — tis_vendor_read() ja tis_vendor_write().
- Lisatud tugi nullviidete lahendamise interceptimiseks läbi veatõrje registrite.
- Rakendatud i2c-seadmeste tuvastamine, mis lihtsustab töötamist plaatidega, millel on erinevate tootjate puuteplaadid või puutetundlikud ekraanid.
- Lisatud võime salvestada ajateavet vormingus, mis sobib FlameGraphi graafikute genereerimiseks, näidates selgelt, kui palju aega kulutatakse erinevates käivitusetappides.
- cbmem utiliiti on lisatud valik, mis võimaldab tabelisse cbmem lisada kasutaja ruumis oleva «timestamp» ajainfot, mis võimaldab kajastada cbmem-is sündmusi etappides, mis toimuvad pärast CoreBoot.
Lisaks võib märkida, et OSFF (Open-Source Firmware Foundation) fond avaldas avatud kirja ettevõttele Intel, kus soovitati muuta tarkvarapaketid (FSP, Firmware Support Package) modulaarsemateks ning hakata avaldama Inteli SoC-i initsialiseerimisega seotud dokumentatsiooni. FSP koodi puudumine muudab avatud tarkvarade loomise oluliselt keerulisemaks ja takistab Corebooti, U-Booti ja LinuxBooti projektide edendamist Inteli seadmetes. Varem sarnane algatus õnnestus, kui Intel avas palutud kogukondade tarkvarakoodi PSE (Programmable Services Engine) blokile.
Allikas: opennet.ru
