spacer.png, 0 kB
Bilgi için: bilgi at bilgiguvenligi gov tr   

 

spacer.png, 0 kB
spacer.png, 0 kB
Yazarın bu bölümdeki diğer yazıları...
SSL' de Araya Girme Saldırıları ve Güvenlik Önlemleri Yazdır E-posta
Abdurrahim ÖZEL, TÜBİTAK BİLGEM   
11.11.2013

SSL; istemci ile sunucu arasındaki trafiği şifreleyerek güvenli haberleşmeyi sağlayan bir güvenlik  protokolüdür.Şifrelenmiş oturumu kurmak için el sıkışma(SSL handshake) yöntemi kullanır ve bu işlem sırasında sertifika doğrulaması,kullanılacak şifreleme algoritmaları ve desteklenen versiyon bilgileri vs. belirlenir.Bu protokolün çalışması sırasında uygulanan sertifika doğrulama işlemi, sertifikayı web sitesinin kimliği şeklinde ifade edersek istemci ile sunucu arasında yapılacak olan haberleşmenin gerçekten doğru kişiler arasında mı olduğunu ispatlamak için uygulanır.

 

SSL protokolü kullanılan bir trafikte araya girip trafik dinlenebilir(MITM:Man in the middle attack).Fakat SSL’ de araya girme saldırılarının  başarılı olmama sebeplerinden biri de, araya giren saldırganın(Hacker) ürettiği sahte sertifikayı bir şekilde kurbana kabul ettirmesi gerekliliğidir.Saldırgan sahte sertifika ile trafiği dinlemeye başladığında onaylı bir sertifika olmadığı için kurban tarayıcı tarafından uyarı ile karşılaşır ve trafiği dinlemesi engellenir.

man-in-the-middle.png
Şekil 1. Man in the middle attack saldırısı şeması

Günümüz tarayıcıları bu duruma karşılık gerekli önlemleri almış ve hatta sertifika hatası alınmış olan sayfayı terk etmesi için kullanıcıyı ikna etmek adına bir takım önlemler almıştır.Ne yazık ki bu önlemlerin kullanışlılık ve kullanıcıyı ikna etme açısından çok başarılı olduğu söylenemez. Bir çok kullanıcı tehlikenin farkında olmadan gelen uyarıyı kabul edip işlemlerine devam etmektedir.Aşağıdaki ekran görüntüsün de Google Chrome tarayıcısının trafikte araya girildiğini tespit etmesi durumunda verdiği hatayı görebiliriz.Kullanıcı böyle bir uyarıdan sonra devam etmesi eskiye oranlı daha az bir ihtimal haline gelmiştir.Fakat kesin bir çözüm değildir.  

2013-11-07_112955.jpg
Şekil 2. Chrome sertifika hatası gösterir ekran çıktısı.

Peki bu aşamada SSL’de bir şekilde araya giripkurbanın haberi olmadan ve yukarıdaki gibi sahte sertifika hatası alınmadan trafik dinlenebilir mi? 

Kurulan trafiğin güvenliğinden bahsederken SSL’in yanında kullanılan diğer protokollerinde güvenliği göz önünde bulundurulmalıdır.Günümüzde bir çok web sitesinde HTTP ve HTTPS protokollerinin birlikte desteklendiğini görebiliriz.Örneğin;E-ticaret ve internet tabanlı E-Posta uygulamaları .HTTP protokolü ile HTTPS protokolünün beraber kullanılması ile birlikte HTTP protokolünün güvenlik zafiyetinden HTTPS’te etkilenir.Bu duruma rağmen web siteleri her iki protokolü de destekleme sebebi olarak performans sorunu gösterilebilir.HTTPS protokolü kullanımı sırasında belirlenen parametreler sırasında yoğun bir trafik akışı olması sistem performansına yansır.Bunun için web siteleri önemli bir işlem gerçekleştirileceği zaman HTTPS protokolüne yönlendirme yaparlar.Örneğin; İnternet tabanlı E-Posta uygulamaları(Gmail,Yahoo).

Zafiyet İstismarı 

Uygulamaların yukarıda anlatılan her iki protokol'ün birlikte kullanılması sonucu ortaya çıkan zafiyeti istismar eden araçlar yazılmıştır.Bu araçlardan biri kullanılarak bu zafiyetin istismar edilmesi ve ayrıca bu tür saldırılara karşı alınabilecek önlemlerden bahsedilecektir.

SSL Strip HTTP ve HTTPS protokollerinin birlikte desteklendiği sistemlerde ortaya çıkan güvenlik zafiyetini kullanarak aradaki trafiği dinlemek ve değişiklik yapmak için geliştirilen bir araçtır.[ Bknz 1]

ssl-strip.png
Şekil 3. SSL Strip aracı çalışma mantığı gösterir ekran görüntüsü.

Şekilde de görüldüğü üzere kurban her iki protokolünde(HTTP-HTTPS) desteklendiği uygulamaya (Örn: E-Posta,E-Ticaret) öncelikle HTTP üzerinden(http://www.gmail.com.tr) giriş yapar.Bu durumda araya giren saldırgan(attacker) SSL Strip ile kurbanın yapmış olduğu istek içerisinde bulunan HTTPS bağlantılarını da HTTP’ ye çevirerek kurban ile arasında HTTP trafiği başlatır.Aynı zamanda kurbanın yapmış olduğu isteği de sunucu ile kendisi arasında HTTPS bağlantısı kurarak başlatır.Bu aşamada kullanıcı bir istekte bulunduğunda saldırgana(attacker) HTTP ile bağlanır  ve saldırgan(attacker) yapılan isteğin içerisindeki değişiklikleri(Kullanıcı adı şifre vs) algılayarak sunucuya yönlendirir.Saldırgana gelen sunucu cevabı da daha sonra kurbana HTTP’ye çevrilerek  yönlendirilir.Bu konumda kurbanın yapmış olduğu tek hata HTTPS gerektiren bir işlem için uygulamaya erişim yöntemi olarak öncelikle HTTP ile siteye girip ordan HTTPS gerektiren uygulamaya yönlenmesi şeklinde ifade edilebilir.

Aşağıda bu araç ile HTTPS trafiğinin nasıl dinleneceği ile alakalı bir uygulama gerçekleştirilecektir.

Uygulama Linux dağıtımı olan Backtrack[Bknz 2] üzerinde gerçekleştirilecektir.SSL Strip Backtrack içerisinde kurulu olarak gelmektedir.SSL Strip ile alakalı ayrıntılı bilgi için[Bknz 1].Yapılacak adımlar adım adım anlatıldıktan sonra uygulamaya geçilecektir.

Öncelikle makinemizi yönlendirme moduna almamız gerekiyor.Kurban ile sunucu arasındaki trafiğin saldırgan(Hacker) üzerinden geçmesini sağlamak amacı ile şu komut çalıştırılır.

echo "1" > /proc/sys/net/ipv4/ip_forward

Tüm HTTP trafiğini saldırgan(Hacker) üzerinden geçirmek için iptables içerisine kural girilir. 80 port'una gelen istekler SSL Strip’in dinlediği porta yönlendirilir.SSL Strip için varsayılan port 10000. porttur.İptables güvenlik duvarına girdiğimiz kuralın çalışması için /etc/etter.conf dosyası altında bulunan #if you use iptables ile başlayan kısmın şekilde gösterildiği gibi başındaki # işareti silinmelidir. 

iptables.png
Şekil 4. İp tables configürasyon ayarlarıgösterir ekran görüntüsü.

Ve daha aşağıdaki mot ile sonra ip tables kural girişi tamamlanır.

iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port <listenPort>

SSL Strip uygulaması çalıştırılır. Bu şekilde 10000. port dinlemeye alınmış olunur.

-a: parametresi ile HTTP ve HTTPS olan bütün trafik kaydedilir.
-k: parametresi ile daha önce var ise kurulmuş bütün oturumlar iptal edilir.
-f:parametresi ile normal şartlarda HTTPS ile yapılan isteklerde tarayıcıda bulunan sol üst taraftaki kilit işareti yerine bir favicon yerleştirilerek saldırının gücü arttırılmış olunur.
  /pentest/web/sslstrip altında sslstrip.py çalıştırılır.

./sslstrip.py -a -k –f

Tüm trafiğin saldırganın üzerinden akmasını ikna etmek için kurbana arpspoof[Bknz [3]] yapılır.Bu şekilde sunucudan gelen cevap ve istemciden giden istekte saldırganın(Hacker) üzerimizden geçmiş olacaktır.
Bu aşamaya kadar saldırı tamamlanmış olup saldırgan sadece bekleme aşamasına girer. Kurbanın yapmış olduğu istekler ve trafik sırasında akan parametreleri gözlemlemek için ettercap ağ izleme aracı başlatılır[Bknz 5].

Uygulama

kurban.png
 Şekil 5. Kurban bilgisayarı gösterir ekran görüntüsü.

Yukarıda anlatılan saldırı parametrelerini Backtrack üzerinde gerçekliyoruz. Aşağıda her bir sorgu ayrı terminal üzerinde çalıştırılarak gösterilmiştir. Saldırı yukarıda ip bilgileri 192.168.59.131 makinesine yönelik yapılmıştır. Bu şekilde kurbanın makinesi ile sunucu arasındaki trafik dinlenmeye başlanacak ve trafikte değişiklik yapabilecek düzeye gelinecektir.

s1.png
Şekil 6. Saldırı yapılırken çalıştırılan komutları gösterir ekran görüntüsü.

Bu aşamadan sonra saldırgan(Hacker) sadece kurbanın E-Posta,E-Ticaret vs uygulamalarına HTTP ile ziyaret etmesini ve kritik uygulamaya buradan yönelmesini bekler. Örnekte Gmail E-Posta uygulamasına http://www.google.com üzerinden erişilmiştir.

s2.png
Şekil 7. Saldırıya uğramış olan kurbanın Gmail linkinin HTTP'ye çevrilmiş olduğunu gösterir ekran görüntüsü.

Kurban http://www.google.com adresini ziyaret etmesi ile aslında Ssl Strip devreye girip yukarda anlatıldığı gibi tüm https linklerini http’ye dönüştürmüş oldu.Yukarıdaki ekran çıktısında görmüş olduğunuz gibi Gmail linki üzerinde durulmuş ve alt taraftan link adresinin http://mail.google.com olduğu gözlemlenmiştir. Normal şartlarda google mail sistemi https ile çalışırmaktadır. 

s3.png
Şekil 8. Saldırı sonucu HTTP olarak bağlanılmış olan Gmail sayfası.

Kurban mail sisteme giriş yapmak ister ve kullanıcıadı, şifre bilgilerini girer. Bu durumda saldırgan tarafında olan biteni aşağıdaki ekran çıktısı ile görebiliriz.

s4.png
Şekil 9. Saldırı sonrası kurbandan ele geçirilen bilgileri gösterir ekran görüntüsü.

Saldırgan HTTPS trafiğinde araya girmiş olup kurbanın kullanıcıadı ve şifre bilgilerini elde etmiş oldu. Dikkat edilmesi gereken nokta kurbanın mail sistemine giriş yaparken herhangi bir sertifika hatasını alınmamış olmasıdır.

Alınacak Önlemler

Bu tarz bir saldırıdan korunmak için öncelikle kullanıcının daha dikkatli olması gerekmektedir. Kritik bir uygulamaya(E-Posta,E-Ticaret) giriş yapılacak ise URL üzerinden gidilen adresin HTTPS olduğundan emin olunmalıdır.
Bankalar İnternet bankacılığı uygulamalarında bu tür saldırılara önlem almak amacı ile HTTP desteğini vermezler.Aşağıdaki ekran görüntüsünden de anlaşılacağı gibi kritik uygulamaya HTTP bağlantısı ile erişilmeye çalışıldığında sayfa erişiminin olmadığı ile alakalı 404 veya 403 hata sayfası gösterilir.Bu sayede SSLStrip gibi saldırılara maruz kalınması engellenmiş olunur.

s5.png
Şekil 10. İnternet bankacılığı sayfalarına HTTP ile bağlanıldığında gösterilen 404 hata sayfası.

 

 

s6.png
ekil 11. İnternet bankacılığı sayfalarına HTTP ile bağlanıldığında gösterilen 404 hata sayfası. 
Ayrıca tarayıcı bazlı bir güvenlik önlemi olarak ta Mozilla Firefox’ un No_Script[Bknz 4]  veya Google Chmrome' un notScript eklentileri kullanılabilir. Bu eklentiler ile Gelişmiş ayarlar altında bulunan HTTPS sekmesinde belirleyeceğiniz sitelere HTTPS dışında erişimi engelleyebilirsiniz. Bu sayede kritik işlemlerinizi yaptığınız uygulamalar için böyle bir kural ile bu tarz saldırılardan korunmuş olunur.
s7.png
Şekil 12. Korunma yöntemi olarak kullanılabilecek NoScript  ayarlarını gösterir ekran görüntüsü.

Kaynaklar

[1]http://www.thoughtcrime.org/software/sslstrip/
[2]http://www.backtrack-linux.org/
[3]http://tr.wikipedia.org/wiki/Arp_zehirlenmesi
[4]https://addons.mozilla.org/en-us/firefox/addon/noscript/
[5]http://ettercap.github.io/ettercap/index.html


Favori olarak ekle (0) | Görüntüleme sayısı: 3266

Bu yazıya ilk yorumu yazın

Sadece kayıtlı kullanıcılar yorum yazabilir.
Lütfen sisteme giriş yapın veya kayıt olun.

 
spacer.png, 0 kB
spacer.png, 0 kB
Copyright 2014 TÜBİTAK-BİLGEM. Sitenin teknik altyapısında Joomla kullanılmıştır. Yazar ve site referans gösterilmeden alıntı yapılamaz. Görüşleriniz
spacer.png, 0 kB