mfa prompt bombing yani ikinci faktör spam'leme saldırısı
arkadaşlar, mfa (çok faktörlü kimlik doğrulama) diye bir şey çıkardık, “artık güvendeyiz” dedik. şifre çalınsa bile ikinci faktör olmadan giremezler diye düşündük. mantık yerindeydi aslında ama saldırganlar yeni bir yöntem bulmuş: ikinci faktörü çalmaya gerek yok, kullanıcıya onaylatıyorlar direkt. klasik sosyal mühendislik, yeni ambalaj.
olay ne tam olarak
şöyle ki agalar, saldırganlar kullanıcının şifresini ele geçirmiş diyelim (phishing, sızıntı, her neyse). normalde mfa devreye girer ve kullanıcının telefonuna onay bildirimi gelir. ama bu sefer saldırgan sürekli giriş denemesi yapıyor. kullanıcının telefonuna onlarca, yüzlerce bildirim geliyor.
spoiler: yorgun ve sinirlenmiş kullanıcı “kapat şu bildirimleri artık” diye düşünüp bir tanesini onaylıyor. işte o anda saldırgan içeride.
buna “mfa prompt bombing”, “mfa fatigue attack” veya “push notification fatigue” diyorlar. yani bildirim yorgunluğu saldırısı, türkçesiyle.
nasıl çalışıyor bu iş
- saldırgan kullanıcının şifresini ele geçiriyor (phishing, credential stuffing, ne bulursa)
- giriş yapmaya çalışıyor, mfa bildirimi gidiyor kullanıcıya
- kullanıcı reddediyor
- saldırgan tekrar deniyor, tekrar bildirim
- bu böyle devam ediyor, kullanıcının telefonu durmadan ötüyor
- kullanıcı ya yanlışlıkla ya da “artık yeter” diye onaylıyor
- saldırgan içeride, hesap ele geçirildi
bazı vakalar:
- gece 3’te uyuyan kullanıcıya 100 tane bildirim
- toplantıdayken durmadan gelen bildirimler
- kullanıcı “sistem arızası” sanıp onaylıyor
gerçek dünya örnekleri
microsoft, cisco, uber gibi büyük şirketlerde bu yöntemle saldırılar olmuş. 2022’de uber’a yapılan saldırıda tam da bu yöntem kullanılmış: saldırgan çalışanı yorana kadar bildirim göndermiş, sonunda çalışan onaylamış.
şimdi ne yapacaksınız
1. number matching kullanın
klasik “onayla/reddet” yerine, kullanıcının ekranda gördüğü numarayı telefona girmesi gereken sistem kullanın. microsoft authenticator, duo gibi uygulamalar bunu destekliyor.
# microsoft entra id'de number matching aktif etme
# azure portal > entra id > security > authentication methods
# microsoft authenticator ayarlarından:
# - "require number matching" seçeneğini aktif edin
2. rate limiting koyun
aynı kullanıcı için kısa sürede çok fazla mfa isteği geliyorsa bunu engelleyin:
# örnek rate limiting mantığı
# 5 dakikada 3'ten fazla mfa isteği = hesabı kilitle
# ve güvenlik ekibine bildir
3. anomali tespiti yapın
- kullanıcı normalde türkiye’den giriş yapıyorsa, aniden rusya’dan gelen istek şüpheli
- gece 3’te gelen 50 tane mfa isteği anormal
- bu tür durumları otomatik tespit edip engelleyin
4. kullanıcıları eğitin
çok önemli: kullanıcılara şunu anlatın:
- “giriş yapmadıysanız, asla onaylamayın”
- “çok fazla bildirim geliyorsa, hemen it’ye bildirin”
- “onayladıktan sonra şifrenizi değiştirin”
5. fido2/passkey’e geçin
en iyi çözüm: phishing-resistant mfa kullanın. fido2 security key veya passkey ile bu tür saldırılar mümkün değil.
# yavaş yavaş geçiş yapın:
# 1. önce yöneticiler için zorunlu kılın
# 2. sonra kritik sistemlere erişimi olanlar
# 3. sonra tüm kullanıcılar
mevcut sistemlerinizi kontrol edin
| mfa tipi | prompt bombing’e karşı dayanıklılık |
|---|---|
| sms kodu | ⚠️ orta (kod gerektir ama phishing mümkün) |
| push notification (onayla/reddet) | ❌ zayıf (tam bu saldırıya açık) |
| push notification + number matching | ✅ iyi (kullanıcı dikkat etmeli) |
| totp (google authenticator) | ✅ iyi (ama phishing mümkün) |
| fido2/security key | ✅✅ çok iyi (phishing-resistant) |
| passkey | ✅✅ çok iyi (phishing-resistant) |
hemen yapılacaklar
- mfa loglarınızı kontrol edin: aynı kullanıcı için kısa sürede çok fazla mfa isteği var mı?
# azure ad sign-in logs'ta şunu arayın:
# status: "failure"
# failure reason: "user declined the authentication"
# kısa sürede çok fazla tekrar varsa şüpheli
number matching’i aktif edin: bugün yapın bunu, ertelemeyin
kullanıcılara mail atın: “şunu gördüyseniz hemen bildirin” diye
anomali detection kuralları yazın: siem/soar sisteminizde
microsoft defender/entra id kullanıyorsanız
# microsoft graph api ile mfa method'ları kontrol
Connect-MgGraph -Scopes "UserAuthenticationMethod.Read.All"
# tüm kullanıcıların mfa methodlarını listele
Get-MgUser -All | ForEach-Object {
Get-MgUserAuthenticationMethod -UserId $_.Id
}
# number matching zorunlu hale getirin
# entra id > security > authentication methods > microsoft authenticator
# "require number matching for push notifications" = enabled
duo security kullanıyorsanız
duo admin panel’den:
- policies > global policy
- “require verified duo push” seçeneğini aktif edin
- bu sayede kullanıcı uygulama adını onaylamak zorunda kalır
okta kullanıyorsanız
okta verify için:
- settings > features
- “okta verify with number challenge” aktif edin
- eski push notification’ları devre dışı bırakın
edit: bu saldırı türü 2022’den beri yaygınlaşıyor. microsoft, cisco, uber gibi devlerde bile işe yaramış. “mfa var, güvendeyiz” dönemi bitti arkadaşlar. artık “hangi mfa, nasıl yapılandırılmış” diye bakmak lazım.
dikkat: kullanıcı eğitimi teknik önlemlerden daha önemli olabilir bu konuda. en güvenli sistem bile yorgun/dalgın kullanıcıya karşı koyamaz.
kaynaklar
hadi bakalım agalar, sistemlerinizi gözden geçirin. mfa’nız var diye rahat durmayın, nasıl bir mfa olduğuna bakın. number matching yoksa bugün ekleyin. kullanıcılarınızı uyarın. fido2/passkey planı yapın.
son not: bu konuda “kullanıcı aptal” demeyin, sistem tasarımı kötüyse suç sistemdedir. 50 tane bildirim gelen kullanıcının onaylaması normaldir, onu engelleyecek sistem kurulumu yapmak bizim işimiz.
Bu içerik yapay zeka tarafından oluşturulmuştur.
