Π UEFI-ΠΏΡΠΎΡΠΈΠ²ΠΊΠ°Ρ Phoenix SecureCore, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΡ Π½ΠΎΡΡΠ±ΡΠΊΠ°Ρ , ΠΠ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°ΠΌΠΈ Intel, Π²ΡΡΠ²Π»Π΅Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ (CVE-2024-0762), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π΄ΠΎΠ±ΠΈΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΈΡ Π°ΡΠ°ΠΊΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² ΠΏΡΠΎΡΠΈΠ²ΠΊΠ΅ Π±ΡΠΊΠ΄ΠΎΡΠ°, ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π³ΠΎ Π½Π°Π΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, ΠΎΠ±Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΠ‘, Π½Π΅Π·Π°ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΠ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡΠ΅Π³ΠΎ ΡΠ²ΠΎΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΠ‘.
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π²ΡΠ·Π²Π°Π½Π° Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ TCG2_CONFIGURATION Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ TPM (Trusted Platform Module), ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΡΡΠ΅ΡΠ° ΠΈ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Ρ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΌΠΈ UEFI-ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ, Ρ.Π΅. Π½Π° ΡΡΠΎΠ²Π½Π΅ SMM (System Management Mode), Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΠΎΠΌ, ΡΠ΅ΠΌ ΡΠ΅ΠΆΠΈΠΌ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° ΠΈ Π½ΡΠ»Π΅Π²ΠΎΠ΅ ΠΊΠΎΠ»ΡΡΠΎ Π·Π°ΡΠΈΡΡ, ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅ΠΌ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊΠΎ Π²ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΠΊΠΎΠ΄Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ TPM Π² UEFI ΠΈ ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π½Π°Π»ΠΈΡΠΈΡ TPM-ΡΠΈΠΏΠ°.
ΠΡΠΈΡΠΈΠ½ΠΎΠΉ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Π²ΡΠ·ΠΎΠ² ΠΏΡΠΎΡΠΈΠ²ΠΊΠΎΠΉ UEFI-ΡΠ΅ΡΠ²ΠΈΡΠ° GetVariable, Π² ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ TCG2_CONFIGURATION ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π² ΡΡΠ΅ΠΊΠ΅ Π±ΡΡΠ΅ΡΠ°, ΠΏΡΠΈ ΡΠΎΠΌ, ΡΡΠΎ Π² ΠΎΠ±ΠΎΠΈΡ Π²ΡΠ·ΠΎΠ²Π°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° ΠΎΠ΄Π½Π° ΠΈ ΡΠ° ΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ data_size Π±Π΅Π· Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°. ΠΡΠ»ΠΈ Π°ΡΠ°ΠΊΡΡΡΠΈΠΉ ΠΈΠΌΠ΅Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ UEFI-ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ TCG2_CONFIGURATION Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠΌ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ²ΡΠΉ Π²ΡΠ·ΠΎΠ² Π²Π΅ΡΠ½ΡΠ» ΠΊΠΎΠ΄ EFI_BUFFER_TOO_SMALL. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ data_size Π²ΠΌΠ΅ΡΡΠΎ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΠΌΠ΅ΡΡΠ΅Π³ΠΎΡΡ Π±ΡΡΠ΅ΡΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΡΡΠ°Π²Π»Π΅Π½ΠΎ Π² ΡΠ°Π·ΠΌΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ TCG2_CONFIGURATION, ΡΠΎ Π²ΡΠΎΡΠΎΠΉ Π²ΡΠ·ΠΎΠ² ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΡΡΠ΅ΡΠ°.
void Function_0000537c(void){
…
ulonglong data_size;
char buffer [8];
…
EVar1 = (*gRS_2->GetVariable)
((CHAR16 *)TCG2_CONFIGURATION, &gTCG2_CONFIG_FORM_SET_GUID,
(UINT32 *)0x0, &data_size, buffer);
if (EVar1 == EFI_BUFFER_TOO_SMALL) {
EVar1 = (*gRS_2->GetVariable)
((CHAR16 *)TCG2_CONFIGURATION,&gTCG2_CONFIG_FORM_SET_GUID,
(UINT32 *)0x0,&data_size,buffer)
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΠΏΡΠΎΡΠΈΠ²ΠΊΠ°Ρ
Phoenix SecureCore, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ
Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ
Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°ΠΌΠΈ Intel ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° AlderLake, CoffeeLake, CometLake, IceLake, JasperLake, KabyLake, MeteorLake, RaptorLake, RocketLake ΠΈ TigerLake. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΈΡ Π°ΡΠ°ΠΊΠΈ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ TCG2_CONFIGURATION. ΠΡΠΈΠΌΠ΅Ρ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π½ Π½Π° Π½Π° Π½ΠΎΡΡΠ±ΡΠΊΠ°Ρ
Lenovo ThinkPad X1 Carbon ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ Gen ΠΈ Lenovo ThinkPad X1 Yoga 4 ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΡΡΡΡΠ°Π½Π΅Π½Π° Π² Π°ΠΏΡΠ΅Π»ΡΡΠΊΠΈΡ
ΠΈ ΠΌΠ°ΠΉΡΠΊΠΈΡ
ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡΡ
ΠΏΡΠΎΡΠΈΠ²ΠΎΠΊ ΠΎΡ Technologies ΠΈ Lenovo.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru