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 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 kaba taneli 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ı buldu.
Sorunun kaynağı
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 sahiptir ve içeriğinin herhangi birini çıkarabilir.
Ayrıca uzantı, hassas girdileri korumak için site tarafından uygulanan herhangi bir gizlemeyi atlayarak ve değeri programlı olarak çalarak, kullanıcı girdikçe girdilerin değerini doğrudan çıkarmak için DOM API’yi kötüye kullanabilir.
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ı getirmesini yasaklıyor ve değerlendirmek keyfi kod yürütülmesine yol açan ifadeler.
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 yakalayın.
- 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ın.
- JS tabanlı karartılmış alanları güvenli olmayan parola alanlarıyla değiştirmek için öğe değişikliği gerçekleştirin.
Uzantı bariz kötü amaçlı kod içermediğinden statik algılamayı atlatır ve harici kaynaklardan kod getirmez (dinamik enjeksiyon), dolayısıyla Manifest V3 uyumludur.
Bu, uzantının incelemeyi geçmesine ve Google Chrome Web Mağazası’nda 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 şunlardır:
- gmail.com – HTML kaynak kodundaki düz metin şifreleri
- cloudflare.com – HTML kaynak kodundaki düz metin şifreleri
- facebook.com – kullanıcı girişleri DOM API aracılığıyla çıkarılabilir
- citibank.com – kullanıcı girişleri DOM API aracılığıyla çıkarılabilir
- irs.gov – SSN’ler web sayfasının kaynak kodunda düz metin biçiminde görünür
- Capitalone.com – SSN’ler web sayfasının kaynak kodunda düz metin biçiminde görünür
- usenix.org – SSN’ler web sayfasının kaynak kodunda düz metin biçiminde görünür
- amazon.com – kredi kartı ayrıntıları (güvenlik kodu dahil) ve posta kodu, sayfanın kaynak kodunda düz metin biçiminde görünür
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.
BleepingComputer, makalede vurgulanan riskleri iyileştirmeyi planlayıp planlamadıklarını sormak için adı geçen şirketlere ulaştı ve şu ana kadar Amazon ve Google’dan yanıtlar aldık:
Şu tarihte: Amazon, müşteri güvenliği birinci önceliktir ve bunu korumak için çeşitli adımlar atıyoruz. Amazon web sitelerine girilen müşteri bilgileri güvendedir.
Tarayıcı ve uzantı geliştiricilerinin, hizmetlerini kullanan müşterileri daha fazla korumak için en iyi güvenlik uygulamalarını kullanmalarını teşvik ediyoruz. – Amazon sözcüsü
A Google sözcü konuyu incelediklerini doğruladı ve Chrome’un Uzantı Güvenliği SSS’sinin, ilgili izinler uygun şekilde alındığı sürece şifre alanlarına erişimi bir güvenlik sorunu olarak değerlendirmediğine dikkat çekti.