android:exported

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.