Π›Π΅Π½Π½Π°Ρ€Ρ‚ ΠŸΠΎΡ‚Ρ‚Π΅Ρ€ΠΈΠ½Π³ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» Π½ΠΎΠ²ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Linux

Π›Π΅Π½Π½Π°Ρ€Ρ‚ ΠŸΠΎΡ‚Ρ‚Π΅Ρ€ΠΈΠ½Π³ (Lennart Poettering) ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ процСсса Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Linux-дистрибутивов, Π½Π°Ρ†Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ Π΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€Π½ΠΎΡΡ‚ΡŒ ядра ΠΈ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ систСмного окруТСния. НСобходимыС для примСнСния Π½ΠΎΠ²ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ измСнСния ΡƒΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ systemd ΠΈ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΊΠ°ΠΊ systemd-stub, systemd-measure, systemd-cryptenroll, systemd-cryptsetup, systemd-pcrphase ΠΈ systemd-creds.

ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ измСнСния сводятся ΠΊ созданию Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π·Π° UKI (Unified Kernel Image), ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Π· ядра Linux, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ядра ΠΈΠ· UEFI (UEFI boot stub) ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΠΎΠ΅ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ систСмноС ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ initrd, примСняСмоС для Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° стадии Π΄ΠΎ монтирования ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π€Π‘. ВмСсто ΠΎΠ±Ρ€Π°Π·Π° RAM-диска initrd Π² UKI ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π° ΠΈ вся систСма, Ρ‡Ρ‚ΠΎ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ систСмныС окруТСния, Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Π΅ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ. UKI-ΠΎΠ±Ρ€Π°Π· оформляСтся Π² Π²ΠΈΠ΄Π΅ исполняСмого Ρ„Π°ΠΉΠ»Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PE, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΎΠ², ΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π²Ρ‹Π·Π²Π°Π½ ΠΈΠ· ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ UEFI.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²Π° ΠΈΠ· UEFI позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ цСлостности ΠΈ достовСрности ΠΏΠΎ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписи, ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ядро, Π½ΠΎ ΠΈ содСрТимоС initrd. ΠŸΡ€ΠΈ этом ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²Ρ‹Π·ΠΎΠ²Π° ΠΈΠ· Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΎΠ² позволяСт ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ возмоТности, ΠΊΠ°ΠΊ поставка Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… вСрсий ядра ΠΈ автоматичСский ΠΎΡ‚ΠΊΠ°Ρ‚ Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ ядро Π² случаС выявлСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Π½ΠΎΠ²Ρ‹ΠΌ ядром послС установки обновлСния.

Π’ настоящСС врСмя Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ дистрибутивов Linux Π² процСссС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° «ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ° → завСрСнная Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписью Microsoft shim-прослойка → Π·Π°Π²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписью дистрибутива Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ GRUB → Π·Π°Π²Π΅Ρ€Π΅Π½Π½ΠΎΠ΅ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписью дистрибутива ядро Linux → Π½Π΅ Π·Π°Π²Π΅Ρ€Π΅Π½Π½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ initrd → корнСвая Π€Π‘». ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ initrd Π² Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… дистрибутивах создаёт ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ срСди ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ осущСствляСтся ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ для Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π€Π‘.

ВСрификация ΠΎΠ±Ρ€Π°Π·Π° initrd Π½Π΅ поддСрТиваСтся Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» формируСтся Π½Π° локальной систСмС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π²Π΅Ρ€Π΅Π½ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписью дистрибутива, Ρ‡Ρ‚ΠΎ сильно услоТняСт ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€ΠΈ использовании Ρ€Π΅ΠΆΠΈΠΌΠ° SecureBoot (для завСрСния initrd ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свои ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΈΡ… Π² ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ UEFI). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ организация Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π΅ позволяСт ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· рСгистров TPM PCR (Platform Configuration Register) для контроля цСлостности ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² пространства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΏΠΎΠΌΠΈΠΌΠΎ shim, grub ΠΈ ядра. Из ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ упоминаСтся услоТнСниС обновлСния Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ° ΠΈ отсутствиС возмоТности ограничСния доступа ΠΊ ΠΊΠ»ΡŽΡ‡Π°ΠΌ Π² TPM для старых вСрсий ОБ, ΡΡ‚Π°Π²ΡˆΠΈΡ… Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ послС установки обновлСния.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ†Π΅Π»ΠΈ внСдрСния Π½ΠΎΠ²ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ:

  • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ процСсса Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ всС этапы ΠΎΡ‚ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Π΄ΠΎ пространства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΈ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰Π΅Π³ΠΎ Π΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€Π½ΠΎΡΡ‚ΡŒ ΠΈ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ².
  • ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… рСсурсов ΠΊ рСгистрам TPM PCR с Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°ΠΌ.
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ расчёта Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ PCR Π½Π° основС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ядра, initrd, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ локального ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° систСмы.
  • Π—Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ Rollback-Π°Ρ‚Π°ΠΊ, связанных с ΠΎΡ‚ΠΊΠ°Ρ‚ΠΎΠΌ Π½Π° ΠΏΡ€ΠΎΡˆΠ»ΡƒΡŽ ΡƒΡΠ·Π²ΠΈΠΌΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ систСмы.
  • Π£ΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ надёТности ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ОБ, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ примСнСния ΠΈΠ»ΠΈ локальной ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ рСсурсов, Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½Ρ‹Ρ… TPM.
  • Π“ΠΎΡ‚ΠΎΠ²Π½ΠΎΡΡ‚ΡŒ систСмы для провСдСния ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ аттСстации для подтвСрТдСния коррСктности Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΠΎΠΉ ОБ ΠΈ настроСк.
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ прикрСплСния ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ стадиям Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· TPM ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ для ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π€Π‘.
  • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ бСзопасного, автоматичСского ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ Π±Π΅Π· участия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ процСсса Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ для Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ диска с ΠΊΠΎΡ€Π½Π΅Π²Ρ‹ΠΌ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠΌ.
  • ИспользованиС Ρ‡ΠΈΠΏΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ TPM 2.0, с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° систСмы Π±Π΅Π· TPM.

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