Drown atağı

Vikipedi, özgür ansiklopedi
Gezinti kısmına atla Arama kısmına atla
DROWN logo.svg

DROWN atağı TLS protol suitinin, artık güvensiz olarak bilinen SSL v2 protokolünü desteklemesi sebebiyle yapılabilmektedir[1][2]. DROWN, TLS ile hizmet veren bununla birliklte SSL v2 protokolünü destekleyen ve iki protokol arasında aynı açık anahtar bilgilerini paylaşan tüm sunucular üzerinde etkilir[3] . Ek olarak eğer açık anahtar sertifikası SSLv2 destekleyen farklı bir sunucu üzerinde kullanılıyor ise, TLS sunucusu yine bu zafiyetten etkilenerek bilgi sızıntısına maruz kalmaktadır[3].

Bu atak ile ilgili ayrıntılı bilgiler Mart 2016 da yayınlandı ve CVE ID CVE-2016-0800[4] olarak zafiyet veritabanlarında yerini aldı. Eğer sertifika SSL v2'yi destekleyen başka bir sunucu üzerinde bulunuyor ise uygulanan yama işe yaramamaktadır.

Araştırmacılar HTTPS sitelerinin yaklaşık %33'ünün bu zafiyetten etkilendiğini belirtmektedirler[5]

Atağın temsili resmi olarak sağdaki resim kullanılmaktadır.

Detaylar[değiştir | kaynağı değiştir]

DROWN, ingilizce bir kısaltma olup "Decrypting RSA with Obsolete and Weakened eNcryption" kelimerinden türemektedir[6]. Bu zafiyet bir uygulama zafiyetinden ziyade protokollerin kombinasyonu ve sunucu konfigürasyonlarını sömürmektedir. Zafyeti keşfendenlere göre, zafiyet istemci yazılımlarında (örneğin web tarayıcıları) yapılacak değişiklikler ile giderilemeyecek bir zafiyet olarak nitelendirilmektedir[3].

Zafiyetin sömürülmesi "seçilen şifreli mesaj atağı" (chosen-ciphertext attack)'nın SSLv2 sunucusunun Bleichenbacher oracle olarak kullanılmasını içermektedir. Örnek atak cloud üzerinde ve çoklu GPU kullanan platformlarda denenmiştir. Başarılı bir atak ile, ağ dineleme yoluyla elde edilmiş TLS el sıkışma paketleri içerisindeki oturum anahtarı elde edilebilmektedir.

Saldırgan, öncelikle istemci ve sunucu arasında belirli bir sayıda herhangi bir versiyondaki TLS protokolünün oturum bilgisini toplamalıdır. Kaydedilen oturum bilglerinden birisinin şifresi çözülecektir. Araştırmacılara göre yaklaşık 1000 oturum bilgisi atağın başarı olması için yeterlidir.

Saldırgan oturum bilgilerin topladıktan sonra sunucuya birçok SSLv2 bağlantısı açar. Bu bağlantıların bazılarında, saldırgan 40-bit (SSLv2 EXPORT şifreleme) veya 56-bit (DES suitleri) oturum anahtarına kaba-kuvvet saldırısı yapmak zorundadır. Araştırmacılara göre yaklaşık 40000 bağlantı yeterli olmaktadır.

Kaba-kuvvet atağından sonra saldırgan "premaster gizli anahtarı"nın şifresini çözebilmektedir. Bu anahtar simetrik oturum anahtarlarını üretmekte kullanılmakta böylelikle kaydedilen tüm SSL/TLS oturumlarının şifreleri çözülebilmektedir. Şifresi çözülen oturumlar üzerinde oturum doğrulama bilgileri veya çerezler gibi kritik bilgiler elde edilebilir.

Zafiyeti ilk olarak açıklayanlar Nimrod Aviram and Sebastian Schinzel[7] adında güvenlik araştırmacılarıdır.

Önleme/İndirgeme[değiştir | kaynağı değiştir]

DROWN atağından korunmak için sunucuyu yöneten kişilerin açık anahtarlamalı altyapılarda kullanılan özel anahtarın SSLv2 desteklenen bir sunucu yazılımı üzerinde kullanılmadığından emin olmalıdırlar.

WEB, SMTP, IMAP ve POP sunucularının yanında SSL/TLS kullanan tüm yazılımların kontrol edilmesi gerekmektedir.[8]

OpenSSL grubu güvensiz ve ömrünü doldurmuş protokol ve şifreleme algorithmalarının kaldırılması için bir güvenlik önerisi yayınladı.[9]

Kaynakça[değiştir | kaynağı değiştir]

  1. ^ Leyden, John (1 Mart 2016). "One-third of all HTTPS websites open to DROWN attack". The Register. 11 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Mart 2016. 
  2. ^ Goodin, Dan (1 Mart 2016). "More than 11 million HTTPS websites imperiled by new decryption attack". Ars Technica. 13 Nisan 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Mart 2016. 
  3. ^ a b c Nimrod Aviram, Sebastian Schinzel, Juraj Somorovsky, Nadia Heninger, Maik Dankel, Jens Steube, Luke Valenta, David Adrian, J. Alex Halderman, Viktor Dukhovni, Emilia Käsper, Shaanan Cohney, Susanne Engels, Christof Paar, and Yuval Shavitt. DROWN: Breaking TLS using SSLv2, 2016
  4. ^ "National Cyber Awareness System Vulnerability Summary for CVE-2016-0800". web.nvd.nist.gov. 20 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Mart 2016. 
  5. ^ "DROWN Attack". drownattack.com. Erişim tarihi: 24 Mart 2016. 
  6. ^ "New TLS decryption attack affects one in three servers due to legacy SSLv2 support". PCWorld. 6 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Mart 2016. 
  7. ^ "DROWN - Cross-protocol attack on TLS using SSLv2 - CVE-2016-0800 - Red Hat Customer Portal". access.redhat.com. 8 Nisan 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Mart 2016. 
  8. ^ "DROWN Attack". 1 Mart 2016. 
  9. ^ "Cross-protocol attack on TLS using SSLv2 (DROWN) (CVE-2016-0800)". OpenSSL. 1 Mart 2016. 11 Nisan 2016 tarihinde kaynağından arşivlendi.