Wisconsin-Madison Üniversitesi’nden bir araştırma ekibi, Chrome Web Mağazası’na, bir web sitesinin kaynak kodundan düz metin şifrelerini çalabilen bir (PoC) kavram kanıtı uzantısı yükledi.
Web tarayıcılarındaki metin giriş alanlarının incelenmesi, Chrome uzantılarının temelini oluşturan izin modelinin, en az ayrıcalık ve tam uyumlulaştırma ilkelerini ihlal ettiğini ortaya çıkardı.
Ayrıca araştırmacılar, bazı Google ve Cloudflare portalları da dahil olmak üzere milyonlarca ziyaretçisi olan çok sayıda web sitesinin, web sayfalarının HTML kaynak kodunda şifreleri düz metin olarak sakladığını ve uzantıların bu şifreleri almasına olanak tanıdığını keşfetti
Sorunun kaynağı ne?
Araştırmacılar, sorunun, tarayıcı uzantılarına, yükledikleri sitelerin DOM ağacına sınırsız erişim verme şeklindeki sistemik uygulamayla ilgili olduğunu ve bunun, kullanıcı giriş alanları gibi potansiyel olarak hassas öğelere erişime izin verdiğini açıklıyor.
Uzantı ile sitenin öğeleri arasında herhangi bir güvenlik sınırının bulunmadığı göz önüne alındığında, ilki, kaynak kodunda görünen verilere sınırsız erişime sahip ve içeriğinin herhangi bir alanını çıkarabiliyor.
Ayrıca uzantı, hassas girdileri korumak için site tarafından uygulanan herhangi bir gizlemeyi atlayarak ve veriyi programlı olarak çalarak, kullanıcı girdikçe girdilerin değerini doğrudan çıkarmak için DOM API’yi kötüye kullanabiliyor.
Google Chrome’un bu yıl tanıttığı ve çoğu tarayıcı tarafından benimsenen Manifest V3 protokolü, API’nin kötüye kullanımını sınırlandırıyor, uzantıların uzaktan barındırılan ve tespitten kaçmaya yardımcı olabilecek kodları çağırmasını yasaklıyor ve rastgele kod yürütülmesine yol açan değerlendirme ifadelerinin kullanımını engelliyor.
Ancak araştırmacıların açıkladığı gibi Manifest V3, uzantılar ve web sayfaları arasında bir güvenlik sınırı getirmediğinden içerik komut dosyalarındaki sorun devam ediyor.
Web Mağazasına PoC Yükleme
Google’ın Web Mağazası inceleme sürecini test etmek için araştırmacılar, şifre ele geçirme saldırıları gerçekleştirebilecek bir Chrome uzantısı oluşturmaya ve bunu platforma yüklemeye karar verdi.
Araştırmacılar, GPT tabanlı bir asistan gibi görünen ve şunları yapabilen bir uzantı oluşturdular:
- Kullanıcı bir sayfada normal ifade aracılığıyla oturum açmaya çalıştığında HTML kaynak kodunu yakala.
- Hedef giriş alanlarını seçmek ve ‘.value’ işlevini kullanarak kullanıcı girişlerini çıkarmak için CSS seçicilerini kötüye kullan.
- JS tabanlı karartılmış alanları güvenli olmayan parola alanlarıyla değiştirmek için öğe değişikliği gerçekleştir.
Uzantı bariz kötü amaçlı kod içermediğinden statik algılamayı atlatıyor ve harici kaynaklardan kod yürütmediği için (dinamik enjeksiyon), dolayısıyla Manifest V3 uyumlu görünüyor.
Bu durum, uzantının incelemeyi geçmesine ve Google Chrome Web Mağazası’na kabul edilmesine yol açtı; dolayısıyla güvenlik kontrolleri potansiyel tehdidi yakalayamadı.
Ekip, hiçbir gerçek verinin toplanmadığından veya kötüye kullanılmadığından emin olmak için etik standartları izledi ve yalnızca öğe hedefleme sunucusunu aktif tutarken veri alan sunucuyu devre dışı bıraktı.
Ayrıca uzantı, çok fazla indirilmemesi için her zaman “yayınlanmamış” olarak ayarlandı ve onaylandıktan sonra mağazadan derhal kaldırıldı.
Kullanım potansiyeli
Sonraki ölçümler, en iyi 10 bin web sitesinden (Tranco‘ya göre) yaklaşık 1.100’ünün kullanıcı şifrelerini HTML DOM içinde düz metin biçiminde sakladığını gösterdi.
Aynı gruptaki diğer 7.300 web sitesinin de DOM API erişimine ve kullanıcının giriş değerinin doğrudan çıkarılmasına karşı savunmasız olduğu değerlendirildi.
Wisconsin-Madison Üniversitesi’ndeki araştırmacıların bu hafta başında yayınladığı teknik makale, Chrome Web Mağazası’ndaki yaklaşık 17.300 uzantının (%12,5) web sitelerinden hassas bilgiler çıkarmak için gerekli izinleri sağladığını iddia ediyor.
Yaygın olarak kullanılan reklam engelleyiciler ve alışveriş uygulamaları da dahil olmak üzere bunlardan birçoğu milyonlarca kurulumla övünüyor.
Raporda vurgulanan koruma eksikliğine ilişkin dikkate değer web sitesi örnekleri aşağıda belirtilmiştir:
- gmail.com – HTML kaynak kodunda düz metin şifreler tutuluyor.
- cloudflare.com – HTML kaynak kodunda düz metin şifreler tutuluyor.
- facebook.com – kullanıcı girişleri DOM API aracılığıyla çıkarılabiliyor.
- citibank.com – kullanıcı girdileri DOM API aracılığıyla çıkarılabiliyor.
- irs.gov – SSN’ler web sayfasının kaynak kodunda düz metin biçiminde görünüyor.
- Capitalone.com – SSN’ler web sayfasının kaynak kodunda düz metin biçiminde görünüyor.
- usenix.org – SSN’ler web sayfasının kaynak kodunda düz metin biçiminde görünüyor.
- amazon.com – kredi kartı ayrıntıları (güvenlik kodu da dahil) ve posta kodu, sayfanın kaynak kodunda düz metin biçiminde görülebiliyor.
Son olarak analiz, 190 uzantının (bazıları 100.000’den fazla indirmeye sahip) doğrudan şifre alanlarına eriştiğini ve değerleri bir değişkende sakladığını gösterdi; bu da bazı yayıncıların halihazırda güvenlik açığından yararlanmaya çalışıyor olabileceğini gösteriyor.