Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² cryptsetup, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² LUKS2-Ρ€Π°Π·Π΄Π΅Π»Π°Ρ…

Π’ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ Cryptsetup, примСняСмом для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ дисковых Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² Π² Linux, выявлСна ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ (CVE-2021-4122), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π² Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ LUKS2 (Linux Unified Key Setup). Для эксплуатации уязвимости Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ физичСский доступ ΠΊ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŽ, Ρ‚.Π΅. ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ‚ смысл Π² основном для Π°Ρ‚Π°ΠΊΠΈ Π½Π° Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ внСшниС Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Flash-диски, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ доступ, Π½ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚ пароля для Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Атака ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° LUKS2 ΠΈ связана с манипуляциСй ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΌΠΈ Π·Π° Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ «online reencryption», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈ нСобходимости смСны ΠΊΠ»ΡŽΡ‡Π° доступа ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ процСсс ΠΏΠ΅Ρ€Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Π»Π΅Ρ‚Ρƒ Π±Π΅Π· остановки Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π°Π·Π΄Π΅Π»ΠΎΠΌ. Π’Π°ΠΊ ΠΊΠ°ΠΊ процСсс Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ с Π½ΠΎΠ²Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, «online reencryption» Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ€Π°Π·Π΄Π΅Π»ΠΎΠΌ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Ρ„ΠΎΠ½Π΅, постСпСнно ΠΏΠ΅Ρ€Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Ρ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π’ Ρ‚ΠΎΠΌ числС имССтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€Π° пустого Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°, Ρ‡Ρ‚ΠΎ позволяСт пСрСвСсти Ρ€Π°Π·Π΄Π΅Π» Π² Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²ΠΈΠ΄.

ΠΡ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ внСсти Π² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ LUKS2 измСнСния, ΡΠΈΠΌΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ сбоя ΠΈ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ части Ρ€Π°Π·Π΄Π΅Π»Π° послС Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ ΠΈ использования ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ накопитСля Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅ΠΌ. ΠŸΡ€ΠΈ этом ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ²ΡˆΠΈΠΉ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒ ΠΈ Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π²ΡˆΠΈΠΉ Π΅Π³ΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ, Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ прСдупрСТдСния ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ процСсса восстановлСния ΠΏΡ€Π΅Ρ€Π²Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ Ρ…ΠΎΠ΄Π΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «luks Dump». ΠžΠ±ΡŠΡ‘ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ, зависит ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° LUKS2, Π½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (16 MiB) ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ 3 Π“Π‘.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π²Ρ‹Π·Π²Π°Π½Π° Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ расчёта ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ…ΡΡˆΠ΅ΠΉ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΈ старого ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ Ρ…ΡΡˆ Π½Π΅ трСбуСтся, Ссли Π½ΠΎΠ²ΠΎΠ΅ состояниС ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ отсутствиС ΠΊΠ»ΡŽΡ‡Π° для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ (plaintext). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ LUKS2, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… задаётся Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ, Π½Π΅ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Ρ‹ ΠΎΡ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² случаС попадания Π² Ρ€ΡƒΠΊΠΈ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠ°. Для блокирования уязвимости Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π² LUKS2 Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ провСряСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ…ΡΡˆ, вычисляСмый Π½Π° основС извСстных ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ содСрТимого ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚.Π΅. Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅, Π½Π΅ зная пароля для Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ.

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

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° выявлСна мэйнтСйнСром ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° cryptsetup ΠΈ устранСна Π² обновлСниях cryptsetup 2.4.3 ΠΈ 2.3.7. БостояниС формирования ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ с устранСниСм ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² дистрибутивах ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π½Π° Π΄Π°Π½Π½Ρ‹Ρ… страницах: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ проявляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ начиная с выпуска cryptsetup 2.2.0, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ появилась ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ «online reencryption». Π’ качСствС ΠΎΠ±Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ запуск с ΠΎΠΏΡ†ΠΈΠ΅ΠΉ «—disable-luks2-reencryption».

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