SSL sunucularındaki PKCS #1 v1.5 dolgusuyla ilgili 1998’de keşfedilen ve çözüldüğüne inanılan bir kusur, günümüzde hala yaygın olarak kullanılan birçok projeyi etkilemektedir.
Red Hat araştırmacıları, uçtan uca operasyonları ölçen kapsamlı testlerden sonra, orijinal zamanlama saldırısının, toplu olarak ‘Marvin Saldırısı’ olarak adlandırılan ve düzeltmeleri ve hafifletici önlemleri etkili bir şekilde atlayabilen çeşitli varyasyonlarını keşfetti.
Sorun, saldırganların potansiyel olarak RSA şifreli metinlerinin şifresini çözmesine, imzaları taklit etmesine ve hatta savunmasız bir TLS sunucusunda kayıtlı oturumların şifresini çözmesine olanak tanıyor.
Araştırmacılar, standart donanım kullanarak Marvin Saldırısını yalnızca birkaç saat içinde gerçekleştirmenin mümkün olduğunu ve bunun pratikliğini kanıtladılar.
Red Hat, güvenlik açığının RSA ile sınırlı olmadığı, çoğu asimetrik kriptografik algoritmaya yayılarak onları yan kanal saldırılarına karşı savunmasız hale getirdiği konusunda uyarıyor.
Yapılan testlere göre aşağıdaki uygulamalar Marvin Saldırısına karşı savunmasızdır:
- OpenSSL (TLS düzeyi): RSA Şifre Çözmede Oracle’ın Zamanlanması – CVE-2022-4304
- OpenSSL (API düzeyi): PKCS#1 v1.5 dolgusu ile RSA şifre çözme API’sinin kullanımını güvenli hale getirin – CVE yok
- GnuTLS (TLS seviyesi): ClientKeyExchange’teki hatalı biçimlendirilmiş RSA şifreli metinlerine verilen yanıt süreleri, doğru PKCS#1 v1.5 dolgusuna sahip şifreli metinlerin yanıt sürelerinden farklıdır. -CVE-2023-0361
- NSS (TLS düzeyi): RSA işlemlerinde sürekli zamanlılığı iyileştirin. -CVE-2023-4421
- pyca/kriptografi: RSA şifre çözme işlemine yönelik Bleichenbacher saldırılarını hafifletmeye çalışın; etkisiz olduğu tespit edildi; bunun yerine OpenSSL düzeyinde bir düzeltme gerektirir. -CVE-2020-25659
- M2Kripto: RSA şifre çözme API’sindeki Bleichenbacher zamanlama saldırılarını azaltın; etkisiz olduğu tespit edildi; bunun yerine OpenSSL düzeyinde bir düzeltme gerektirir. – CVE-2020-25657
- OpenSSL-ibmca: RSA PKCS#1 v1.5 ve sürüm 2.4.0’daki OAEP dolgusu için sabit zamanlı düzeltmeler – CVE yok
- Gitmek: crypto/rsa DecryptPKCS1v15SessionKey’de sınırlı sızıntı var – CVE yok
- GNU Milletvekili: mpz_powm_sec sonuçta sıfır yüksek dereceli bit sızdırıyor – CVE yok
Bireysel uygulamaların çeşitliliği ve karmaşıklığı nedeniyle, RSA şifre çözmedeki temel bir kusuru, özellikle doldurma hatalarının nasıl yönetildiğini vurgulamasına rağmen, Marvin Saldırısı karşılık gelen bir CVE’ye sahip değildir.
Dolayısıyla, Marvin Saldırısı kavramsal bir kusur olsa da evrensel olarak uygulanabilecek tek bir düzeltme veya yama yoktur ve benzersiz kod tabanları ve RSA şifre çözme uygulaması nedeniyle sorun her projede farklı şekilde ortaya çıkar.
Araştırmacılar, RSA PKCS#1 v1.5 şifrelemesinin kullanılmasına karşı tavsiyede bulunuyor ve etkilenen kullanıcıları, satıcılardan alternatif geriye dönük uyumluluk yolları sağlamalarını istemeye veya talep etmeye teşvik ediyor.
Marvin Attack sayfasının Soru-Cevap bölümü, RSA’yı basitçe devre dışı bırakmanın güvende olduğunuz anlamına gelmediği konusunda uyarıyor.
RSA anahtarı veya sertifikası, onu destekleyen bir sunucunun başka bir yerinde (SMTP, IMAP, POP posta sunucuları ve ikincil HTTPS sunucuları) kullanılırsa risk aynıdır.
Son olarak Red Hat, yan kanal saldırılarına karşı iyi direnç sağlayan Seviye 4 sertifikası dışında, FIPS sertifikasyonunun Marvin Saldırısına karşı korumayı garanti etmediği konusunda uyarıyor.
Marvin Attack’ın bilgisayar korsanları tarafından yaygın olarak kullanıldığına dair belirgin bir işaret olmamasına rağmen, testlerin ve bulanık kodların ayrıntılarının ve bazı bölümlerinin açıklanması, bunun kısa sürede gerçekleşme riskini artırıyor.
Marvin Saldırısı’nın daha teknik ayrıntılarına dalmak isteyenler için, birkaç ay önce yayınlanan bir makale, sorunu daha derinlemesine ele alıyor ve etkisini değerlendirmek için yapılan testleri içeriyor.