Giriş
Polyfill, eski tarayıcılarda modern JavaScript özelliklerini desteklemek için kullanılan bir kod parçacığıdır. Ancak saldırganlar tarafından, meşru Polyfill kütüphanelerini taklit ederek kullanıcıları sahte oturum açma ekranlarına yönlendirmek amacıyla kötüye kullanılabilmektedir. Toshiba ve Muji gibi büyük markaların web sitelerinde tespit edilen bu saldırı, kullanıcı verilerinin çalınmasına neden olabilecek ciddi bir güvenlik tehdidini ortaya çıkarmıştır.
Sorun Tanımı
Saldırının Mekanizması
Saldırganlar, aşağıdaki adımlarla Polyfill tabanlı sahte oturum açma ekranlarını oluşturabilmektedir:
- Meşru Polyfill Kütüphanelerinin Değiştirilmesi: Saldırganlar, popüler Polyfill kütüphanelerini (örn.
core-js,polyfill-service) indirek olarak değiştirir ve bu kütüphanelerin CDN (İçerik Dağıtım Ağı) bağlantılarını sahte sunuculara yönlendirir. - Kötü Amaçlı JavaScript Enjeksiyonu: Değiştirilen Polyfill koduna, kullanıcıları sahte oturum açma sayfalarına yönlendiren JavaScript kodları eklenir. Bu sayfalar, orijinal siteye benzer şekilde tasarlanarak kullanıcıları kandırmayı amaçlar.
- Oturum Açma Verilerinin Toplanması: Kullanıcılar sahte sayfaya giriş yaptığında, girilen kimlik bilgileri (e-posta, şifre) saldırganların kontrolündeki sunuculara gönderilir.
Toshiba ve Muji Web Sitelerinde Tespit Edilen Durum
Toshiba ve Muji web sitelerinde ortaya çıkan sahte oturum açma ekranları, aşağıdaki belirtilerle tespit edilmiştir:
- Oturum açma ekranlarının orijinal siteye ait olmadığına dair uyarılar (örn. URL farklılıkları, SSL sertifikası eksikliği).
- JavaScript konsolunda
Polyfillkaynaklı hata mesajları. - Kullanıcıların girdiği verilerin üçüncü taraf sunuculara gönderildiğine dair ağ trafiği kayıtları.
Uyarı: Bu tür saldırılar, yalnızca Polyfill kütüphanelerini değil, aynı zamanda üçüncü taraf eklentileri ve widget'ları da hedef alabilir. Web sitesi sahiplerinin, tüm üçüncü taraf bağımlılıklarını düzenli olarak denetlemeleri ve güvenlik açıklarını gidermek için Subresource Integrity (SRI) gibi mekanizmaları kullanmaları önemlidir.
Çözüm Adımları
1. Web Sitesi Sahipleri İçin Adımlar
Adım 1: Üçüncü Taraf Bağımlılıkların Denetlenmesi
- CDN Kullanımının Kontrolü: Web sitesinde kullanılan tüm üçüncü taraf CDN'lerin (örn. Polyfill CDN'leri) güvenilirliğini doğrulayın. Önerilen: Kendi sunucularınızda barındırılan Polyfill kütüphanelerini kullanın.
- SRI (Subresource Integrity) Uygulanması: Üçüncü taraf kaynaklara
integrityözniteliği ekleyerek, bu kaynakların değiştirilmediğinden emin olun. Örnek:<script src="https://cdn.example.com/polyfill.js" integrity="sha384-..." crossorigin="anonymous"></script> - JavaScript Konsolunun İzlenmesi: Web sitesine erişen kullanıcılardan gelen hata raporlarını inceleyerek, sahte oturum açma ekranlarına neden olan JavaScript kodlarını tespit edin.
Adım 2: Sahte Oturum Açma Ekranlarının Engellenmesi
- İçerik Güvenlik Politikası (CSP) Uygulanması: CSP, web sitesine yüklenen içerikleri kısıtlayarak, yalnızca güvenilir kaynaklardan gelen komut dosyalarının çalışmasına izin verir. Örnek CSP başlığı:
Content-Security-Policy: script-src 'self' 'unsafe-inline' https://trusted.cdn.com; - Oturum Açma Sayfalarının Doğrulanması: Web sitesinin oturum açma sayfalarını, orijinal URL'leri ve sertifikalarıyla karşılaştırarak doğrulayın. Sahte sayfaların tespiti için aşağıdaki komutları kullanabilirsiniz:
# Sahte oturum açma sayfasının IP adresini tespit etme curl -I https://sahte-site.com/login # SSL sertifikasının doğrulanması openssl s_client -connect sahte-site.com:443 -servername sahte-site.com | openssl x509 -noout -text - Kullanıcı Bildirimleri ve Eğitimi: Kullanıcıları, sahte oturum açma ekranlarına karşı dikkatli olmaları konusunda bilgilendirin. Örneğin, tarayıcı adres çubuğunda yeşil kilit simgesinin (SSL sertifikası) olup olmadığını kontrol etmelerini sağlayın.
2. Kullanıcılar İçin Öneriler
Adım 1: Tarayıcı Güvenlik Ayarlarının Yapılandırılması
- Güncel Tarayıcı Kullanımı: Tarayıcınızı ve eklentilerini sürekli olarak güncelleyin. Eski tarayıcılar, Polyfill tabanlı saldırılara karşı daha savunmasızdır.
- Güvenilir Eklentilerin Kullanımı: Tarayıcı eklentilerini yalnızca resmi mağazalardan indirin ve güncel tutun. Sahte eklentiler, Polyfill saldırılarına aracılık edebilir.
- JavaScript Konsolunun İzlenmesi: Web sitelerini ziyaret ederken JavaScript konsolunda hata mesajları olup olmadığını kontrol edin. Hatalar, sahte oturum açma ekranlarının bir göstergesi olabilir.
Adım 2: Kimlik Bilgilerinin Korunması
- İki Faktörlü Kimlik Doğrulama (2FA) Kullanımı: Hesaplarınıza 2FA ekleyerek, yalnızca şifreyle değil, aynı zamanda ikinci bir doğrulama yöntemiyle giriş yapın. Bu, sahte oturum açma girişimlerinde hesaplarınızın korunmasına yardımcı olur.
# Google Authenticator gibi 2FA uygulamaları kullanın # Hesap ayarlarından 2FA'yı etkinleştirin - Şifre Yöneticisi Kullanımı: Farklı hesaplar için benzersiz ve güçlü şifreler kullanın. Şifre yöneticileri, sahte oturum açma sayfalarını tespit etmenize yardımcı olabilir.
# Örnek: Bitwarden, 1Password gibi şifre yöneticileri - Sahte Sayfalara Girilmemesi: Eğer bir oturum açma ekranı şüpheli görünüyorsa, asla giriş yapmayın. Doğrudan web sitesinin resmi URL'sini kullanarak giriş yapın.
İleri Düzey Koruma Yöntemleri
Web Sitesi Sahipleri İçin
Web Application Firewall (WAF) Kullanımı
WAF, web uygulamalarına yönelik saldırıları engellemek için tasarlanmış bir güvenlik duvarıdır. Polyfill tabanlı saldırıları tespit etmek ve engellemek için aşağıdaki kuralları WAF'a ekleyebilirsiniz:
# Örnek WAF kuralı (ModSecurity syntax)
SecRule REQUEST_FILENAME "@contains /login" \
"id:1001,phase:2,deny,status:403,msg:'Sahte Oturum Açma Girişimi'
Otomatik Güvenlik Denetimleri
Web sitelerini otomatik olarak tarayan araçlar kullanarak, üçüncü taraf bağımlılıklarındaki güvenlik açıklarını tespit edin. Örnek araçlar:
- Snyk: Üçüncü taraf bağımlılıklarını tarayarak güvenlik açıklarını rapor eder.
# Snyk CLI kullanımı npx snyk test npx snyk monitor - Dependabot: GitHub deposunda bağımlılık güvenlik açıklarını otomatik olarak tespit eder ve düzeltir.
# Dependabot yapılandırma örneği version: 2 updates: - package-ecosystem: "npm" directory: "/" schedule: interval: "daily"
Kullanıcılar İçin
Tarayıcı İzolasyonu ve Sanal Ortamlar
Güvenmediğiniz web sitelerini sanal bir ortamda veya tarayıcı izolasyonu kullanarak ziyaret edin. Bu, saldırganların yerel makinenize erişmesini engeller. Örnek araçlar:
- Firefox Multi-Account Containers: Farklı web sitelerini izole edilmiş konteynerlerde açar.
- Sandboxie: Web sitelerini sanal bir ortamda çalıştırır.
# Sandboxie kullanımı sandboxie-run --box:WebSitesiKutusu --url:https://example.com
Sonuç
Polyfill tabanlı sahte oturum açma saldırıları, hem web sitesi sahiplerinin hem de kullanıcıların dikkatli olmasını gerektiren ciddi bir tehdittir. Bu saldırılardan korunmak için, üçüncü taraf bağımlılıkların düzenli olarak denetlenmesi, güvenlik politikalarının uygulanması ve kullanıcıların bilinçlendirilmesi gerekmektedir. Toshiba ve Muji gibi büyük markaların web sitelerinde ortaya çıkan bu saldırı, tüm web geliştiricilerinin ve kullanıcıların güvenlik konusunda daha proaktif olmalarını gerektirmektedir.



