ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΡΠ΅Π»ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠ° CoreBoot 4.17, Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½Π°Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΡΠΌ ΠΏΡΠΎΡΠΈΠ²ΠΊΠ°ΠΌ ΠΈ BIOS. ΠΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ GPLv2. Π ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΈΠ½ΡΠ»ΠΎ ΡΡΠ°ΡΡΠΈΠ΅ 150 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ 1300 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ:
- Π£ΡΡΡΠ°Π½Π΅Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ (CVE-2022-29264), ΠΏΡΠΎΡΠ²Π»ΡΡΡΠ°ΡΡΡ Π² Π²ΡΠΏΡΡΠΊΠ°Ρ CoreBoot Ρ 4.13 ΠΏΠΎ 4.16 ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Ρ AP (Application Processor) Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠ΄ Π½Π° ΡΡΠΎΠ²Π½Π΅ SMM (System Management Mode), Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΠΎΠΌ (Ring -2), ΡΠ΅ΠΌ ΡΠ΅ΠΆΠΈΠΌ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° ΠΈ Π½ΡΠ»Π΅Π²ΠΎΠ΅ ΠΊΠΎΠ»ΡΡΠΎ Π·Π°ΡΠΈΡΡ, ΠΈ ΠΈΠΌΠ΅ΡΡΠΈΠΌ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊΠΎ Π²ΡΠ΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π²ΡΠ·Π²Π°Π½Π° Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° SMI Π² ΠΌΠΎΠ΄ΡΠ»Π΅ smm_module_loader.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° 12 ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΈΡ
ΠΏΠ»Π°Ρ, 5 ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ
Ρ Chrome OS ΠΈΠ»ΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ
Google. Π‘ΡΠ΅Π΄ΠΈ Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Ρ GooglΠ΅ ΠΏΠ»Π°Ρ:
- 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) ΠΈ Lite Mk IV (N5030).
- ΠΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΈΡ ΠΏΠ»Π°Ρ Google Deltan ΠΈ Deltaur.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ payload coreDOOM, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΈΠ³ΡΡ DOOM ΠΈΠ· Coreboot. Π ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ ΠΊΠΎΠ΄ doomgeneric, ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° libpayload. ΠΠ»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ ΡΡΠ΅ΠΉΠΌΠ±ΡΡΠ΅Ρ Coreboot, Π° WAD-ΡΠ°ΠΉΠ»Ρ Ρ ΠΈΠ³ΡΠΎΠ²ΡΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ ΠΈΠ· CBFS.
- ΠΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ payload-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ SeaBIOS 1.16.0 ΠΈ iPXE 2022.1.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ SeaGRUB (GRUB2 ΠΏΠΎΠ²Π΅ΡΡ SeaBIOS), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π² GRUB2 ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ SeaBIOS callback-Π²ΡΠ·ΠΎΠ²Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΈΠ· payload GRUB2 Π½Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ°.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ Π°ΡΠ°ΠΊΠΈ SinkHole, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΉ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠ΄ Π½Π° ΡΡΠΎΠ²Π½Π΅ SMM (System Management Mode).
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ°Π±Π»ΠΈΡ ΡΡΡΠ°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ· Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΡΡΠΈΠ»ΠΈΡ.
- Π Π°Π·ΡΠ΅ΡΠ΅Π½Π° Π·Π°ΠΏΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ CBMEMC ΠΈΠ· ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² SMI ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ DEBUG_SMI.
- ΠΠ·ΠΌΠ΅Π½Π΅Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ CBMEM, Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΊ ΡΡΠ°Π΄ΠΈΡΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² *_CBMEM_INIT_HOOK ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π΄Π²Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° CBMEM_CREATION_HOOK (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π° Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ°Π΄ΠΈΠΈ, ΡΠΎΠ·Π΄Π°ΡΡΠ΅ΠΉ cbmem) ΠΈ CBMEM_READY_HOOK (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π° Π»ΡΠ±ΡΡ ΡΡΠ°Π΄ΠΈΡΡ , Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΡΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π½ cbmem).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° PSB (Platform Secure Boot), Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠΌ PSP (Platform Security Processor) Π΄Π»Ρ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ BIOS ΠΏΠΎ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ , ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ ΠΈΠ· FSP (FSP Debug Handler).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ TIS-ΡΡΠ½ΠΊΡΠΈΠΈ (TPM Interface Specification) Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π½Π°ΠΏΡΡΠΌΡΡ ΠΈΠ· ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² TPM (Trusted Platform Module) — tis_vendor_read() ΠΈ tis_vendor_write().
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠ° ΡΠ°Π·ΡΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΉ Π½ΡΠ»Π΅Π²ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΡΠ΅ΡΠ΅Π· ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΡ.
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ² i2c, ΡΠΏΡΠΎΡΠ°ΡΡΠ΅Π΅ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠ»Π°ΡΠ°ΠΌΠΈ, ΠΎΡΠ½Π°ΡΡΠ½Π½ΡΠΌΠΈ ΡΠ°ΡΠΏΠ°Π΄Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΠ΅Π½ΡΠΎΡΠ½ΡΠΌΠΈ ΡΠΊΡΠ°Π½Π°ΠΌΠΈ ΡΠ°Π·Π½ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅, ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅ΠΌ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Π³ΡΠ°ΡΠΈΠΊΠΎΠ² FlameGraph, Π½Π°Π³Π»ΡΠ΄Π½ΠΎ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠΈΡ ΠΊΠ°ΠΊΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΡΠ°ΡΠΈΡΡΡ Π½Π° ΡΠ°Π·Π½ΡΡ ΡΡΠ°Π΄ΠΈΡΡ Π·Π°ΠΏΡΡΠΊΠ°.
- Π ΡΡΠΈΠ»ΠΈΡΡ cbmem Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π² ΡΠ°Π±Π»ΠΈΡΡ cbmem «timestamp» Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈΠ· ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΡΠΎ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΡΠ°ΠΆΠ°ΡΡ Π² cbmem ΡΠΎΠ±ΡΡΠΈΡ Π½Π° ΡΡΠ°Π΄ΠΈΡΡ , Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΠΏΠΎΡΠ»Π΅ CoreBoot.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΡΠΎΠ½Π΄ΠΎΠΌ OSFF (Open-Source Firmware Foundation) ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΏΠΈΡΡΠΌΠ° ΠΊ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Intel, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠΌΠΈ Π½Π°Π±ΠΎΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΊ (FSP, Firmware Support Package) ΠΈ Π½Π°ΡΠ°ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ SoC Intel. ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΊΠΎΠ΄Π° FSP ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π·Π°ΡΡΡΠ΄Π½ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡΠΊΡΡΡΡΡ
ΠΏΡΠΎΡΠΈΠ²ΠΎΠΊ ΠΈ ΠΌΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Coreboot, U-Boot ΠΈ LinuxBoot Π½Π° ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ Intel. Π Π°Π½Π΅Π΅ ΠΏΠΎΡ
ΠΎΠΆΠ°Ρ ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΈΠ²Π° ΡΠ²Π΅Π½ΡΠ°Π»Π°ΡΡ ΡΡΠΏΠ΅Ρ
ΠΎΠΌ ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Intel ΠΎΡΠΊΡΡΠ»Π° ΠΊΠΎΠ΄ Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΡΡ
ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΊ Π±Π»ΠΎΠΊΠ° PSE (Programmable Services Engine).
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru