ΠΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΎΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ° Π² ΠΠΈΡΠΌΠΈΠ½Π³Π°ΠΌ, ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ ΠΏΠΎ-ΡΠ°Π½ΠΎ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π°ΡΠ°ΠΊΠΈΡΠ΅ Plundervolt ΠΈ VoltPillager, ΡΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π»ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ (CVE-2022-43309) Π² Π½ΡΠΊΠΎΠΈ ΡΡΡΠ²ΡΡΠ½ΠΈ Π΄ΡΠ½Π½ΠΈ ΠΏΠ»Π°ΡΠΊΠΈ, ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π΄Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° Π±Π΅Π· Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΡΠΎ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Ρ ΠΊΠΎΠ΄ΠΎΠ²ΠΎ ΠΈΠΌΠ΅ PMFault ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π½Π° ΡΡΡΠ²ΡΡΠΈ, Π΄ΠΎ ΠΊΠΎΠΈΡΠΎ Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡΡ Π½ΡΠΌΠ° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΡΡΡΠΏ, Π½ΠΎ ΠΈΠΌΠ° ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΏΠΎΠ»ΡΡΠ΅Π½ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π½Π΅ΠΎΡΡΡΡΠ°Π½Π΅Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΈΡ Π²Π°ΡΠ°Π½Π΅ Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡΠΊΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ.
Π‘ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ Π΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡΡ PMBus, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° I2C, Π·Π° Π΄Π° ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ Π½Π°ΠΏΡΠ΅ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΎ ΠΊΡΠΌ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°, Π΄ΠΎ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΈΡΠΈΠ½ΡΠ²Π°Ρ ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π½Π° ΡΠΈΠΏΠ°. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡΡ PMBus ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° Π²ΡΠ² VRM (ΠΌΠΎΠ΄ΡΠ» Π·Π° ΡΠ΅Π³ΡΠ»Π°ΡΠΎΡ Π½Π° Π½Π°ΠΏΡΠ΅ΠΆΠ΅Π½ΠΈΠ΅), ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΡΠ΅Π· ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° BMC ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ°. ΠΠ° Π΄Π° Π°ΡΠ°ΠΊΡΠ²Π°ΡΠ΅ ΠΏΠ»Π°ΡΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ PMBus, Π² Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡΠΊΠΈΡΠ΅ ΠΏΡΠ°Π²Π° Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ BMC (ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π±Π°Π·ΠΎΠ²Π°ΡΠ° ΠΏΠ»Π°ΡΠΊΠ°), Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° IPMI KCS (Π‘ΡΠΈΠ» Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ° Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°ΡΠ°), ΠΏΡΠ΅Π· Ethernet ΠΈΠ»ΠΈ ΡΡΠ΅Π· ΡΠ»Π°ΡΠ²Π°Π½Π΅ Π½Π° BMC ΠΎΡ ΡΠ΅ΠΊΡΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°.
ΠΡΠΎΠ±Π»Π΅ΠΌ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π°ΡΠ°ΠΊΠ° Π±Π΅Π· ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° BMC, Π΅ ΠΏΠΎΡΠ²ΡΡΠ΄Π΅Π½ Π² Π΄ΡΠ½Π½ΠΈ ΠΏΠ»Π°ΡΠΊΠΈ Supermicro Ρ IPMI ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° (X11, X12, H11 ΠΈ H12) ΠΈ ASRock, Π½ΠΎ Π΄ΡΡΠ³ΠΈ ΡΡΡΠ²ΡΡΠ½ΠΈ ΠΏΠ»Π°ΡΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ°Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ PMBus, ΡΡΡΠΎ ΡΠ° Π·Π°ΡΠ΅Π³Π½Π°ΡΠΈ. Π Ρ ΠΎΠ΄Π° Π½Π° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ Π½Π°ΠΏΡΠ΅ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ Π΄ΠΎ 2.84 Π²ΠΎΠ»ΡΠ°, Π΄Π²Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° Intel Xeon Π±ΡΡ Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π΅Π½ΠΈ Π½Π° ΡΠ΅Π·ΠΈ ΠΏΠ»Π°ΡΠΊΠΈ. ΠΠ° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ BMC Π±Π΅Π· Π΄Π° ΡΠ΅ Π·Π½Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅, Π½ΠΎ Ρ root Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, Π±Π΅ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ Π² ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΡΡΠΌΡΠ΅ΡΠ°, ΠΊΠΎΠ΅ΡΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ΡΠΎ Π½Π° ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΡΡΠΌΡΠ΅ΡΠ° Π½Π° BMC ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ°, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Π½Π΅ΡΠΏΡΠ»Π½ΠΎΠΌΠΎΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ ΡΡΠ΅Π· IPMI KCS.
ΠΠ΅ΡΠΎΠ΄ΡΡ Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° Π½Π°ΠΏΡΠ΅ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΡΠ΅Π· PMBus ΠΌΠΎΠΆΠ΅ ΡΡΡΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° Plundervolt Π°ΡΠ°ΠΊΠ°, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°, ΡΡΠ΅Π· ΠΏΠΎΠ½ΠΈΠΆΠ°Π²Π°Π½Π΅ Π½Π° Π½Π°ΠΏΡΠ΅ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π΄ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, Π΄Π° ΠΏΡΠΈΡΠΈΠ½ΠΈ ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ»Π΅ΡΠΊΠΈΡΠ΅ Ρ Π΄Π°Π½Π½ΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΏΡΠΈ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ Π² ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ Intel SGX Π°Π½ΠΊΠ»Π°Π²ΠΈ ΠΈ Π΄Π° Π³Π΅Π½Π΅ΡΠΈΡΠ° Π³ΡΠ΅ΡΠΊΠΈ Π² ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° ΠΏΡΠΈ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅, ΠΈΠ·Ρ ΠΎΠ΄ΡΡ ΡΠ΅ Π±ΡΠ΄Π΅ Π½Π΅Π²Π°Π»ΠΈΠ΄Π΅Π½ ΡΠΈΡΡΠΎΠ²Π°Π½ ΡΠ΅ΠΊΡΡ. ΠΠ°ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΠ±Π°Π΄ΠΈ Π½Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡ Π² SGX, Π·Π° Π΄Π° ΡΠΈΡΡΠΎΠ²Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠΈ, Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡΡ ΠΌΠΎΠΆΠ΅, ΡΡΠ΅Π· ΠΏΡΠΈΡΠΈΠ½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, Π΄Π° Π½Π°ΡΡΡΠΏΠ° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π·Π° ΠΏΡΠΎΠΌΡΠ½Π°ΡΠ° Π² ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΡΠΈΡΡΠΎΠ²Π°Π½ ΡΠ΅ΠΊΡΡ ΠΈ Π΄Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° ΠΊΠ»ΡΡΠ°, ΡΡΡ ΡΠ°Π½Π΅Π½ Π² Π°Π½ΠΊΠ»Π°Π²Π° Π½Π° SGX.
Π GitHub ΡΠ° ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ Π·Π° Π°ΡΠ°ΠΊΠ° Π½Π° ΠΏΠ»Π°ΡΠΊΠΈ Supermicro ΠΈ ASRock, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΠΎΠΌΠΎΡΠ½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ PMBus.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru