OWASP kategorisi: MASVS-PLATFORM: Platform Etkileşimi
Genel Bakış
android:exported
Özelliği, bir bileşenin (etkinlik, hizmet, yayın alıcısı vb.) diğer uygulamaların bileşenleri tarafından başlatılıp başlatılamayacağını belirler:
true
ise herhangi bir uygulama etkinliğe erişebilir ve tam sınıf adıyla başlatabilir.false
ise yalnızca aynı uygulamanın bileşenleri, aynı kullanıcı kimliğine sahip uygulamalar veya ayrıcalıklı sistem bileşenleri etkinliği başlatabilir.
Bu özelliğin varsayılan değerinin arkasındaki mantık zaman içinde değişti ve bileşen türlerine ve Android sürümlerine göre farklılık gösterdi. Örneğin, API düzeyi 16 (Android 4.1.1) veya daha eski sürümlerde <provider>
öğelerinin değeri varsayılan olarak true
olarak ayarlanır. Bu özelliği açıkça ayarlamamak, bazı cihazlar arasında farklı varsayılan değerlere sahip olma riskini beraberinde getirir.
Etki
Farklı varsayılan değerlerin kullanılması, dahili uygulama bileşenlerini yanlışlıkla herkese açık hale getirebileceğiniz anlamına gelir. Sonuçlara ilişkin birkaç örnek:
Hizmet reddi saldırıları. Diğer uygulamaların, uygulamanızın dahili işlevlerini değiştirmek için dahili bileşenlere uygunsuz şekilde erişmesi. Hassas verilerin sızdırılması Güvenlik açığı olan uygulama bağlamında kod yürütme.
Risk azaltma önlemleri
android:exported
özelliğini her zaman açıkça ayarlayın. Bu sayede, yorum yapmaya gerek kalmaz ve bir bileşenin görünürlüğüyle ilgili niyetiniz net bir şekilde belirtilir.
Sizin için önerilenler
- Not: JavaScript kapalıyken bağlantı metni gösterilir.
- # Anahtar yönetimi {:#key-management}
- Yerleştirilmiş DEX kodunu doğrudan APK'dan çalıştırma
- Tapjacking