LUKS2 arakəsmələrində şifrələməni deaktiv etməyə imkan verən kriptosetupdakı zəiflik

Cryptsetup paketində Linux-da disk arakəsmələrini şifrələmək üçün istifadə edilən zəiflik (CVE-2021-4122) müəyyən edilib ki, bu da metadatanı dəyişdirərək LUKS2 (Linux Unified Key Setup) formatında arakəsmələrdə şifrələməni deaktiv etməyə imkan verir. Zəiflikdən istifadə etmək üçün təcavüzkarın şifrələnmiş mediaya fiziki girişi olmalıdır, yəni. Metod, əsasən, təcavüzkarın girişi olan, lakin məlumatların şifrəsini açmaq üçün parolu bilmədiyi Flash disklər kimi şifrələnmiş xarici yaddaş qurğularına hücum üçün məna kəsb edir.

Hücum yalnız LUKS2 formatı üçün tətbiq edilir və giriş açarını dəyişdirmək zərurəti yaranarsa, məlumatların tez şifrələnməsi prosesini başlatmağa imkan verən “onlayn yenidən şifrələmə” uzantısının aktivləşdirilməsinə cavabdeh olan metadataların manipulyasiyası ilə əlaqələndirilir. bölmə ilə işi dayandırmadan. Şifrənin açılması və yeni açarla şifrələmə prosesi çox vaxt apardığından, “onlayn təkrar şifrələmə” bölmə ilə işi dayandırmamağa və arxa planda yenidən şifrələməni həyata keçirməyə imkan verir, məlumatları tədricən bir açardan digərinə yenidən şifrələyir. . Bölməni şifrələnmiş formaya çevirməyə imkan verən boş hədəf açarı seçmək də mümkündür.

Təcavüzkar LUKS2 metaməlumatında uğursuzluq nəticəsində deşifrə əməliyyatının dayandırılmasını simulyasiya edən dəyişikliklər edə bilər və dəyişdirilmiş diskin sahibi tərəfindən aktivləşdirildikdən və istifadə edildikdən sonra bölmənin bir hissəsinin şifrəsinin açılmasına nail ola bilər. Bu halda, dəyişdirilmiş sürücünü birləşdirən və düzgün parol ilə kilidini açan istifadəçi kəsilmiş təkrar şifrələmə əməliyyatının bərpası prosesi haqqında heç bir xəbərdarlıq almır və yalnız "luks Dump" istifadə edərək bu əməliyyatın gedişatı haqqında məlumat əldə edə bilər. əmr. Təcavüzkarın deşifrə edə biləcəyi məlumatların miqdarı LUKS2 başlığının ölçüsündən asılıdır, lakin standart ölçüdə (16 MiB) 3 GB-ı keçə bilər.

Problem ondan qaynaqlanır ki, yenidən şifrələmə yeni və köhnə açarların heşlərinin hesablanmasını və yoxlanılmasını tələb etsə də, əgər yeni vəziyyət şifrələmə üçün açıq mətn açarının olmamasını nəzərdə tutursa, şifrənin açılmasına başlamaq üçün heş tələb olunmur. Bundan əlavə, şifrələmə alqoritmini təyin edən LUKS2 metadata, təcavüzkarın əlinə düşərsə, modifikasiyadan qorunmur. Zəifliyi bloklamaq üçün tərtibatçılar LUKS2-yə metadata üçün əlavə qoruma əlavə etdilər, bunun üçün artıq məlum açarlar və metadata məzmunu əsasında hesablanan əlavə hash yoxlanılır, yəni. Təcavüzkar artıq şifrə açma parolunu bilmədən metadatanı gizli şəkildə dəyişə bilməz.

Tipik hücum ssenarisi, təcavüzkarın əllərini sürücüyə dəfələrlə tuta bilməsini tələb edir. Birincisi, giriş parolunu bilməyən təcavüzkar, sürücü növbəti dəfə aktivləşdirildikdə, məlumatların bir hissəsinin şifrəsini açaraq, metadata sahəsinə dəyişikliklər edir. Daha sonra sürücü öz yerinə qaytarılır və təcavüzkar istifadəçi parol daxil edərək onu birləşdirənə qədər gözləyir. Cihaz istifadəçi tərəfindən aktivləşdirildikdə, fonda yenidən şifrələmə prosesi başlanır, bu proses zamanı şifrələnmiş məlumatların bir hissəsi şifrələnmiş məlumatlarla əvəz olunur. Bundan əlavə, təcavüzkar yenidən cihaza əl atmağı bacararsa, sürücüdəki məlumatların bir hissəsi şifrələnmiş formada olacaq.

Problem cryptsetup layihəsinin baxıcısı tərəfindən müəyyən edilib və cryptsetup 2.4.3 və 2.3.7 yeniləmələrində həll edilib. Dağıtımlarda problemi həll etmək üçün yaradılan yeniləmələrin vəziyyətini bu səhifələrdə izləmək olar: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch. Boşluq yalnız “onlayn təkrar şifrələmə” əməliyyatı üçün dəstək təqdim edən cryptsetup 2.2.0 buraxılışından sonra ortaya çıxır. Qoruma üçün müvəqqəti həll yolu kimi “--disable-luks2-reencryption” seçimi ilə işə salmaqdan istifadə etmək olar.

Mənbə: opennet.ru

Добавить комментарий