Heartbleed: Son zamanların en kapsamlı güvenlik açığı

Teknoloji dünyasını az da olsa takip ediyorsanız eminim Heartbleed açığını duymuşsunuzdur. İnternette bu konu hakkında birçok şey konuşuluyor, biz de aklınıza takılabilecek soruların cevaplarını verelim istedik.

Öncelikle konuyla ilgili genel bir bilgi verelim. Günümüzde kullandığımız birçok sistem birbiriyle iletişim kurmak durumundadır. Örnek vermek gerekirse, yazıcıdan çıkarmak istediğimiz bir dökümanın yazıcıya gönderilmesi, arkadaşlarımızın Facebook profillerinin ya da banka hesaplarımızın bilgisayarda görüntülenmesi bu tarz bir iletişim gerektirir. Aktarılan bilgiler içeriği 'Ne haber?' olan bir mesaj gibi çok önemsiz bilgiler olabileceği gibi, banka hesaplarınızın parolaları gibi çok önemli bilgiler de olabilir. İşte bu tarz önemli bilgilerin korunması için belli yöntemler kullanılmaktadır. Şifreleme de bu yöntemlerin bir tanesi.

Şifrelemenin ne demek olduğunu basitçe anlatmak gerekirse:

  • Bilgiyi gönderen ve alan kişilerde şifrelemeyi ve şifreyi çözmeyi sağlayan gizli anahtarlar bulunur.
  • Bilgi gönderilirken şifrelenerek gönderilir, böylece bu bilgi alıcıya ulaşana kadar kimse tarafından görülemez.
  • Şifrelenmiş bilgi alıcıya ulaştığı zaman alıcı kendi anahtarını kullanarak bu şifreyi çözer ve gönderenin mesajını güvenli bir şekilde almış olur.

Örneğin, bankanızın web sitesine kullanıcı adınız ve parolanızla giriş yaptığınızda web tarayıcınız bu bilgileri şifreleyip bankanın sunucusuna gönderir. Bankanın sunucusu da hesap bilgilerinizi şifreleyip web tarayıcınıza geri gönderir, web tarayıcınız da bu bilgiyi anlamlı bir şekilde size gösterir.

Bu şifreleme, şifre açma işlemini sağlayan belli yazılım kütüphaneleri vardır, bunlardan en yaygınlarından biri OpenSSL'dir.

İşte bu bahsi geçen Heartbleed açığı bu kütüphanenin belli versiyonlarında bulunmaktadır ve bu kütüphane çok yaygın bir şekilde kullanıldığından ötürü, gerekli önlemler alınmazsa kullanıcıların gizliliği ve güvenliği tehlike altındadır.

![](/media/heartbleed.svg)

Peki nedir bu Heartbleed açığı?

CVE-2014-0160 kodlu Heartbleed açığı herhangi bir kişinin, OpenSSL kullanan belli sistemlerin hafızasında o an bulunan bilgilerin bir kısmını okuyabilmesine yol açan bir güvenlik açığıdır. OpenSSL'in 14 Mart 2012'de yayınlanan 1.0.1 sürümünden başlamak üzere, 7 Nisan 2014'te yayınlanan 1.0.1g sürümünden önceki bütün sürümlerinde bu açık mevcuttur.

Bu sistemler ne kadar yaygın?

OpenSSL kullanan sistemlerin en yaygınları web sunucuları. Netcraft'ın 2014 Web Sunucuları Anketi'ne göre, OpenSSL kullanan Apache ve nginx, bütün aktif internet sitelerinin yüzde 66'sını oluşturmakta. Bunların yanında email sunucuları, oyun sunucuları, mesajlaşma servisleri gibi birçok sistem OpenSSL kullanmakta. Açığın bulunduğu ilk sürümden bu yana iki yıl geçmesi ve bu sürümlerin getirdiği yeniliklerden ötürü çok yaygın olduğu düşünülmekte.

Ne tarz bilgiler?

Şifrelenmiş bilgiler. Bu bilgiler emailler gibi kişisel bilgiler olabileceği gibi, kullanıcı adı, parola tarzı bilgiler de olabilir. Bu açığın bulunduğu bir web sitesinde kullandığınız parolayı başka web sitelerinde de kullanıyorsanız, oradaki bilgileriniz de tehlike altında demektir.

Şifreleme anahtarları. Az önce belirttiğim gibi bu anahtarlar şifrelemeyi çözmekte kullanılıyor ve bunlara sahip olan kişi o andan itibaren gerçekleşen bütün iletişimi görebiliyor. Bunun yanında eğer önceden gerçekleşmiş bir iletişim kaydedilmiş ise o bilgileri de aynı anahtar ile deşifre edip görebilmek mümkün.

Hafıza adresleri, güvenlik önlemleri vs. Bunlar, sistemle ilgili daha fazla bilgi almak ve başka açıkların varlığını tespit etmekte kullanılabilir.

Sistemimde bu açık var mı? Kullanan oldu mu? Nasıl kapatabilirim?

Sisteminizin OpenSSL sürümüne ve derleme parametrelerine bakarak açığın mevcut olduğu bir sürüm kullanıp kullanmadığınıza bakabileceğiniz gibi bu amaç için yapılmış [araçları] da (https://www.google.com/search?q=heartbleed+test) kullanabilirsiniz.

Herhangi birisinin bu açığı kullanarak sisteminizden bilgi çalıp çalmadığı ne yazık ki tek başına tespit edilemiyor.

Açığı kapatmanın yolu OpenSSL versiyonunu 1.0.1g ya da daha yeni bir sürüme güncellemek. Eğer bu mümkün değilse OpenSSL'i -DOPENSSL_NO_HEARTBEATS parametresiyle tekrar derlemek gerekiyor. Ancak yapılacaklar bu kadarla bitmiyor, şifreleme anahtarı da sızan bilgilerden biri olabileceği için, SSL sertifikanızı yeni anahtarlarla güncellemeniz gerekiyor. Bundan sonra da olası bir bilgi sızmasına karşı, sisteminizin kullanıcılarını uyarıp, varsa kullanıcı adı ve parolalarını değiştirmelerini söyleyebilirsiniz.

Kullanıcı olarak kendimi nasıl koruyabilirim?

Öncelikle kullandığınız sistemlerin bu açıktan etkilenip etkilenmediğini öğrenmenizde fayda var. Birçok şirket, kullanıcılarına açığı kapattıklarını ya da açıktan etkilenmediklerini ilettiler. Böyle bir ileti almadıysanız kullandığınız sistemlerin sahip ya da sorumlularıyla iletişime geçin.

Eğer açıktan etkilenmiş bir sistem kullanıyorsanız, bu sistemde kullandığınız parolalar varsa onları açık kapatıldıktan sonra değiştirin. Burası çok önemli olduğu için tekrar etmekte fayda görüyorum: Parolalarınızı açık kapatıldıktan sonra değiştirin, çünkü öncesinde değiştirirseniz bir saldırgan yeni parolanızı da açığı kullanarak görebilir.

Açık nasıl ortaya çıktı?

Bu açık, birbirinden bağımsız ama eş zamanlı olarak Finlandiya'daki Codenomicon isimli güvenlik şirketinin mühendisleri ve bir Google Security çalışanı tarafından bulundu ve OpenSSL geliştiricilerine rapor edildi.

Kendine ait logosu ve web sitesi olan ilk hata / güvenlik açığı

Bu açığın her gün kullanılan çok sayıda sistemi etkileyeceği düşünüldüğü için farkındalığı artırmak amacıyla, Codemonicon tarafından dikkat çekici bir logo ve web sitesi hazırlanmış.

Daha fazla bilgi nereden alabilirim?

Daha fazla bilgi için heartbleed.com web sitesine yada bu yazının sonundaki referanslara bakabilirsiniz.

Referanslar