Coreboot 4.17-release

De release van het CoreBoot 4.17-project is gepubliceerd, in het kader waarvan een gratis alternatief voor eigen firmware en BIOS wordt ontwikkeld. De projectcode wordt gedistribueerd onder de GPLv2-licentie. 150 ontwikkelaars namen deel aan de creatie van de nieuwe versie, die meer dan 1300 wijzigingen voorbereidden.

Grote veranderingen:

  • Een kwetsbaarheid (CVE-2022-29264) die verscheen in CoreBoot releases 4.13 tot 4.16 is opgelost en maakt het mogelijk code uit te voeren op systemen met AP (Application Processor) op het SMM-niveau (System Management Mode), dat een hogere prioriteit heeft ( Ring -2) dan de hypervisormodus en een nulring van bescherming, en onbeperkte toegang tot al het geheugen. Het probleem wordt veroorzaakt door een onjuiste aanroep van de SMI-handler in de smm_module_loader-module.
  • Ondersteuning toegevoegd voor 12 moederborden, waarvan er 5 worden gebruikt op apparaten met Chrome OS of op Google-servers. Onder de niet-Google-kosten:
    • Clevo L140MU / L141MU / L142MU
    • Dell Precisie T1650
    • HP Z220 CMT-werkstation
    • Star Labs LabTop Mk III (i7-8550u), LabTop Mk IV (i3-10110U, i7-10710U), Lite Mk III (N5000) en Lite Mk IV (N5030).
  • Ondersteuning voor Google Deltan- en Deltaur-moederborden is stopgezet.
  • Een nieuwe payload coreDOOM toegevoegd, waardoor je de DOOM-game vanuit Coreboot kunt starten. Het project maakt gebruik van doomgenerieke code, geporteerd naar libpayload. De lineaire framebuffer van Coreboot wordt gebruikt voor uitvoer en WAD-bestanden met spelbronnen worden geladen vanuit CBFS.
  • Bijgewerkte payloadcomponenten SeaBIOS 1.16.0 en iPXE 2022.1.
  • SeaGRUB-modus toegevoegd (GRUB2 via SeaBIOS), waardoor GRUB2 de callback-oproepen van SeaBIOS kan gebruiken, bijvoorbeeld om toegang te krijgen tot apparatuur die niet toegankelijk is vanuit de GRUB2-payload.
  • Bescherming toegevoegd tegen de SinkHole-aanval, waardoor code kan worden uitgevoerd op SMM-niveau (System Management Mode).
  • Een ingebouwde mogelijkheid geïmplementeerd om statische tabellen met geheugenpagina's te genereren uit assemblagebestanden, zonder de noodzaak om hulpprogramma's van derden aan te roepen.
  • Sta het schrijven van foutopsporingsinformatie naar de CBMEMC-console toe vanaf SMI-handlers bij gebruik van DEBUG_SMI.
  • Het systeem van CBMEM-initialisatiehandlers is gewijzigd; in plaats van de *_CBMEM_INIT_HOOK-handlers die aan de fasen zijn gekoppeld, worden twee handlers voorgesteld: CBMEM_CREATION_HOOK (gebruikt in de beginfase die cbmem creëert) en CBMEM_READY_HOOK (gebruikt in elke fase waarin cbmem al is gemaakt gemaakt).
  • Ondersteuning toegevoegd voor PSB (Platform Secure Boot), geactiveerd door de PSP-processor (Platform Security Processor) om de integriteit van het BIOS te verifiëren met behulp van een digitale handtekening.
  • Onze eigen implementatie toegevoegd van een handler voor het debuggen van gegevens die zijn overgedragen vanuit FSP (FSP Debug Handler).
  • Leverancierspecifieke TIS-functies (TPM Interface Specification) toegevoegd voor het rechtstreeks lezen en schrijven van TPM-registers (Trusted Platform Module) - tis_vendor_read() en tis_vendor_write().
  • Ondersteuning toegevoegd voor het onderscheppen van null-pointer-dereferenties via debug-registers.
  • i2c-apparaatdetectie geïmplementeerd, waardoor het gemakkelijker wordt om te werken met borden die zijn uitgerust met touchpads of touchscreens van verschillende fabrikanten.
  • De mogelijkheid toegevoegd om tijdgegevens op te slaan in een formaat dat geschikt is voor het genereren van FlameGraph-grafieken, die duidelijk laten zien hoeveel tijd er wordt besteed in verschillende stadia van de lancering.
  • Er is een optie toegevoegd aan het cbmem-hulpprogramma om een ​​tijdstempel van de gebruikersruimte toe te voegen aan de cbmem-tabel, wat het mogelijk maakt om gebeurtenissen weer te geven in fasen die worden uitgevoerd na CoreBoot in cbmem.

Daarnaast kunnen we kennis nemen van de publicatie door de OSFF (Open-Source Firmware Foundation) van een open brief aan Intel, waarin wordt voorgesteld om firmware-ondersteuningspakketten (FSP, Firmware Support Package) modulairer te maken en te beginnen met het publiceren van documentatie met betrekking tot het initialiseren van de Intel SoC . Het ontbreken van FSP-code bemoeilijkt het maken van open firmware aanzienlijk en verhindert de voortgang van Coreboot-, U-Boot- en LinuxBoot-projecten op Intel-hardware. Eerder was een soortgelijk initiatief succesvol en opende Intel de code voor de door de gemeenschap gevraagde PSE-blokfirmware (Programmable Services Engine).

Bron: opennet.ru

Voeg een reactie