SSL Sertifika Analizi Açık Port Tespiti Web Uygulama Tarama DNS Güvenlik Denetimi HTTP Başlık Analizi Yanlış Yapılandırma Tespiti Yazılım Parmak İzi Alt Alan Adı Tarama
SSL Sertifika Analizi Açık Port Tespiti Web Uygulama Tarama DNS Güvenlik Denetimi HTTP Başlık Analizi Yanlış Yapılandırma Tespiti Yazılım Parmak İzi Alt Alan Adı Tarama

Tüm Kayıtlar

Kategori Kriptografik Zafiyet / Dolgu Oracle
Tipik Önem Derecesi Yüksek
OWASP A02:2021 – Kriptografik Hatalar
CWE CWE-203 (Gözlemlenebilir Tutarsızlık), CWE-326 (Yetersiz Şifreleme Gücü)
CVE'ler CVE-2017-13099, CVE-2017-6168, CVE-2017-17382, CVE-2017-17427, CVE-2017-17428 (satıcıya özgü)
Diğer adları ROBOT, Return Of Bleichenbacher's Oracle Threat, Bleichenbacher RSA Saldırısı
Etkilenen sistemler RSA anahtar değişimini (PKCS#1 v1.5) destekleyen TLS/SSL sunucuları; F5, Citrix, Cisco, Radware, Bouncy Castle dahil çeşitli satıcılar (2017 açıklaması)
İlk yayın Özgün Bleichenbacher saldırısı: 1998; ROBOT yeniden keşfi: Aralık 2017

Genel Bakış

ROBOT Saldırısı (Return Of Bleichenbacher's Oracle Threat), Daniel Bleichenbacher tarafından 1998'de tanımlanan kriptografik bir zafiyetin pratik olarak kullanılmasıdır. RSA ile PKCS#1 v1.5 dolgusu kullanan TLS sunucularını hedef alır. Neredeyse yirmi yıl önce keşfedilmesine karşın, araştırmacılar 2017'de bu zafiyeti büyük ticari TLS uygulamalarında aktif biçimde mevcut olarak yeniden tespit etmiştir.

Temel sorun, bazı sunucuların farklı hata mesajları, zamanlama farkları veya davranışsal tutarsızlıklar aracılığıyla RSA şifreli bir metnin geçerli PKCS#1 v1.5 dolgusu içerip içermediğini açığa çıkarmasıdır. Bu bilgi sızıntısı, bir saldırganın sunucunun özel anahtarına hiç sahip olmadan düz metni yeniden oluşturmak veya imzaları taklit etmek için binlerce ile milyonlarca kez sorgulayabileceği bir oracle oluşturur.

Nasıl çalışır?

RSA PKCS#1 v1.5 (RFC 2313 ve sonrasında RFC 8017'de tanımlanmıştır), dolgulu bir iletinin 0x00 0x02 bayt dizisiyle başlaması, ardından sıfır olmayan rastgele dolgu baytları ve bir 0x00 ayırıcı içermesi gerektiğini belirtir. TLS RSA anahtar değişiminde istemci, sunucunun RSA genel anahtarını kullanarak bu dolgu şemasıyla ön-ana sır'ı şifreler.

Bleichenbacher'ın uyarlamalı seçili şifreli metin saldırısı şu şekilde işler:

  • Oracle tespiti: Saldırgan, hedef sunucunun gönderilen bir RSA şifreli metnin PKCS#1 v1.5 dolgu kurallarına uygun çözülüp çözülmediğine göre farklı yanıtlar (farklı uyarı türü, farklı zamanlama veya bağlantı davranışı) verdiğini belirler.
  • Şifreli metin körleme: Saldırgan, meşru bir RSA şifreli metni (örneğin bir TLS el sıkışmasından yakalanan) ele geçirir ve sunucunun ortak modülü n üzerinde seçilmiş körleme faktörleriyle çarpar; böylece sunucunun çözeceği değiştirilmiş şifreli metinler üretir.
  • Yinelemeli daraltma: Saldırgan, binlerce ile milyonlarca özel hazırlanmış şifreli metni göndererek ve oracle yanıtlarını gözlemleyerek, aralık aritmetiği kullanarak olası düz metin değerlerinin aralığını giderek daraltır ve sonunda özgün düz metni kurtarır.
  • İmza sahteciliği: RSA imzalama ve şifre çözme matematiksel olarak eşdeğer işlemler olduğundan, aynı oracle keyfi iletiler için geçerli RSA imzaları üretmek ve sunucuyu taklit etmek amacıyla kullanılabilir.
  • Özel anahtar gerekmez: Saldırının tamamı yalnızca sunucunun genel anahtarı ve oracle kullanılarak gerçekleştirilir; özel anahtar hiçbir zaman doğrudan ele geçirilmez.

2017'de tespit edilen modern varyantlar, uygulamaya özgü zamanlama yan kanalları sayesinde, özgün teorik analizde tahmin edilen ~1.000.000 sorguya kıyasla yalnızca ~17.000 oracle sorgusu gerektirmiştir. Bazı durumlarda zafiyetler, kurumsal yük dengeleyiciler ve TLS sonlandırma cihazlarında on yılı aşkın süredir var olan hatalı hata işleme kodundan kaynaklanmıştır.

Saldırı yalnızca RSA anahtar değişimini kullanan TLS şifre paketlerini etkiler (örn. TLS_RSA_WITH_AES_128_CBC_SHA). İleri gizlilik sağlayan Diffie-Hellman veya ECDHE anahtar değişimini kullanan şifre paketlerini etkilemez.

İş etkisi

Başarılı bir ROBOT saldırısının birkaç ciddi sonucu vardır:

  • Pasif oturum şifre çözümü: Zafiyetli bir RSA anahtar değişimiyle şifrelenmiş TLS trafiğini kaydetmiş bir saldırgan, bu trafiği geriye dönük olarak çözebilir; kimlik bilgileri, oturum belirteçleri ve hassas uygulama verileri açığa çıkar.
  • Aktif ortadaki adam saldırısı: TLS oturumlarının gerçek zamanlı çözülmesi, iletişimlerin fark edilmeden ele geçirilip değiştirilmesine olanak tanır.
  • RSA imza sahteciliği: Saldırganlar TLS sunucu imzalarını taklit edebilir; bu durum sunucu kimlik doğrulamasını baltalayarak istemcilere yönelik kimlik avı saldırılarına zemin hazırlar.
  • Mevzuat riski: Kriptografik hata nedeniyle şifreli verilerin ifşa edilmesi, GDPR, PCI-DSS, HIPAA ve benzer çerçeveler kapsamında ihlal bildirimi yükümlülüklerini tetikleyebilir.
  • İtibar kaybı: Üretim sistemlerinde 20 yıllık geçmişe sahip köklü bir kriptografik zafiyetin kamuoyuna duyurulması ciddi itibar riski taşır.

Nasıl düzeltilir?

  1. RSA anahtar değişimi şifre paketlerini devre dışı bırakın: TLS yapılandırmanızdan tüm TLS_RSA_* şifre paketlerini kaldırın. Bu paketler saldırının ön koşuludur. Yalnızca ileri gizlilik de sağlayan geçici Diffie-Hellman (DHE) veya eliptik eğri Diffie-Hellman (ECDHE) anahtar değişimini kullanan şifre paketlerini etkin bırakın.
  2. Satıcı yamalarını uygulayın: RSA anahtar değişimini hemen devre dışı bırakmak mümkün değilse, TLS uygulamanız veya cihazınız için yayımlanan tüm satıcı yamalarını uygulayın. Ürününüze özgü CVE listesine (F5 BIG-IP, Citrix NetScaler, Cisco ACE vb.) başvurun.
  3. Sabit zamanlı RSA şifre çözümü uygulayın: TLS kütüphanesi geliştiricileri için RSA PKCS#1 v1.5 şifre çözme hataları, rastgele üretilmiş bir ön-ana sır yedeğiyle sabit zamanlı biçimde işlenmelidir (RFC 5246 Bölüm 7.4.7.1 ve RFC 8446'daki güncel rehbere uygun olarak).
  4. TLS 1.3'e geçin: TLS 1.3 (RFC 8446), RSA anahtar değişimini protokol kapsamından tamamen kaldırır ve ileri gizlilik sağlayan anahtar değişimini zorunlu kılar; bu sayede söz konusu zafiyet sınıfı tasarım gereği ortadan kalkar.
  5. TLS yapılandırmasını düzenli olarak denetleyin: Yapılandırma değişikliklerinin veya yazılım yükseltmelerinin ardından hiçbir RSA anahtar değişimi şifre paketinin etkin kalmadığını doğrulamak için otomatik tarama kullanın. Sensagraph bu zafiyeti otomatik olarak tespit eder.
  6. Sertifika kullanımını gözden geçirin: RSA sertifikanız zafiyetli şifre paketleriyle birlikte kullanıldıysa ve bir saldırganın trafiği kaydetmiş olabileceğinden şüpheleniliyorsa sertifikayı yenilemeyi ve eskisini iptal etmeyi değerlendirin; ancak bu işlemin oracle aracılığıyla çözülebilecek önceden kaydedilmiş oturumları korumadığını unutmayın.

Kaynaklar

Sıkça sorulan sorular

ROBOT (Return Of Bleichenbacher's Oracle Threat), RSA PKCS#1 v1.5 anahtar değişimini kullanan TLS sunucularına yönelik bir dolgu oracle saldırısıdır. Sunucunun özenle hazırlanmış RSA şifreli metinlerine verdiği yanıtlardaki gözlemlenebilir farkları istismar eden bir saldırgan, sunucunun özel anahtarına sahip olmadan kayıtlı TLS oturumlarını çözebilir veya RSA imzalarını taklit edebilir.

TLS 1.2 desteği tek başına sunucuyu zafiyetli yapmaz. Zafiyet, TLS_RSA_* şifre paketlerinin (RSA anahtar değişimi) etkin olup olmadığına ve temel uygulamanın dolgu oracle açığını barındırıp barındırmadığına bağlıdır. Yalnızca ECDHE veya DHE şifre paketlerini ya da yalnızca TLS 1.3'ü kullanan sunucular etkilenmez.

Oracle sorgusu sayısı uygulamaya göre değişir. 1998'deki özgün Bleichenbacher analizi bir milyona kadar sorgu öngörmüştür. 2017 ROBOT araştırması, belirli zafiyetli uygulamalara karşı yalnızca 17.000 sorguyla pratik saldırılar gerçekleştirildiğini ortaya koymuş ve gerçek zamanlı saldırıları uygulanabilir hâle getirmiştir.

Evet. İleri gizlilik sağlayan şifre paketleri (ECDHE, DHE), geçici oturum anahtarları oluşturur ve anahtar değişimi için RSA şifre çözmeye dayanmaz; dolayısıyla Bleichenbacher oracle bu paketlere uygulanamaz. RSA anahtar değişimi şifre paketlerini devre dışı bırakmak ve yalnızca ECDHE/DHE kullanmak birincil çözüm yöntemidir.

Evet. TLS 1.3, RSA anahtar değişimini protokol belirtiminden tamamen kaldırır ve ileri gizlilik sağlayan anahtar değişimini zorunlu kılar; bu sayede ROBOT'un istismar ettiği zafiyet sınıfı tasarım gereği ortadan kalkar.

Hayır. Sertifika yenileme, temel oracle zafiyetini gidermez ve yapılandırma zafiyetliyken kaydedilmiş trafiği korumaz. Doğru çözüm RSA anahtar değişimi şifre paketlerini devre dışı bırakmak ve satıcı yamalarını uygulamaktır. Sertifika yenileme, anahtar güvenliğinin tehlikeye girdiğinden şüphelenilmesi durumunda ek bir önlem olarak değerlendirilebilir.