ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ 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, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠΏΠ°Π²ΡΠΈΠΉ Π² ΠΎΡΠΊΡΡΡΡΠΉ Π΄ΠΎΡΡΡΠΏ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΠΊΠ»ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π² UEFI-ΠΏΡΠΎΡΠΈΠ²ΠΊΡ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ KEK-ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°. ΠΠ°Π³ΡΡΠ·ΠΈΠ² Π² ΠΏΡΠΎΡΠΈΠ²ΠΊΡ 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 Variable PK, length 862 PK: List 0, type X509 Signature 0, size 834, owner 26dc4851-195f-4ae1-9a19-fbf883bbb35e Subject: CN=DO NOT TRUST — AMI Test PK Issuer: CN=DO NOT TRUST — AMI Test PK
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru