15 Aralık 2011

basic http kimlik doğrulama

Posted by: Fırat Celal Erdik 15 Aralık 2011
Basic http authentication metodu, çeşitli http kimlik doğrulama yöntemlerinden biridir. Internette gezinirken karşılaştıştığınız dialog box şeklindeki kullanıcı adı ve şifre soran sayfalardaki kimlik doğrulama yöntemi basic http kimlik doğrulama yöntemidir.Bu yöntemle yapılan kimlik doğrulamalarında, hesap bilgileri şifresiz olarak sunucuya iletildiğinden güvenli bir metod değildir. Fakat, SSL/TLS gibi bir şifreleme metodu kullanılmamışsa tüm kimlik doğrulama yöntemleri aslında cleartext(şifresiz) olarak data iletimi sağlayacaklarından onlarında güvensiz olacakları unutulmamalıdır. Örneğin, Http üzerinden form kimlik doğrulamaları ile yapılan erişimler de en az basic http kimlik doğrulaması yapılan uygulamalar kadar güvensizdir .Yani somut bir örnek ile http://www.facebook.com/login.php sayfasından login işlemi ile basic http kimlik dogrulama ile yapılan bir login işlemi arasında verinin iletim açısından fark yoktur.Sonuçta her ikiside kullanıcı adı şifreyi clear text iletecektir.



Basic http kimlik doğrulamada karşılaşılan dialog box içerisine girilen kullanıcı adı ve şifre kombinasyonu client browser'ı aracılığı ile iki nokta üstüste işareti (:) ile ayrılmış bir şekilde http request mesajındaki ilgili header ile sunucu tarafına base64 olarak encode edilmiş bir string olarak iletilir.Burada encode işleminin aslında bir şifreleme metodu olmadığı unutulmamalıdır. Base64 encode ile ilgili detaylı bilgiyi buradan bulabilirsiniz.

Örnek bir http kimlik doğrulama ekranı:











Burada username alanına celal ve password alanına celal yazıp ok dersek.Yapılacak işlem yukarıda bahsettiğim gibi celal:celal değerinin base64 encode edilmiş olan değeri yani Y2VsYWw6Y2VsYWw= bu ifade sunucuya yapılan request mesajının authorization isimli header'ında karşıya iletilecektir.



Request ve response mesajlarındaki header bilgilerini bir http header bilgilerini gösteren uygulama ile görebilmeniz mümkündür.Ben bunun için firefox'un http live header isimli eklentisini kullanıyorum.

Basic http kimlik doğrulama metodu kullanılarak erişim yapılan sistemlerde logout gibi mevcut oturumu sonlandırma özelliği olmadığı için bu durumu bu metoda ait bir dezavantaj olarak söyleyebiliriz.Ayrıca brute force attakların bu metod üzerinde kolaylıkla gerçekleştirilebiliyor olmasıda(web form bruteforce saldırılarına göre) bir dez avantaj olarak görülebilir.


Sonuç itibari ile bir çok banka ve online web uygulamalarının da kullandığı http form tabanlı kimlik doğrulama metodu ile(https olmadığı müddetçe) basic http kimlik doğrulama metodu arasında teknik olarak verinin iletimi şifresiz olduğu için fark yoktur.Her ikiside MITM atakları için aynı güvensizlik derecesinde denilebilir.Çözüm ise SSL/TLS kullanımı ile güçlendirilmiş bir http protokolü(https) kullanarak client ve server arasında datanın şifreli iletimini sağlamak olacaktır.
Ayrıca konuyla ilişkili olan,basic http kimlik doğrulama kullanan sistemlerin tesbit edilmesi ve parolalarının kırılması ile ilgili makalemize buradan ulaşabilirsiniz.

0 yorum:

Yorum Gönder

Her türlü eleştiri,yorum,ekleme ve düzeltmeye yönelik fikirlerinizi paylaşabilirsiniz.Hakaret içeren yorumlar filtrelenmektedir.

Makalelerin kötüye kullanım kullanıcının sorumluluğundadır. | networkpentest.net. Blogger tarafından desteklenmektedir.