Broken Authentication and Session Management
(Kırık Kimlik Doğrulama ve Oturum Yönetimi)
İngilizceBroken Authentication and Session Management olarak bilinen, dilimize ise Kırık Kimlik Doğrulama ve Oturum Yönetimi olarak geçen bu zafiyet OWASP’ın 2017 yılında yayınladığı en popüler zafiyetler listesinde, bir önceki makalelerimizde anlattığımız Injection zafiyetinden hemen sonra yani ikinci sırada yer almaktadır. Detaylardan bahsetmeden önce bu zafiyetin ne olduğuna değinelim.
ZAFİYET | PUAN |
Broken Authentication and Session Management | 7.0 |
Broken Authentication Nedir?
Uygulama fonksiyonlarının kimliklendirme ve oturum yönetimiyle ilgili fonksiyonlarının uygulanmaması veya yanlış uygulanması sonucu meydana gelmektedir. Saldırganlar bu zafiyeti kullanarak şifreler, anahtarlar, token’lar ya da diğer kullanıcıların bilgilerini tahmin edebilir, brute force (kaba kuvvet saldırıları) yaparak kullanıcıların kimliklerini açığa çıkartabilirler.
Broken Authentication Zafiyeti Sistemi Nasıl Etkiler?
Saldırganlar genellikle bir sistemi ele geçirmek için birkaç standart kullanıcı hesabına veya bir yönetici hesabına erişmek zorundadır. Broken Authentication zafiyeti barındıran uygulamanın alanına bağlı olarak bu durum; sosyal mühendislik (phishing) saldırılarının yapılması, kimlik hırsızlığı, yasal olarak korunan bilgileri açığa çıkarılması, kişisel verilerin sızdırılması ve hatta sisteme sızılması gibi oldukça olumsuz durumlara yol açabilir.
Broken Authentication Zafiyeti Nasıl Tespit Edilebilir?
Bir uygulamada Broken Authentication zafiyetinin varlığı aşağıdaki maddelerin kontrolü sağlanarak tespit edilebilir.
- Kaba kuvvet saldırılara izin veriyorsa.
- Varsayılan parolalara izin veriyorsa.
- Oturum ID değerlerini URL üzerinden taşıyorsa.
- Başarılı giriş sonrası oturum ID değerlerini değiştirmiyorsa.
- Zayıf imzalama/şifreleme algoritmaları kullanılıyorsa.
Broken Authentication Nasıl Önlenir?
Bu zafiyetin istismarını önlemek için uygulanabilecek bazı teknikler bulunmaktadır;
- Parola sıfırlama gibi tek kullanımlık oluşturulan bağlantılara özellikle dikkat edilmesi.
- Kullanıcı tokenlarının uzun süre aktif tutulmaması.
- Otomatize saldırıları, sözlük saldırılarını (dictionary attacks), kaba kuvvet saldırılarını (brute force attacks) ve çalınan giriş bilgilerinin tekrar kullanılmasını önlemek için mümkün olduğunca çok katmanlı kimlik doğrulama (MFA, 2FA) uygulanması.
- Özellikle yönetici (admin) kullanıcıları için herhangi bir varsayılan giriş bilgisi kullanılmaması.
- Parola uzunluğu, karmaşıklığı ve değiştirme politikaları uygulanması.
- Giriş yapma, kayıt yapma gibi durumlarda tüm sonuçlar için aynı mesaj kullanılması. Yani mesela kullanıcı adı ve parola girişinde hata var ise bunun hangisinde olduğunu belirtmek yerine “kullanıcı adı veya parola” yanlış şeklinde ifade edilmesi.
- Giriş yapma, kayıt olma gibi fonksiyonlarda gerçekleştirilen hatalı girişler için aynı hata mesajının kullanılması. Daha açık ifade etmek gerekirse; örneğin kullanıcı adı ve parola giriş alanında parola hatalı yazıldığı takdirde “kullanıcı adı veya parola hatalıdır” şeklinde bir hata mesajı gösterilmesi suretiyle yanlış yazılmış olan kullanıcı bilgisinin hangisi olduğunun açığa çıkarılmaması.
- Başarısız giriş denemeleri sınırlandırılması veya artarak geciktirilmesi.
- Tüm başarısız denemelerin kayıt altına alınması.
- Oturum ID değerlerinin URL üzerinde bulunmaması.
- Oturum ID değerlerinin oturum sonlandıktan, belirli bir süre inaktif kaldıktan veya geçerlilik süresi dolduktan sonra sonlandırılması.
- SSL (Secure Sockets Layer) kullanılması.
- Giriş yapma, kayıt yapma işlemlerinde robot kontrolü yapılması.
Sistemlerinizde barınabilecek güvenlik açıklarından haberdar olabilmek ve muhtemel bir siber saldırı henüz kapınızı çalmadan gerekli tedbir planlarını oluşturma imkanına sahip olmak adına profesyonel bir firmadan Siber Güvenlik Danışmanlığı ve Sızma Testi hizmetleri almanızı tavsiye ederiz.