Birçok Yön, Tek Hedef
Siber güvenlikte yaygın bir kinaye “kendi kimlik doğrulamanızı yapmayın”dır. Bunun bir nedeni var: kimlik doğrulamanın uygulanması aldatıcı derecede zordur. Kimlik doğrulama gereksinimlerinin çoğu göz ardı ediliyor. Modern kimlik doğrulamanın gerektirdiği özelliklerden bazıları şunlardır:
- Kaba kuvvet saldırılarını önlemek için giriş formunda hız sınırlaması
- Çok faktörlü kimlik doğrulama
- Unutulan şifreleri sıfırlamanın bir yöntemi
- Parola depolama ve karma
- Oturum yönetimi
Bu özelliklerin herhangi birindeki küçük bir aksaklığın, hesabın ele geçirilmesine yönelik kritik bir güvenlik açığına yol açması muhtemeldir, bu nedenle kimlik doğrulamayla ilgili en iyi uygulamaları takip etmek önemlidir. Daha sonra bunun hakkında daha fazla bilgi vereceğiz.
Çok Faktörlü Kimlik Doğrulama (MFA)
2024 yılında MFA bir gerekli kimlik doğrulama sürecinin bir parçası. MFA, yetkisiz erişimi önlemek için kullanıcıların iki veya daha fazla benzersiz tanımlayıcı sağlamasını gerektirir. Bu tanımlayıcılar şunları içerir:
- Kullanıcıya ait bir şey biliyor: Bir hesabın kullanıcı adı ve şifresi, kişisel kimlik numarası (PIN) ve güvenlik sorularına verilen doğru yanıtlar, kullanıcıyı etkileyen faktörlere örnektir. biliyor.
- Kullanıcıya ait bir şey sahip olmak: Bir kimlik doğrulama uygulaması aracılığıyla veya kayıtlı hesapla ilişkili telefon numarası veya e-posta adresi gibi iletişim yöntemleri aracılığıyla kullanıcının cihazına gönderilen benzersiz erişim kodları.
- Kullanıcıya ait bir şey öyle: Yüz tanıma, ses tanıma, parmak izi veya göz tarama teknolojisi gibi biyometrik tarayıcılar.
Ne yazık ki, MFA uygulandığında bile zayıf uygulamalar atlanabilmektedir. Bunun nispeten yaygın bir örneği, geçerli kimlik bilgilerinin MFA doğrulanmadan önce bir oturum belirteci vermesidir; aşağıdaki gerçek örnekte de böyle olmuştur.
MFA Atlama Güvenlik Açığı Örneği
14 Ocak 2024’te güvenlik araştırmacısı akhan8041, güvenlik açığına ilişkin bir rapor sundu. İlaçlar.com güvenlik açığı açıklama programı (VDP).
Geçerli hesap kimlik bilgilerini gönderdikten sonra
https://drugs.com/account/loginkullanıcı kayıtlı e-posta adresine tek kullanımlık bir şifre alır. Kullanıcının, hesabına erişim sağlamak için tek kullanımlık şifreyi MFA formuna girmesi gerekir; ancak doğrulama eksikliği nedeniyle kullanıcılar MFA’yı tamamen atlayıp geçerli bir kullanıcı oturumunu sürdürebildiler.
Bu web uygulaması hassas sağlık bilgilerine yönelik bir arayüz sağladığından, bulgu ciddiyet açısından kritik olarak derecelendirildi.
Çoğaltmanın Adımları
- Geçerli kullanıcı kimlik bilgileri, giriş formu aracılığıyla gönderildi. /hesap/giriş.
- Sonraki sayfada, /account/verify-access/?referrer=%2Fkullanıcılara şu mesaj sunulur: “Şirkete bir güvenlik kodu gönderdik. [account email address]. Aşağıya 6 haneli kodu giriniz.”
- Ancak bu noktada uygulama sunucusu, aktif bir kullanıcı oturumu için gerekli tüm çerezleri zaten yayınlamıştı.
- Basitçe silerek bb_refresh Çerez ve sayfayı yeniden yüklemek, MFA mekanizmasını atlatabilir ve kullanıcı, kimliği doğrulanmış normal kullanıcı etkinliğine devam edebilir.
MFA Saldırılarına Karşı Koruma
MFA uygulamaları birçok açıdan savunmasız olabilir. Aşağıda bunların nasıl önleneceği ile birlikte ana sorunlardan bazıları yer almaktadır.
Kaba-zorlamalı MFA Kodları
Saldırganlar, özellikle bu kodlar zayıfsa veya öngörülebilir kalıplara sahipse, OTP’lere veya kurtarma kodlarına kaba kuvvet saldırıları deneyebilir. Saldırganlar ayrıca kimlik doğrulama uç noktalarındaki girişi tahmin ederek veya otomatikleştirerek kaba kuvvet uygulamaya çalışabilir.
Bunu azaltmak için hız sınırlaması ve kilitlemeler uygulayın ve OTP’lerin ömrünü kısaltın. OTP’lerin yalnızca bir kez kullanılabildiğinden ve aynı anda birden fazla OTP’nin etkin olamayacağından emin olun.
OTP’ye Maruz Kalma
Bazı durumlarda doğru OTP kodu, saldırganın girmesine gerek kalmadan önce alınabilir. Bunun bazı örnekleri şunlardır:
- Giriş sayfasında erişilebilir HTML veya JavaScript’te gösterilen OTP kodu
- OTP kodu düz metin olarak bir yere kaydediliyor
- Güvenli olmayan kanallar aracılığıyla gönderildiklerinde (SMS dahil olabilir!)
Kodun uygulamada asla yazdırılmadığından emin olun. Uygulama tabanlı kimlik doğrulama veya donanım belirteçleri gibi daha güvenli yöntemleri tercih ederek mümkün olduğunca SMS tabanlı OTP’lerden kaçının. OTP’lerin hem aktarım sırasında hem de bekleme sırasında şifrelendiğinden emin olun. Yanlışlıkla maruz kalmayı önlemek için günlüklerdeki OTP’leri maskeleyen uygulama günlüğe kaydetme politikalarını zorunlu kılın.
Yanlış Oturum Yönetimi
Yukarıdaki örnekte, MFA kodu doğrulanmadan önce kullanıcıya geçerli bir oturum belirteci gönderilmiştir. Kullanıcının kimliğinin doğrulanması yalnızca istemci tarafı bir çerezin varlığı nedeniyle durduruldu (bu, bir saldırgan tarafından kolayca kaldırılabilir). Bu, uygunsuz oturum yönetimine bir örnektir.
Oturum belirteçleri sadece tam kimlik doğrulama süreci gerçekleştikten ve sunucu tarafında doğrulandıktan sonra belirlenecektir.
İnsan gücüyle yürütülen güvenlik testlerinin gücü sayesinde hem bilgi hem de tekniklerin geniş bir yelpazesini kapsayan daha fazla değerlendirmeyle, kimlik doğrulama mekanizmalarınızın güçlendirildiğinden emin olabilirsiniz.
11 Kimlik Doğrulama En İyi Uygulamaları
Kimlik doğrulama söz konusu olduğunda bir dizi en iyi uygulama da vardır. Daha önemli olanlardan bazılarına bir göz atalım.
1. Kaba Kuvvet Önleme için Hız Sınırlama
Hız sınırlamasının yokluğunda kaba kuvvet saldırıları mümkün hale gelir:
- Belirli bir süre içindeki oturum açma denemelerinin sayısına sınırlar koyun.
- Kimlik bilgisi doldurma saldırılarına karşı CAPTCHA’ları uygulayın.
2. Güçlü Şifre Politikalarını Uygulamak
Daha güçlü güvenliği zorunlu kılan parola ilkelerini tanımlayın:
- Harf, rakam ve özel karakterlerin karışımını içeren karmaşık şifreler kullanılmasını zorunlu kılın.
- Parolalara minimum uzunluk uygulayın ve parolalara izin vermek için maksimum uzunluğun en az 64 karakter olmasını sağlayın.
- Düzgün kullanılmadıkları sürece sözlük sözcüklerini veya yaygın olarak kullanılan ifadeleri reddedin.
- Şifredeki kullanıcı adı, ad veya e-posta adresi gibi tanımlayıcıları reddedin.
- Eski şifrelerin yeniden kullanılmasını önleyin.
- İhlal durumunda şifreler değiştirilmelidir.
- Daha önce ihlal edilen şifreleri engelleyin. Pwned Şifreler gibi hizmetler bu amaçla kullanılabilir.
3. Kimlik Bilgilerinin Güvenli Kullanımı
Kimlik bilgilerinin gönderilmesi, saklanması, kurtarılması ve değiştirilmesine dikkat edilmelidir:
- Aktarım Katmanı Güvenliği (TLS) aracılığıyla şifrelenmiş bağlantıları kullanın.
- Veritabanında Argon2id gibi güvenli şifreleme algoritmaları ile karma ve tuz şifreleri.
- Tuzlamanın yanı sıra biber kullanmayı da düşünün.
- Kullanıcıların şifrelerini değiştirmeden önce yeniden kimlik doğrulaması yapmasını zorunlu kılın..
- Siteler Arası İstek Sahteciliği (CSRF) belirteçlerini kullanın.
4. Oturum Zaman Aşımlarını Uygulayın
Oturum zaman aşımlarının uygulanması, gözetimsiz cihazlardan yetkisiz erişimin önlenmesine yardımcı olur. Bu özellikle bankacılık uygulamaları gibi son derece hassas uygulamalar için önemlidir.
5. Hata Mesajı Yönetimi
Saldırganlara ipucu vermemek için hata mesajları dikkatle ele alınmalıdır:
- Ayrıntılı hata mesajlarını devre dışı bırakın.
- Hesap numaralandırmasını önlemek için bir kullanıcı adının mevcut olup olmadığını belirtmekten kaçının.
6. Sistem İzlemeyi Uygulayın
Güvenli kimlik doğrulama uygulamalarına rağmen ihlaller meydana gelebilir. Başarısız oturum açma denemeleri, parola hataları ve hesap kilitlemeleri de dahil olmak üzere tüm kimlik doğrulama işlevlerini günlüğe kaydedin ve izleyin. Potansiyel saldırıları tespit etmek ve bunlara yanıt vermek için bu günlükleri düzenli olarak inceleyin.
7. Kendi Kimlik Doğrulamanızı Yapmayın
Kendi kimlik doğrulama sisteminizi oluşturmak yönetilebilir görünebilir ancak nadiren tavsiye edilir. Kimlik doğrulama karmaşıktır ve ince güvenlik kusurları sisteminizi saldırılara karşı savunmasız hale getirebilir. Yerleşik ve test edilmiş kitaplıklardan veya hizmetlerden yararlanmak, geniş çapta incelenen, düzenli olarak güncellenen çözümler kullanılarak güvenlik açıklarının en aza indirilmesini sağlar. Özel uygulamalar genellikle karmaşık saldırılara karşı etkili bir şekilde savunma yapmak için gereken inceleme ve dayanıklılığa sahip değildir.
8. Çok Faktörlü Kimlik Doğrulamayı Uygulayın
MFA, birden fazla doğrulama yöntemi gerektirerek ekstra bir güvenlik katmanı ekler:
- Kullanıcının bildiği bir şeyi (şifre), sahip olduğu bir şeyle (bir cihaz) veya sahip olduğu bir şeyle (biyometrik veriler) birleştirin.
- Kritik verilere erişme veya hesapta önemli değişiklikler yapma gibi hassas işlemler için MFA’yı uygulayın.
- Yönetici veya yüksek ayrıcalıklı kullanıcılar için MFA’yı zorunlu kılın.
9. Güvenli Hesap Kurtarma Süreçleri
Hesap kurtarma mekanizmaları saldırganların ortak hedefidir:
- Kolayca tahmin edilebilecek kurtarma sorularını kullanmaktan kaçının ve şifre sıfırlamalarda çok faktörlü doğrulamayı tercih edin.
- Kurtarma için e-posta veya SMS doğrulama kodlarını kullanın, ancak ek güvenlik için uygulama tabanlı kimlik doğrulayıcıları da göz önünde bulundurun.
- Parola kurtarmada kaba kuvvet saldırılarını önlemek için hesap kilitleme mekanizmalarını uygulayın.
- Olağandışı etkinliklere ilişkin hesap kurtarma isteklerini izleyin.
10. Şüpheli Giriş Davranışlarını İzleyin
Olağandışı etkinlikleri tespit etmek için oturum açma modellerini izleyin ve analiz edin:
- Şüpheli konumlardan gelen oturum açma girişimlerini belirlemek için IP tabanlı izleme uygulayın.
- Farklı hesaplar arasında anormal oturum açma sürelerini veya hızlı denemeleri izleyin.
- Potansiyel olarak kötü amaçlı davranışları işaretlemek için makine öğrenimini veya kural tabanlı sistemleri kullanın.
11. Kimlik Doğrulama Olaylarını Günlüğe Kaydedip Denetleyin
Günlük kaydı, sorumluluk ve tehdit tespiti için kimlik doğrulamayla ilgili etkinliklerin izlenmesine yardımcı olur:
- Olası kaba kuvvet saldırılarını tanımlamak için başarılı ve başarısız oturum açma girişimlerini günlüğe kaydedin.
- Günlükleri denetim amacıyla güvenli bir şekilde saklayın ve şüpheli etkinlikler için uyarılar ayarlayın.
- Erişim günlüklerini herhangi bir anormallik açısından düzenli olarak inceleyin.
Çözüm
Çok faktörlü kimlik doğrulama her ne kadar gerekli olsa da yalnızca uygulanması kadar güvenlidir. İncelediğimiz gibi, kimlik doğrulama güvenlik açıkları, uygunsuz oturum yönetimi gibi basit gözden kaçmalardan kaba kuvvet uygulanabilen MFA kodları ve OTP’ye maruz kalma gibi daha karmaşık sorunlara kadar değişebilir.
Kimlik doğrulamanın güvenliğini sağlamak, güçlü oturum yönetimi, hız sınırlaması ve sağlam kurtarma süreçleri gerektirir. “Kendi kimlik doğrulamanızı almaktan” kaçınmak ve bunun yerine mümkün olduğunca kanıtlanmış, incelenmiş çözümlere güvenmek önemlidir. HackerOne gibi platformlarda örneklendiği gibi insan gücüyle yapılan güvenlik testleri, kimlik doğrulama mantığındaki güvenlik açıklarına ilişkin değerli bilgiler sağlayarak kuruluşların potansiyel istismarların önünde kalmasına yardımcı olur.