Bu bilgi, uygulamasında/uygulamalarında Intent Şema Saldırısı olarak bilinen güvenlik açığı bulunan geliştiriciler içindir.
Neler oluyor?
Uygulamalarınızdan biri veya birkaçı, kötü amaçlı ağların ve web sitelerinin gizli uygulama bileşenlerine erişmesine izin verebilecek bir Intent Şema Saldırısı sorunu içeriyor. Lütfen Play Console hesabınızdaki bildirime bakın. Play Console hesabınızda gösterilen son tarihlerden sonra, düzeltilmemiş güvenlik açığı içeren tüm uygulamalar Google Play'den kaldırılacaktır.
Yapılması gerekenler
-
Play Console hesabınızda oturum açıp Uyarılar bölümüne gidin. Burada hangi uygulamaların etkilendiğini ve bu sorunları çözmeniz gereken son tarihleri görebilirsiniz.
-
Etkilenen uygulamalarınızı aşağıda açıklanan adımları uygulayarak güncelleyin.
-
Etkilenen uygulamalarınızın güncellenmiş sürümlerini gönderin.
Uygulamanız, yeniden göndermenizin ardından tekrar incelenir. Bu işlem birkaç saat sürebilir. Uygulama incelemeden başarıyla geçerek yayınlanırsa başka bir işleme gerek yoktur. Uygulama incelemede başarısız olursa yeni uygulama sürümü yayınlanmaz ve bir e-posta bildirimi alırsınız.
Ek ayrıntılar
Güvenilir olmayan web içeriğini ziyaret eden, intent:// bağlantılarını Intent.parseUri ile ayrıştıran ve bu Amaçları startActivity'yi kullanarak gönderen Web Görünümleri, Intent-Scheme Saldırısına açıktır. Kötü amaçlı web içerikleri bu Web Görünümlerini kandırarak, rastgele Amaçları gizli uygulama bileşenlerine göndermesini sağlayabilir. Bu durum, bu tür bileşenlerin manipüle ettiği gizli uygulama verilerinin çalınması gibi uygulama güvenliği ihlallerine yol açabilir. Güvenilir alanlarda bulunmasına rağmen HTTP üzerinden yüklenen içeriğin güvenilir olmayan web içeriği kapsamında değerlendirildiğini unutmayın.
Bu güvenlik açığını aşağıdaki yöntemlerden birini kullanarak engellemenizi öneririz:
1. Seçenek: Web Görüntüleri'nin rastgele Amaç gönderemeyeceğinden emin olun
Uygulamalar aşağıdaki kodu kullanarak, Intent.parseUri ile oluşturulan Amaçların BROWSABLE Amaç Filtreleri içeren bileşenlere yalnızca Implicit Intents olarak gönderilmesini zorunlu kılabilir:
// convert Intent scheme URL to Intent object
Intent intent = Intent.parseUri(url);
// forbid launching activities without BROWSABLE category
intent.addCategory("android.intent.category.BROWSABLE");
// forbid explicit call
intent.setComponent(null);
// forbid Intent with selector Intent
intent.setSelector(null);
// start the activity by the Intent
view.getContext().startActivity(intent, -1);
2. Seçenek: Web Görünümleri'nin güvenilir olmayan web içeriği yüklemediğinden emin olun
Bir Web Görünümü'nün rastgele intent://
şema URL'lerini ayrıştırması gerekiyorsa güvenilir olmayan web içeriğini yüklemediğinden emin olmanız gerekir. Güvenilir olmayan web içeriği, şifrelenmemiş bir bağlantı üzerinden yüklenen web içeriğidir. Geliştiriciler, android:usesCleartextTraffic
politikasını Manifest dosyalarında false (yanlış) değerine ayarlayabilir veya HTTP trafiğine izin vermeyen bir Network Security Config ayarı belirleyebilirler. Alternatif olarak, etkilenen Web Görünümleri'nin loadUrl
aracılığıyla HTTP şemaları içeren URL'leri yüklememesini sağlayabilirler.
Geliştiricilerin, etkilenen Web Görünümleri'nin güvenilir olmayan kaynaklardan edinilen kısıtlanmamış URL'leri (örneğin, güvenilir olmayan Amaçlardan edinilen URL'ler) yüklemediğinden emin olmalarını öneririz.
Yardıma hazırız
Güvenlik açığı hakkında teknik sorularınız varsa sorularınızı Stack Overflow'da yayınlayabilir ve “android-security” etiketini kullanabilirsiniz. Bu sorunu çözmek için uygulamanız gereken adımlarla ilgili sorunuz olursa geliştirici destek ekibimize ulaşabilirsiniz.