ΠΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΏΠΎ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° Binarly ΠΎΡΠΊΡΠΈΡ Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ Π½Π° ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡ UEFI Secure Boot Π½Π° Π½Π°Π΄ 800 ΠΏΡΠΎΠ΄ΡΠΊΡΠ°, ΠΈΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈΡΠ΅ Acer, Dell, Fujitsu, Gigabyte, HP, Intel, Lenovo ΠΈ Supermicro. ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ ΠΏΠΎΠ»ΡΡΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΎ ΠΈΠΌΠ΅ PKfail ΠΈ Π΅ ΡΠ²ΡΡΠ·Π°Π½ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π½Π΅Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ ΠΏΠ»Π°ΡΠΈΠ½Π΅Π½ ΠΊΠ»ΡΡ (PK, Platform Key) Π² ΡΡΡΠΌΡΠ΅ΡΠΈΡΠ΅, Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ ΠΎΡ AMI (American Megatrends International) ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ ΠΊΠ°ΡΠΎ ΡΠ΅ΡΡΠΎΠ² ΠΏΡΠΈΠΌΠ΅Ρ. ΠΠ°ΠΉ-ΡΡΠ°ΡΠΈΡΠ΅ ΡΡΡΠΌΡΠ΅ΡΠΈ, Π² ΠΊΠΎΠΈΡΠΎ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΡΠ΅ΡΡΠΎΠ²ΠΈΡΡ ΠΊΠ»ΡΡ, ΡΠ° ΠΈΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΠΏΡΠ΅Π· 2012 Π³., Π° Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡΠ΅ Π΄Π°ΡΠΈΡΠ°Ρ ΠΎΡ ΡΠ½ΠΈ 2024 Π³. Π‘ΠΏΠΎΡΠ΅Π΄ Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅, Π½Π°Π΄ 10% ΠΎΡ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ΠΈ ΡΡΡΠΌΡΠ΅ΡΠΈ ΡΠ° Π·Π°ΡΠ΅Π³Π½Π°ΡΠΈ ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°.
Π ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΠΊΠ»ΡΡΠ° Π±Π΅ΡΠ΅ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΎ, ΡΠ΅ ΡΠΎΠΉ Π½Π΅ Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ ΠΈ Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π΄ΠΎΡΡΠ°Π²ΡΠ½ Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡΠ΅ ΠΈΠΌ. ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡΠ΅ ΡΠ΅, ΡΠ΅ ΡΠΎΠ·ΠΈ ΡΠ΅ΡΡΠΎΠ² ΠΊΠ»ΡΡ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π·Π°ΠΌΠ΅Π½Π΅Π½ Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½, Π½ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π΅ ΠΎΠ±ΡΡΠ½Π°Ρ Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ΡΠΎ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π° Π² ΠΊΡΠ°ΠΉΠ½ΠΈΡΠ΅ ΡΡΡΠΌΡΠ΅ΡΠΈ ΡΠΈΠΏΠΈΡΠ½ΠΈΡ ΠΎΠ±Ρ ΠΊΠ»ΡΡ, ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΠ°ΡΡΠ½ΡΠΎΡΠΈ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ Π½Π° AMI.
Π§Π°ΡΡΡΠ° ΠΎΡ ΡΠ΅ΡΡΠΎΠ²ΠΈΡ ΠΊΠ»ΡΡ Π½Π° AMI, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠΈΡΡΠΎΠ²ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ, ΡΡΠ°Π½Π° ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎ Π΄ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ»Π΅Π΄ ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ Π΅Π΄ΠΈΠ½ ΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅, ΡΠ»ΡΠΆΠΈΡΠ΅Π» Π½Π° ΠΊΠΎΠ³ΠΎΡΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΠΊΠ°ΡΠΈ Π² ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π² GitHub ΠΊΠΎΠ΄, ΡΡΠ΄ΡΡΠΆΠ°Ρ ΡΠΎΠ·ΠΈ ΠΊΠ»ΡΡ. ΠΠ°ΠΊΡΠΈΡΠΈΡΡ ΠΊΠ»ΡΡ Π±Π΅ΡΠ΅ ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π² ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ ΡΠ°ΠΉΠ», Π·Π° ΡΠΈΡΡΠΎΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠΉΡΠΎ Π±Π΅ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π»Π΅ΡΠ½Π° 4-ΡΠΈΠΌΠ²ΠΎΠ»Π½Π° ΠΏΠ°ΡΠΎΠ»Π°, ΠΊΠΎΡΡΠΎ Π»Π΅ΡΠ½ΠΎ Π±Π΅ΡΠ΅ ΠΏΠΎΠ΄Π±ΡΠ°Π½Π° ΡΡΠ΅Π· ΠΌΠ΅ΡΠΎΠ΄ Π½Π° Π³ΡΡΠ±Π° ΡΠΈΠ»Π°.
ΠΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΊΠ»ΡΡ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΡΠΎ ΠΊΠΎΡΠ΅Π½ Π½Π° Π΄ΠΎΠ²Π΅ΡΠΈΠ΅ Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ Ρ ΠΊΠ»ΡΡΠΎΠ²Π΅ Π·Π° Secure Boot. ΠΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π·Π°ΠΊΡΠΈΡΠ°ΡΠ° ΡΠ°ΡΡ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½ΠΈΡ ΠΊΠ»ΡΡ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ»Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π° Π½Π° Π΄ΠΎΠ²Π΅ΡΠΈΠ΅, ΡΡΠ°ΡΡΠ²Π°ΡΠ° Π² ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π½Π° Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½ΡΠΊΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° β Π·Π½Π°Π΅ΠΉΠΊΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½ΠΈΡ ΠΊΠ»ΡΡ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΠΈ Π·Π°ΡΠΈΡΠ°ΡΠ° Π½Π° Secure Boot ΠΈ Π΄Π° ΡΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΡΡΠ΅Π· ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΡ Π½Π° ΠΊΠ»ΡΡΠ° KEK (Key Exchange Key) ΠΈ Π±Π°Π·ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ βdbβ (Signature Database) ΠΈ βdbxβ (Forbidden Signature Database). KEK ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π²Π΅ΡΠΈΠ³Π° Π½Π° Π΄ΠΎΠ²Π΅ΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠΌΡΠ΅ΡΠ° ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, βdbβ ΡΡΠ΄ΡΡΠΆΠ° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°ΡΠ° ΠΈ ΡΡΡΠ°Π½ΠΈΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ UEFI, Π° βdbxβ Π²ΠΊΠ»ΡΡΠ²Π° ΠΎΡΠΌΠ΅Π½Π΅Π½ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ Π½Π° ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ.
ΠΠ° Π΄Π° ΠΈΠ·Π²ΡΡΡΠΈΡΠ΅ Π°ΡΠ°ΠΊΠ°, Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π΄Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ Π½ΠΎΠ²ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ Π·Π° KEK ΠΈ db, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠ΅ΡΡΠΎΠ²ΠΈΡ ΠΊΠ»ΡΡ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ°, ΠΊΠΎΠΉΡΠΎ Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎ, Π·Π° Π΄Π° Π·Π°ΡΠ΅Π΄ΠΈΡΠ΅ KEK ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° Π² UEFI ΡΡΡΠΌΡΠ΅ΡΠ°. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ KEK ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡΡ Π±ΡΠ΄Π΅ Π·Π°ΡΠ΅Π΄Π΅Π½ Π² ΡΡΡΠΌΡΠ΅ΡΠ°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠ²ΡΡΠ·Π°Π½ΠΈΡ Ρ Π½Π΅Π³ΠΎ ΡΠ°ΡΡΠ΅Π½ ΠΊΠ»ΡΡ Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π² ΠΠ db. Π‘Π»Π΅Π΄ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° db, ΡΠ²ΡΡΠ·Π°Π½ΠΈΡΡ Ρ Π½Π΅Π³ΠΎ ΡΠ°ΡΡΠ΅Π½ ΠΊΠ»ΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΠΎΠ΄ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½ΠΈΡΠ΅ EFI ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ. openssl req -newkey rsa:4096 -nodes -keyout KEK.key -new -x509 -sha256 -days 3650 -subj "\/CN=BRLY KEK\/" -out KEK.crt openssl req -newkey rsa:4096 -nodes -keyout db.key -new -x509 -sha256 -days 3650 -subj "\/CN=BRLY db\/" -out db.crt efi-updatevar -a -c KEK.crt -k PK.key KEK efi-updatevar -a -c db.crt -k KEK.key db sbsign βkey db.key βcert db.crt βoutput rogue.efi.signed rogue.efi
ΠΠ° Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎΡΡΡΠ° Π½Π° ΠΊΠ»ΡΡΠ° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ°, Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° βefi-readvar -v PKβ ΠΎΡ ΠΏΠ°ΠΊΠ΅ΡΠ° efitools ΠΈ Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈΡΠ΅, ΡΠ΅ ΠΊΠ»ΡΡΡΡ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Π½Π΅ Π΅ ΡΠ΅ΡΡΠΎΠ²: efi-readvar -v PK ΠΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° PK, Π΄ΡΠ»ΠΆΠΈΠ½Π° 862 PK: Π‘ΠΏΠΈΡΡΠΊ 0, ΡΠΈΠΏ X509 ΠΠΎΠ΄ΠΏΠΈΡ 0, ΡΠ°Π·ΠΌΠ΅Ρ 834, ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΠΊ 26dc4851-195f-4ae1-9a19-fbf883bbb35e Π‘ΡΠ±Π΅ΠΊΡ: CN=DO NOT TRUST β AMI Test PK ΠΠ·Π΄Π°ΡΠ΅Π»: CN=DO NOT TRUST β AMI Test PK

ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
