FIDO2 (Fast Identity Online), Ortadaki Adam (MiTM) saldırılarını, Phishing saldırılarını ve oturum ele geçirme saldırılarını önlemek için FIDO Alliance tarafından geliştirilen şifresiz bir kimlik doğrulama yöntemidir.
Bu FIDO2 kimlik doğrulaması, fiziksel veya yerleşik bir anahtar kullanılarak çalışır.
Ancak bu güvenli, şifresiz kimlik doğrulama yönteminin, saldırganların FIDO2 cihazlarında MiTM saldırıları gerçekleştirmesine ve kimlik doğrulamayı atlamasına olanak tanıyan kritik bir kusur içerdiği keşfedildi.
Ücretsiz Web Semineri Canlı API Saldırı Simülasyonu: Yerinizi Ayırın | API’lerinizi bilgisayar korsanlarından korumaya başlayın
Bu kimlik doğrulama atlandığında, FIDO2 kayıtlı cihazların kaldırılması da dahil olmak üzere çeşitli kötü amaçlı etkinliklerin gerçekleştirilebileceği kullanıcının özel alanına erişim sağlanır.
Parolasız Kimlik Doğrulama Standardı FIDO2 Kusuru
Cyber Security News ile paylaşılan raporlara göre FIDO2, genel anahtar şifreleme mekanizması ve WebAuthn kimlik doğrulama akışı üzerinde çalışıyor.
İstemci bir özel anahtar ve genel anahtar oluşturur ve bu anahtar daha sonra oturum açarken imza doğrulaması için güvenen tarafa (Bulut uygulama iletişimi) geri gönderilir.
Araştırmacı iki saldırı gerçekleştirdi: Oturum Ele Geçirme ve IdP’ye (Kimlik Sağlayıcı) Ortadaki Adam saldırısı.
FIDO2 kullanırken, kullanıcıların ya bağlı olan tarafa bir FIDO cihazı kaydetmesi ya da tarayıcının bir navigator.credentials.create() işlevi gerçekleştirmesini sağlaması gerekir.
Buna karşılık, FIDO cihazı her bir kullanıcı için özel ve genel bir anahtar oluşturur ve bunu alan adı kaynağına bağlar.
Tarayıcı ayrıca kimlik doğrulama işlemi sırasında bu alan adının kökenini de doğrular.
Ayrıca kimlik doğrulama adımları, güvenen tarafın her kimlik doğrulama isteği için tarayıcının navigator.credentials.get() işlevini çağırmasını içerir.
Her istek için tarayıcı, CTAP (İstemciden Kimlik Doğrulayıcıya Protokolü) aracılığıyla FIDO güvenlik anahtarını çağırır.
Kimlik doğrulama kullanıcı tarafından Authenticator’da onaylanırsa, güvenlik anahtarı kullanılarak bir imza oluşturulur ve bu imza daha sonra RP tarafından kendi genel anahtarı kullanılarak doğrulanır.
Bununla birlikte, bir kimlik avı saldırısı sırasında, doğrulanan web sitesinin alan adı kaynağının, kayıtlı kaynakla eşleştiğinden emin olmak için kontrol edilir.
Kaynak eşleşmezse istek iptal edilir.
MiTM saldırısı durumunda, saldırganın tüm istekleri başarılı bir şekilde ele geçirebilmesi için kurban üzerinde güvenilir bir sertifika gibi belirli önkoşullar gereklidir. Ancak TLS sayesinde bu engelleniyor.
Test Kullanım Durumları
Kullanım Örneği 1: Yubico Oyun Alanı
FIDO kullanıcının kimliğini doğruladığında “oturum” adlı bir çerez oluşturulur ve isteği oluşturan cihazda doğrulama eksikliği vardır.
Bu, çerezin süresi dolana kadar herhangi bir cihazın çerezi kullanabileceği anlamına gelir.
Ayrıca bu çerezin edinilmesi, tehdit aktörünün kimlik doğrulamayı atlamasına, kullanıcının özel alanına erişmesine ve güvenlik anahtarını kullanıcının profilinden kaldırmasına da olanak tanır.
Kullanım Örneği 2: Giriş Kimliği SSO’su
Entra ID SSO, birden fazla SSO protokolüyle çalışma yeteneğine sahiptir.
Bunlardan ikisi test edildi: OpenID Connect (OIDC) protokolü üzerinden Microsoft Uygulamaları ve SAML protokolü üzerinden bir Örnek üçüncü taraf uygulaması.
Bu SSO kimlik doğrulamalarının her ikisinde de, POST özelliği aracılığıyla güvenen tarafa son kullanma tarihi 1 saat olan imzalı bir erişim belirteci iletildi.
Ancak saldırgan imzalı bir jeton alıp bunu doğru zaman diliminde kullanarak daha uzun süreli durum çerezleri oluşturabilir.
Ayrıca OIDC, uzun bir süre boyunca oturum belirteçleri oluşturabilen belirteçlerin yenilenmesini destekler.
Ayrıca Azure Yönetim Portalı uygulaması, SSO tarafından verilen belirteci doğrulamaz.
Kullanım Örneği 3: PingFederate
Bu, birden çok kurumsal uygulamayı destekleyen ve kimlik doğrulamayı gerçekleştirmek için çeşitli üçüncü taraf bağdaştırıcıları kullanan bir şemsiye uygulamadır.
Bu bağdaştırıcıların birleştirilmesi, başarılı kimlik doğrulama için karşılanması gereken çeşitli gereksinimleri içeren bir kimlik doğrulama ilkesi akışı oluşturur.
Ancak güvenen taraf geliştiricinin ODIC veya SAML tokenlarını doğrulamadığı gözlemlendi ve bu da başarılı MiTM saldırılarına yol açabilir.
Azaltmalar
Silverfort’taki araştırmacılar bu güvenlik açıklarını azaltmak için aşağıdaki adımları önerdi:
- Uygulamaların ve hizmetlerin güvenlik belirteçlerini kriptografik olarak TLS katmanına bağlamasına olanak tanıyan Token Bağlamanın kullanılması
- Uygulama geliştiricilerin mümkünse FIDO2 kimlik doğrulamasına bağlama eklemeleri veya OIDC veya SAML belirtecini yalnızca bir kez kullanılacak şekilde sınırlamaları önerilir.
- Uygulama yöneticileri FIDO2 kimlik doğrulamasında Token bağlamayı zorunlu kılmalıdır
- Bir kimlik doğrulama mekanizması tasarlanırken, tehdit ilişkilendirmesinin uygun şekilde anlaşılması gerekir ve kritik durumlarda, oturum belirteci üzerinde daha fazla kontrole sahip olmak için doğrudan yaklaşımın kullanılması önerilir.
On-Demand Webinar to Secure the Top 3 SME Attack Vectors: Watch for Free