Kimlik bilgisi doldurma (credential stuffing), başka servislerden gelen kullanıcı adı-şifre çiftlerini sizinkine karşı kullanır ve tekrar kullanıma bahse girer. Güvenlik sonucu hesap ele geçirmedir. Operasyonel sonuç ise daha önce gelir: bir giriş ucu, herhangi bir uygulamadaki en pahalı yollardan biridir ve saldırganlar onu dakikada binlerce kez ister.
Giriş Uçları Neden Pahalıdır?
Doğru kurulmuş bir giriş kasıtlı olarak yavaş iş yapar. Şifre karması (hashing) ölçülebilir zaman almak üzere tasarlanmıştır — çalınan karmaları kırmayı zorlaştıran şey budur. Bir veritabanı sorgusu, bir oturum yazımı ve bir denetim kaydı ekleyin; tek bir deneme, önbelleklenmiş bir sayfanın tamamını sunmaktan pahalıya patlayabilir. Sızmış bir listeyi tekrar oynatan saldırgan, niyet etmeden bir kaynak tüketme saldırısı çalıştırıyordur.
İşlem sırası
Hız sınırlama, şifre doğrulamasından önce çalışmalıdır. Limit karmadan sonra kontrol edilirse pahalı iş zaten yapılmıştır ve sınırlayıcı hesaplarınızı korurken sunucunuz için hiçbir şey yapmaz.
Katmanlı Savunma
- İki hız limiti kovası: biri kaynak adres başına, biri hesap adı başına. İlki tek gürültülü bir istemciyi yakalar, ikincisi tek bir hesabı öğüten bir botneti.
- Saldırı sırasında formun önünde bir tarayıcı sınaması, böylece JavaScript çalıştıramayan istemciler işleyiciye hiç ulaşmasın.
- İkinci faktörler, doğru bir şifreyi bile eksik bir girişe çevirir.
- Kayıt ve değişiklik anında sızmış-şifre kontrolü, böylece tekrar kullanılan kimlik bilgileri en baştan geçerli olmasın.
- Tutarlı yanıtlar ve zamanlama, böylece form hangi kullanıcı adlarının var olduğunu ele vermesin.
Hesabı Kilitlemeyin
Birkaç başarısız denemeden sonra hesabı kilitlemek koruyucu gibi görünür ve saldırgana bir hizmet-engelleme aracı verir: herkes, kasıtlı yanlış tahminlerle herhangi bir kullanıcıyı kilitleyebilir. Denemeyi kısıtlamak (throttle) daha iyi bir yapı taşıdır — saldırganı yavaşlatır ama meşru bir kullanıcıyı çevrimdışı bırakmasına izin vermez.
Doğru Sinyali İzleyin
Toplam giriş denemesi sayısı gürültülüdür. Kimlik bilgisi doldurmayı ele veren sayı başarısızlık oranıdır: normal topluluklar zamanın azınlığında başarısız olur, bir doldurma çalışması ise neredeyse her zaman başarısız olur. Düşük bir başarısızlık oranından çok yüksek bir orana ani geçiş — üstelik aynı anda hacim artarken — alacağınız en net erken uyarıdır.