Kaba Kuvvet Saldırısı
Brute-Force Attack
- İngilizcesi
- Brute-Force Attack
- Okunuşu
- brut fors ıtek
Günlük kullanımda iki ad da yaygın.
Kısaca
Kaba kuvvet saldırısı, bir hesabı ele geçirmek ya da veriyi çözmek için biri tutana kadar çok sayıda olası parola veya anahtarı sistematik olarak denemektir.
Kaba kuvvet (brute-force) saldırısı nedir?
Kaba kuvvet saldırısı, parola, PIN, API anahtarı veya şifreleme anahtarı gibi bir sırrı, biri başarılı olana kadar olasılıkları tek tek deneyerek tahmin eder. Yazılımda akıllıca bir açığa ihtiyaç duymaz, yalnızca zaman ve işlem gücü gerektirir; bu yüzden savunma, olası tahmin sayısını çok büyük ya da tahmin hızını çok yavaş yaparak saldırının bitmesini engellemektir. Saldırılar ya canlı bir giriş formuna karşı çevrimiçi (online) ya da saldırganın kendi donanımında, çalınmış bir parola hash veritabanına karşı çevrimdışı (offline) çalışır.
Saf kaba kuvvet her kombinasyonu dener; bu, uzun rastgele sırlar için imkânsız hâle gelir, çünkü her ek karakter işi katlar. Gerçek saldırganlar genellikle kestirmelere başvurur: sözlük saldırısı önce yaygın parolaları ve sözcükleri dener, credential stuffing diğer sitelerden sızdırılmış kullanıcı adı ve parola çiftlerini yeniden oynatır, password spraying ise kilitlenme sınırlarının altında kalmak için birçok hesaba karşı birkaç popüler parolayı dener. Çevrimdışı saldırılar, salt'sız MD5 gibi zayıf hash'lere karşı saniyede milyarlarca tahmini test edebilen GPU'lar kullanır.
Savunmalar iki cephede çalışır. Çevrimiçi saldırılar için hız sınırlama, başarısız denemelerden sonra artan gecikmeler veya geçici kilitlemeler, CAPTCHA doğrulamaları ve her şeyden önce tahmin edilen bir parolayı tek başına işe yaramaz kılan iki faktörlü kimlik doğrulama veya passkey'ler kullanın. Çevrimdışı saldırılar için parolaları yalnızca Argon2id, bcrypt veya scrypt gibi yavaş ve salt'lı hashleme algoritmalarıyla saklayın ve uzun parola cümlelerini teşvik edin. Bu, bir hırsızın dev bir anahtar halkasındaki her anahtarı denemesi gibidir: savunma, milyarlarca olası anahtarı olan bir kilit ve birkaç yanlış denemeden sonra açılmayı bırakan bir kapıdır.
Kaba kuvvet saldırısı, ikisi de bir sunucuyu isteklerle boğabildiği için sıklıkla DDoS saldırısıyla karıştırılır. DDoS saldırısı bir servisi kullanılamaz kılmayı amaçlar; kaba kuvvet saldırısı ise içeri girmeyi amaçlar ve tespit edilmemek için kasıtlı olarak yavaş ve dağınık bile olabilir.
Önemli noktalar
- Kaba kuvvet saldırıları, biri işe yarayana kadar çok sayıda olası parola veya anahtarı dener.
- Sözlük saldırıları, credential stuffing ve password spraying yaygın kestirmelerdir.
- Çevrimiçi saldırılar giriş formlarını, çevrimdışı saldırılar ise çalınmış parola hash'lerini hedefler.
- Hız sınırlama, kilitlemeler ve çok faktörlü kimlik doğrulama çevrimiçi saldırıların çoğunu durdurur.
- Argon2id veya bcrypt gibi yavaş ve salt'lı hash'ler çevrimdışı tahmini çok daha pahalı kılar.
Örnek
# How long would it take to try every possible password?
GUESSES_PER_SECOND = 10_000_000_000 # a GPU rig against a fast, weak hash
for label, alphabet, length in [
("8 lowercase letters", 26, 8),
("8 mixed characters", 94, 8),
("16 mixed characters", 94, 16),
]:
days = alphabet ** length / GUESSES_PER_SECOND / 86_400
print(f"{label}: {days:.3g} days")
# 8 lowercase letters: 0.000242 days (about 21 seconds)
# 8 mixed characters: 7.06 days
# 16 mixed characters: 4.3e+16 daysSık sorulan sorular
Web siteleri kaba kuvvet saldırılarına karşı nasıl korunur?
Hesap ve IP adresi başına kaç giriş denemesi yapılabileceğini sınırlar, başarısızlıklardan sonra gecikme veya geçici kilitleme ekler ve çok faktörlü kimlik doğrulama ister. Depolama tarafında parolaları yavaş ve salt'lı algoritmalarla hash'ler; böylece çalınmış bir veritabanını kırmak pahalı olur.
Kaba kuvvet ile credential stuffing arasındaki fark nedir?
Kaba kuvvet, saldırganın henüz bilmediği parolaları tahmin eder. Credential stuffing ise insanların birkaç sitede aynı parolayı yeniden kullandığına bahse girerek, diğer ihlallerde sızdırılmış gerçek kullanıcı adı ve parola çiftlerini yeniden kullanır.
Bir parolayı kaba kuvvetle kırmak ne kadar sürer?
Parolanın uzunluğuna, rastgeleliğine ve nasıl saklandığına bağlıdır. Hızlı bir hash ile korunan kısa bir parola saniyeler içinde kırılabilir; Argon2id veya bcrypt ile saklanan uzun ve rastgele bir parola cümlesi ise bir insan ömründen çok daha uzun sürer.
İlgili sayfalar
- Rate LimitingBackend ve API'ler, s. 37Rate limiting, istemcinin belli bir sürede yapabileceği istek sayısını sınırlayıp sunucuyu ya da API'yi kötüye kullanımdan ve aşırı yükten koruyan tekniktir.
- HashingGüvenlik, s. 12Hashing, bir girdiyi tek yönlü bir fonksiyonla sabit uzunlukta bir değere dönüştürmektir; veri bütünlüğünü doğrulamaya ve parolaları güvenle saklamaya yarar.
- SaltingGüvenlik, s. 31Salting, hash'lemeden önce her parolaya benzersiz bir rastgele değer eklemektir; böylece aynı parolalar farklı hash'ler üretir ve kırılmaya karşı dirençli olur.
- İki Faktörlü Kimlik DoğrulamaGüvenlik, s. 16İki faktörlü kimlik doğrulama, kimliği doğrulamak için parola artı bir kod ya da güvenlik anahtarı gibi iki farklı türde kanıt isteyen bir giriş yöntemidir.
- PasskeyGüvenlik, s. 26Passkey, açık anahtarlı kriptografiye dayanan, parmak izi, yüz taraması ya da cihaz PIN'iyle açılan, phishing'e dayanıklı parolasız giriş kimlik bilgisidir.
- DDoSGüvenlik, s. 7DDoS saldırısı, bir web sitesini veya çevrimiçi servisi, aynı anda ele geçirilmiş birçok cihazdan gelen trafikle boğarak kullanılamaz hâle getirme girişimidir.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin