LUKS2 bölümlerinde şifrelemeyi devre dışı bırakmanıza izin veren cryptsetup'taki bir güvenlik açığı

Linux'ta disk bölümlerini şifrelemek için kullanılan Cryptsetup paketinde, meta verileri değiştirerek LUKS2021 (Linux Birleşik Anahtar Kurulumu) formatındaki bölümlerde şifrelemenin devre dışı bırakılmasına izin veren bir güvenlik açığı (CVE-4122-2) belirlendi. Bu güvenlik açığından yararlanmak için saldırganın şifrelenmiş ortama fiziksel erişiminin olması gerekir; Yöntem, esas olarak, saldırganın erişebildiği ancak verilerin şifresini çözecek parolayı bilmediği Flash sürücüler gibi şifrelenmiş harici depolama aygıtlarına saldırmak için anlamlıdır.

Saldırı yalnızca LUKS2 formatı için geçerlidir ve erişim anahtarını değiştirmek gerekirse anında veri yeniden şifreleme sürecini başlatmaya olanak tanıyan "çevrimiçi yeniden şifreleme" uzantısının etkinleştirilmesinden sorumlu meta verilerin manipülasyonu ile ilişkilidir. bölümle çalışmayı durdurmadan. Yeni bir anahtarla şifre çözme ve şifreleme işlemi çok zaman aldığından, "çevrimiçi yeniden şifreleme", bölümle çalışmayı kesmemeyi ve arka planda yeniden şifreleme yapmayı, verileri bir anahtardan diğerine kademeli olarak yeniden şifrelemeyi mümkün kılar. . Bölümü şifresi çözülmüş bir forma dönüştürmenize olanak tanıyan boş bir hedef anahtar seçmek de mümkündür.

Saldırgan, LUKS2 meta verilerinde, bir arıza sonucunda şifre çözme işleminin iptal edilmesini simüle eden değişiklikler yapabilir ve değiştirilmiş sürücünün sahibi tarafından etkinleştirilip kullanılmasından sonra bölümün bir kısmının şifresinin çözülmesini sağlayabilir. Bu durumda değiştirilen sürücüyü bağlayıp doğru şifreyle kilidini açan kullanıcı, kesintiye uğrayan yeniden şifreleme işleminin geri yüklenmesi işlemine ilişkin herhangi bir uyarı almaz ve bu işlemin ilerlemesini yalnızca “luks Dump” kullanarak öğrenebilir. emretmek. Bir saldırganın şifresini çözebileceği veri miktarı LUKS2 başlığının boyutuna bağlıdır ancak varsayılan boyutta (16 MiB) 3 GB'ı aşabilir.

Sorun, yeniden şifrelemenin yeni ve eski anahtarların karmalarını hesaplamayı ve doğrulamayı gerektirmesine rağmen, yeni durumun şifreleme için bir düz metin anahtarının yokluğunu ima etmesi durumunda şifre çözmeyi başlatmak için bir karmanın gerekli olmamasından kaynaklanmaktadır. Ayrıca şifreleme algoritmasını belirleyen LUKS2 meta verileri, bir saldırganın eline geçmesi durumunda değiştirilmeye karşı korunmuyor. Güvenlik açığını engellemek için geliştiriciler, LUKS2'ye meta veriler için ek koruma ekledi; bunun için artık ek bir karma kontrol ediliyor, bilinen anahtarlara ve meta veri içeriklerine göre hesaplanıyor; Bir saldırgan artık şifre çözme parolasını bilmeden meta verileri gizlice değiştiremez.

Tipik bir saldırı senaryosu, saldırganın sürücüyü birden çok kez ele geçirebilmesini gerektirir. İlk olarak, erişim şifresini bilmeyen bir saldırgan, meta veri alanında değişiklikler yaparak, sürücünün bir sonraki etkinleştirilmesinde verilerin bir kısmının şifresinin çözülmesini tetikler. Daha sonra sürücü yerine geri getirilir ve saldırgan, kullanıcının bir parola girerek sürücüyü bağlamasını bekler. Cihaz kullanıcı tarafından etkinleştirildiğinde, şifrelenmiş verilerin bir kısmının şifresi çözülmüş verilerle değiştirildiği bir arka planda yeniden şifreleme işlemi başlatılır. Ayrıca saldırgan cihazı tekrar ele geçirmeyi başarırsa, sürücüdeki bazı verilerin şifresi çözülmüş olacak.

Sorun, cryptsetup proje sorumlusu tarafından belirlendi ve cryptsetup 2.4.3 ve 2.3.7 güncellemelerinde düzeltildi. Dağıtımlardaki sorunu düzeltmek için oluşturulan güncellemelerin durumu şu sayfalardan takip edilebilir: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch. Güvenlik açığı yalnızca "çevrimiçi yeniden şifreleme" işlemine destek sağlayan cryptsetup 2.2.0'ın piyasaya sürülmesinden bu yana ortaya çıkıyor. Korumaya yönelik bir geçici çözüm olarak “--disable-luks2-reencryption” seçeneğiyle başlatma yapılabilir.

Kaynak: opennet.ru

Yorum ekle