Açık kaynaklı Badkeys projesi, RSA anahtarlarında daha önce bilinmeyen bir zayıflık sınıfını ortaya çıkardı: çok sayıda sıfır içeren anahtarlar. Bu anahtarların internette kullanımda olduğu tespit edildi. Badkeys, kamuya açık anahtarları bilinen güvenlik açıklarına karşı kontrol eden bir servistir. Proje geliştiricisi Hanno, Certificate Transparency günlükleri, internet genelinde TLS ve SSH taramaları, PGP anahtarları gibi kaynaklardan büyük miktarda gerçek dünya anahtarı topladı. Bu veri kümesini beklenmedik derecede seyrek RSA modülleri açısından analiz eden ekip, Şekil 1'de gösterilen iki farklı desene sahip çok sayıda anahtar keşfetti.
Her iki desen de düzenli aralıklarla yerleştirilmiş sıfır blokları ve rastgele görünen veriler içeriyor. Desen 1, Yahoo ve Verizon gibi büyük kuruluşlara verilen sertifikaların Certificate Transparency günlüklerinde ve NetApp yazılımı çalıştıran bazı cihazlarda görüldü. Neyse ki bu sertifikaların süresi dolmuş durumda, ancak araştırmacılar bulgularını bu şirketlerle paylaştı. Bu anahtarları hangi ürünün oluşturduğunu öğrenmek isteseler de henüz bir yanıt alamadılar.
Desen 2 ise EnterpriseDT'nin CompleteFTP yazılımını çalıştıran SSH sunucularında tespit edildi. Güvenlik açığı, RSA anahtarları için sürüm 10.0.0-12.0.0 (Aralık 2016-Mart 2019) ve DSA anahtarları için sürüm 10.0.0-23.0.4 (Aralık 2016-Aralık 2023) aralığını etkiliyor. Bu, CompleteFTP kullanıcılarının güncelleme yapması gerektiği anlamına geliyor.
Gelecekte Ne Bekleniyor?
Bu güvenlik açıkları internetteki az sayıda sunucuyu etkilese de, asıl önemli çıkarım, bağımsız kriptografik uygulamaların benzer şekilde başarısız olabileceğidir. Daha fazla uygulama aynı hataları içerebilir ve bu nedenle kriptanalitik algoritmaların bu tür başarısızlıklara göre uyarlanması önemlidir.
Önemli Gelişmeler
RSA anahtarları, çarpanlara ayırma probleminin zorluğuna dayanır. Sıfır blokları, modülün çarpanlara ayrılmasını kolaylaştırarak özel anahtarın ele geçirilmesine olanak tanır. Badkeys projesi, bu tür zayıf anahtarları tespit etmek için bir araç sunuyor. Kullanıcılar, kamuya açık anahtarlarını Badkeys ile kontrol ederek güvenliklerini test edebilir.
Bu keşif, kriptografik uygulamaların geliştirilmesinde rastgele sayı üretiminin ne kadar kritik olduğunu bir kez daha gösteriyor. Sıfır blokları, zayıf bir rastgele sayı üretecinin veya yanlış bir uygulamanın sonucu olabilir. Geliştiricilerin, anahtar oluşturma süreçlerini dikkatlice incelemesi ve Badkeys gibi araçları kullanarak anahtarlarının güvenliğini doğrulaması önerilir.
Kaynak: schneier.com