PuTTY'de kullanıcının özel anahtarının kurtarılmasına olanak tanıyan güvenlik açığı

Windows platformunda popüler bir SSH istemcisi olan PuTTY, kullanıcının özel anahtarının NIST P-2024 Eliptik Eğri ECDSA algoritması (ecdsa-sha31497-nistp521) kullanılarak yeniden oluşturulmasına olanak tanıyan tehlikeli bir güvenlik açığına (CVE-2-521) sahiptir. Özel anahtar seçmek için sorunlu anahtarın oluşturduğu yaklaşık 60 dijital imzanın analiz edilmesi yeterlidir.

Güvenlik açığı PuTTY 0.68 sürümünden itibaren ortaya çıkıyor ve ayrıca PuTTY'nin güvenlik açığı bulunan sürümlerini içeren ürünleri de etkiliyor; örneğin FileZilla (3.24.1 - 3.66.5), WinSCP (5.9.5 - 6.3.2), TortoiseGit (2.4.0.2 - 2.15.0) ve TortoiseSVN (1.10.0 - 1.14.6). PuTTY 0.81, FileZilla 3.67.0, WinSCP 6.3.3 ve TortoiseGit 2.15.0.1 güncellemelerinde sorun giderildi. Güncellemeyi yükledikten sonra kullanıcılara yeni anahtarlar oluşturmaları ve eski genel anahtarları yetkili_anahtarlar dosyalarından kaldırmaları önerilir.

Güvenlik açığı, 521 bitlik bir anahtar oluşturmak için 512 bitlik rastgele diziyi temel alan bir başlatma vektörü (nonce) kullanan geliştiricilerin dikkatsizliğinden kaynaklanıyor; muhtemelen 512 bitlik entropinin yeterli olacağına ve kalan 9 bitin yeterli olacağına inanıyorlardı. temel öneme sahip değildir. Sonuç olarak PuTTY'de ecdsa-sha2-nistp521 algoritması kullanılarak oluşturulan tüm özel anahtarlarda, başlatma vektörünün ilk 9 biti her zaman sıfır değer aldı.

ECDSA ve DSA için, sözde rasgele sayı üretecinin kalitesi ve rasgele verilerle modülün hesaplanmasında kullanılan parametrenin tam kapsamı temel öneme sahiptir, çünkü başlatma vektörü hakkında bilgi içeren birkaç bitin bile belirlenmesi, taşıma için yeterlidir. özel anahtarın tamamını sırayla kurtarmak için bir saldırı gerçekleştirin. Bir anahtarı başarılı bir şekilde kurtarmak için, genel bir anahtara sahip olmak ve saldırganın bildiği veriler için sorunlu anahtar kullanılarak oluşturulan birkaç düzine dijital imzayı analiz etmek yeterlidir. Saldırı, HNP (Gizli Sayı Sorunu) sorununu çözmeye yöneliktir.

Gerekli dijital imzalar, örneğin kullanıcı saldırganın SSH sunucusuna veya SSH'yi aktarım olarak kullanan bir Git sunucusuna bağlandığında elde edilebilir. Saldırı için gereken imzalar, anahtarın rastgele verileri doğrulamak için kullanılıp kullanılmadığı da öğrenilebilir; örneğin trafiği geliştiricinin ana bilgisayarına yönlendirmek için Pageant SSH aracısını kullanırken git taahhütleri. MITM saldırısı sırasında anahtarı kurtarmak için gerekli verileri elde etmek imkansızdır çünkü SSH'deki imzalar açık metin olarak iletilmez.

Eksik başlatma vektörlerinin benzer kullanımının PuTTY'de diğer eliptik eğri türleri için kullanıldığı, ancak ECDSA P-521 dışındaki algoritmalar için ortaya çıkan bilgi sızıntılarının çalışan bir anahtar kurtarma saldırısı uygulamak için yeterli olmadığı belirtilmektedir. Diğer boyutlardaki ECDSA anahtarları ve Ed25519 anahtarları saldırıya açık değildir.

Kaynak: opennet.ru

Yorum ekle