ЗаобикалянС Π½Π° дисково ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΎ TPM2 Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅

Π•Π΄ΠΈΠ½ ΠΎΡ‚ ΡΡŠΠΏΡŠΡ‚ΡΡ‚Π²Π°Ρ‰ΠΈΡ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π² NixOS прСдстави Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π½Π° Π°Ρ‚Π°ΠΊΠ°, която позволява Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π΄Π°Π½Π½ΠΈ Π½Π° ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½ΠΈ дискови дяловС, Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ изискват въвСТданС Π½Π° ΠΏΠ°Ρ€ΠΎΠ»Π° Π·Π° ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ ΠΏΡ€ΠΈ стартиранС, Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·ΠΏΠΎΠ»Π°Π³Π°Π½Π΅Ρ‚ΠΎ Π² TPM2 (Trusted Platform Module) Π½Π° информация Π·Π° Π΄Π΅ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅. Π’Π°ΠΊΠΈΠ²Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ чСсто сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€ΠΈ ΠΈΠ»ΠΈ многопотрСбитСлски Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ станции, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Ρ€ΡŠΡ‡Π½ΠΎΡ‚ΠΎ въвСТданС Π½Π° ΠΏΠ°Ρ€ΠΎΠ»Π°Ρ‚Π° слСд всяко рСстартиранС.

ΠŸΡ€ΠΈ ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π° ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° дисковСтС, Π΄Π΅ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π΅Π½ ΠΊΠ»ΡŽΡ‡, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Π½ Π² TPM ΠΈ прСдоставян само слСд ΠΏΠΎΡ‚Π²ΡŠΡ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π° Π½Π°Ρ‡Π°Π»Π½ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° систСмата. Π‘ΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° систСмата сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° Ρ…Π΅ΡˆΠΎΠ²Π΅ Π² рСгистритС PCR (Platform Configuration Register) ΠΈ сС ΠΏΡ€ΠΈΠ²ΡŠΡ€Π·Π²Π° към Ρ†ΠΈΡ„Ρ€ΠΎΠ² подпис, с ΠΊΠΎΠΉΡ‚ΠΎ Π΅ сСртифициран Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΡŠΡ‚, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ към ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΈ суми Π½Π° Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ° ΠΈ Π½Π°Ρ‡Π°Π»Π΅Π½ Π·Π°Π³Ρ€ΡƒΠ·ΡŠΡ‡Π΅Π½ контСкст (initrd). Π”ΠΎΡΡ‚ΡŠΠΏΡŠΡ‚ Π΄ΠΎ ΠΊΠ»ΡŽΡ‡Π° Π² TPM сС прСдоставя само ΠΊΠΎΠ³Π°Ρ‚ΠΎ всички ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Π½Π΅Π³ΠΎ рСгистри PCR са Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅, ΠΊΠ°ΠΊΠ²ΠΎΡ‚ΠΎ Π΅ Π±ΠΈΠ»ΠΎ ΠΏΡ€ΠΈ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠ»ΡŽΡ‡Π°.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π° сС, Ρ‡Π΅ Π²Π΅Ρ€ΠΈΠ³Π°Ρ‚Π° Π½Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма сС Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° UEFI Secure Boot ΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏΡŠΡ‚ Π΄ΠΎ ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅Ρ‚Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ само ΠΎΡ‚ Π½Π΅ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ ΠΎΠ±Ρ€Π°Π· Π½Π° initrd. ΠŸΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, диска Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ сС ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π²Π°, Π½ΠΎ Π΄ΠΎΡΡ‚ΡŠΠΏΡŠΡ‚ Π΄ΠΎ Π΄Π΅ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΠΎΠ»ΡƒΡ‡ΠΈ само Ρ‡Ρ€Π΅Π· Π²Π»ΠΈΠ·Π°Π½Π΅ Π² своята ΡƒΡ‡Π΅Ρ‚Π½Π° запис Π² систСмата. ΠŸΡ€ΠΈ ΠΎΠΏΠΈΡ‚ Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π±Π΅Π· Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ΠΎ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΎΠΏΠΈΡ‚ Π·Π° Π·Π°ΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ измСнСния Π² initrd с Ρ†Π΅Π» ΠΏΡ€ΠΈΡ…Π²Π°Ρ‰Π°Π½Π΅ Π½Π° ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅, Π΄ΠΎΠ²Π΅Ρ€ΠΈΠ΅Ρ‚ΠΎ Π² Π²Π΅Ρ€ΠΈΠ³Π°Ρ‚Π° Ρ‰Π΅ бъдС Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΎ, ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° рСгистритС PCR Ρ‰Π΅ сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΠΈ TPM2 няма Π΄Π° прСдостави информацията, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Π·Π° Π΄Π΅ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅.

ΠŸΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ΠΈΡΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π° Π°Ρ‚Π°ΠΊΠ° позволява Π΄Π° сС ΠΈΠ·Π±Π΅Π³Π½Π΅ промяна Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° initrd Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Ρ‚ ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ дяловС LUKS. ΠžΡ‚Π±Π΅Π»ΡΠ·Π²Π° сС, Ρ‡Π΅ Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° дяловСтС Π½Π΅ сС описва Π² всички Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈ инструкции Π·Π° настройка Π½Π° дисковото ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ идСнтификацията Π½Π° дяловСтС Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ услоТнява конфигурацията (Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΅ Π΄Π° сС ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡Π΅ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π΅Π½ Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€ PCR Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΊΠ»ΡŽΡ‡Π° Π½Π° дяла ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° initrd с ΠΎΠ³Π»Π΅Π΄ Π½Π° Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° стойност). ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π·Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° Π°Ρ‚Π°ΠΊΠ° са дСмонстрирани Π·Π° Fedora Linux Π² комбинация с инструмСнтитС clevis ΠΈ Π·Π° NixOS Π² комбинация с systemd-cryptenroll. Π—Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° Π°Ρ‚Π°ΠΊΠ° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ физичСски Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π° ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ Π½Π° носитСля.

ΠœΠ΅Ρ‚ΠΎΠ΄ΡŠΡ‚ сС основава Π½Π° Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ атакуващият ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ ΠΊΠΎΡ€Π΅Π½ΠΎΠ² ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½ дял със собствСно създадСн ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½ дял, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΡΡŠΡ‰ΠΈΡ UUID ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈ ΠΏΠΎΠ·Π½Π°Ρ‚ΠΈ Π½Π° атакуващия ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ Π·Π° Π΄Π΅ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅. Π‘Ρ€Π΅Π΄Π°Ρ‚Π° initrd Ρ‰Π΅ ΠΏΡ€Π΅Π΄Π°Π΄Π΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° init процСса Π² дяла Π½Π° атакуващия. Въй ΠΊΠ°Ρ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° initrd Π½Π΅ Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½ΠΎ, ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° TPM няма Π΄Π° бъдС Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΎ ΠΈ, ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΉΠΊΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π² собствСната си срСда, атакуващият ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° TPM Π·Π° Π΄Π΅ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠ»ΡŽΡ‡Π° Π½Π° оригиналния дисков дял.

Атаката сС ΡΡŠΡΡ‚ΠΎΠΈ Π² слСднитС ΡΡ‚ΡŠΠΏΠΊΠΈ:

  • ИзваТданС Π½Π° диска ΠΈ ΠΏΡ€ΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° Π½Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€ Π² дяла /boot. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° информация Π·Π° криптирания дял ΠΈ нСговия UUID ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΎΡ‚ initrd ΠΎΠ±Ρ€Π°Π·Π°, Π½Π°ΠΌΠΈΡ€Π°Ρ‰ сС Π² дяла /boot.
  • БъздаванС Π½Π° Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° ΠΏΡŠΡ€Π²ΠΈΡ‚Π΅ 64 ΠœΠ‘ ΠΎΡ‚ криптирания LUKS дял.
  • Замяна Π½Π° посочСнитС 64 ΠœΠ‘ с ΠΎΠ±Ρ€Π°Π· Π½Π° собствСн ΠΊΠΎΡ€Π΅Π½ΠΎΠ² дял, ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½ с извСстСн Π½Π° атакуващия ΠΊΠ»ΡŽΡ‡ ΠΈ с UUID ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠ°Ρ‚ΠΎ стария дял.
  • Π’Ρ€ΡŠΡ‰Π°Π½Π΅ Π½Π° диска Π² ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΈΡ ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€ ΠΈ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ с подмСнСния ΠΊΠΎΡ€Π΅Π½ΠΎΠ² дял. Въй ΠΊΠ°Ρ‚ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎΡ‚ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ с ΠΊΠ»ΡŽΡ‡Π° ΠΎΡ‚ TPM Π·Π° подмСнСния дял Π½Π΅ успява, initrd изисква Ρ€ΡŠΡ‡Π½ΠΎ въвСТданС Π½Π° ΠΏΠ°Ρ€ΠΎΠ»Π°.
  • ΠŸΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° оригиналния ΠΊΠ»ΡŽΡ‡ ΠΎΡ‚ TPM, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ Π·Π° TPM ΠΈ криптирания Ρ‚ΠΎΠΊΠ΅Π½ ΠΎΡ‚ LUKS Π·Π°Π³Π»Π°Π²ΠΈΠ΅Ρ‚ΠΎ Π½Π° стария дял.
  • ΠŸΡ€Π΅ΠΌΠ΅ΡΡ‚Π²Π°Π½Π΅ Π½Π° диска Π² ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π° Π½Π° атакуващия, Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° прСзаписаната част ΠΎΡ‚ LUKS дяла ΠΎΡ‚ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΡ‚ΠΎ ΠΊΠΎΠΏΠΈΠ΅ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° получСния ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π΅Π½ ΠΊΠ»ΡŽΡ‡ Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π΄Π°Π½Π½ΠΈΡ‚Π΅.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster