LUKS2 bo'limlarida shifrlashni o'chirish imkonini beruvchi kriptosetupdagi zaiflik

Cryptsetup paketida Linuxda disk bo'limlarini shifrlash uchun foydalaniladigan zaiflik (CVE-2021-4122) aniqlandi, bu metama'lumotlarni o'zgartirish orqali LUKS2 (Linux Unified Key Setup) formatidagi bo'limlarda shifrlashni o'chirish imkonini beradi. Zaiflikdan foydalanish uchun tajovuzkor shifrlangan ommaviy axborot vositalariga jismoniy kirish huquqiga ega bo'lishi kerak, ya'ni. Usul, asosan, tajovuzkor kirish huquqiga ega bo'lgan, lekin ma'lumotlar shifrini ochish uchun parolni bilmaydigan Flash drayvlar kabi shifrlangan tashqi xotira qurilmalariga hujum qilish uchun mantiqiydir.

Hujum faqat LUKS2 formati uchun amal qiladi va "onlayn qayta shifrlash" kengaytmasini faollashtirish uchun mas'ul bo'lgan metama'lumotlarning manipulyatsiyasi bilan bog'liq bo'lib, agar kirish kalitini o'zgartirish zarur bo'lsa, tezda ma'lumotlarni qayta shifrlash jarayonini boshlash imkonini beradi. bo'lim bilan ishlashni to'xtatmasdan. Shifrni ochish va yangi kalit bilan shifrlash jarayoni ko'p vaqt talab qilganligi sababli, "onlayn qayta shifrlash" bo'lim bilan ishlashni to'xtatmaslik va fonda qayta shifrlashni amalga oshirish, ma'lumotlarni bir kalitdan ikkinchisiga asta-sekin shifrlash imkonini beradi. . Bo'limni shifrlangan shaklga aylantirish imkonini beruvchi bo'sh maqsadli kalitni tanlash ham mumkin.

Buzg'unchi LUKS2 metama'lumotlariga o'zgartirishlar kiritishi mumkin, bu xatolik natijasida shifrni ochish operatsiyasining to'xtatilishiga taqlid qiladi va o'zgartirilgan drayverni egasi faollashtirgandan va undan foydalangandan so'ng bo'limning bir qismini shifrlashga erishadi. Bunday holda, o'zgartirilgan drayverni ulagan va uni to'g'ri parol bilan ochgan foydalanuvchi to'xtatilgan qayta shifrlash jarayonini tiklash jarayoni haqida hech qanday ogohlantirish olmaydi va faqat "luks Dump" yordamida ushbu operatsiyaning borishi haqida bilib olishi mumkin. buyruq. Buzg'unchi shifrini ochishi mumkin bo'lgan ma'lumotlar miqdori LUKS2 sarlavhasi hajmiga bog'liq, ammo standart o'lchamda (16 MiB) u 3 GB dan oshishi mumkin.

Muammo shundan kelib chiqadiki, qayta shifrlash yangi va eski kalitlarning xeshlarini hisoblash va tekshirishni talab qilsa-da, agar yangi holat shifrlash uchun ochiq matn kaliti yoβ€˜qligini nazarda tutsa, shifrlashni boshlash uchun xesh talab qilinmaydi. Bundan tashqari, shifrlash algoritmini belgilaydigan LUKS2 metama'lumotlari, agar u tajovuzkor qo'liga tushib qolsa, o'zgartirishdan himoyalanmaydi. Zaiflikni bloklash uchun ishlab chiquvchilar LUKS2 ga metadata uchun qo'shimcha himoyani qo'shdilar, buning uchun endi qo'shimcha xesh tekshiriladi, ma'lum kalitlar va metama'lumotlar mazmuni asosida hisoblanadi, ya'ni. tajovuzkor endi shifrni ochish parolini bilmasdan, metama'lumotlarni yashirincha o'zgartira olmaydi.

Odatiy hujum stsenariysi tajovuzkorning haydovchiga bir necha marta qo'llarini olishini talab qiladi. Birinchidan, kirish parolini bilmagan tajovuzkor metadata maydoniga o'zgartirishlar kiritadi, bu esa haydovchi keyingi safar faollashtirilganda ma'lumotlarning bir qismini dekodlashni boshlaydi. Keyin haydovchi o'z joyiga qaytariladi va tajovuzkor foydalanuvchi parolni kiritish orqali uni ulashini kutadi. Qurilma foydalanuvchi tomonidan faollashtirilganda, fonda qayta shifrlash jarayoni boshlanadi, uning davomida shifrlangan ma'lumotlarning bir qismi shifrlangan ma'lumotlar bilan almashtiriladi. Bundan tashqari, agar tajovuzkor yana qurilmaga qo'l tegishiga muvaffaq bo'lsa, diskdagi ma'lumotlarning bir qismi shifrlangan shaklda bo'ladi.

Muammo cryptsetup loyihasi boshqaruvchisi tomonidan aniqlandi va cryptsetup 2.4.3 va 2.3.7 yangilanishlarida tuzatildi. Tarqatishlardagi muammoni hal qilish uchun yaratilayotgan yangilanishlar holatini quyidagi sahifalarda kuzatish mumkin: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch. Zaiflik faqatgina "onlayn qayta shifrlash" operatsiyasini qo'llab-quvvatlovchi cryptsetup 2.2.0 versiyasi chiqqandan keyin paydo bo'ladi. Himoya uchun vaqtinchalik yechim sifatida β€œ--disable-luks2-reencryption” opsiyasi bilan ishga tushirishdan foydalanish mumkin.

Manba: opennet.ru

a Izoh qo'shish