Android İzinleri

Android izinleri, kullanıcı farkındalığını artıran ve bir uygulamanın hassas verilere erişimini sınırlayan kontroller sağlar. Android 8.0 izinleri yapılandırma ve alt onlar yer alsalar da, onsuz ayrıcalıklı uygulamaları devre dışı bırakıldı, beyaz liste içerir priv-app yolu. Android 9 ve sonraki sürümlerde, doğru şekilde beyaz listeye alınmamış uygulamaları kullanmaya çalışan bir cihaz önyükleme yapmaz.

Karşı artan korumaları Potansiyel Zararlı Uygulamalar (PHA) geliştirmek

  • Zararlı olabilecek uygulama davranışına karşı şeffaflık.
  • Uygulama davranışı üzerinde kullanıcı kontrolü.
  • İzinlerle korunan özel verileri kullanırken uygulama geliştiricilerinin takdir yetkisi.

Paket yükleme ve izin

Android 9 ve alt yılında, paket yüklemek ve izin kontrolü işlevsellikleri içinde bulunuyorlar PackageInstaller (pakete //packages/apps/PackageInstaller ). Android 10 ve ayrı bir pakette, yüksek, izin kontrol işlevi işletmenin yerleşik PermissionController ( //packages/apps/PermissionController ). Şekil 1, iki paket Android 10 bulundurur göstermektedir.

Sistem uygulamaları için ve kullanıcı tarafından yüklenen uygulamalar tarafından kullanıldığı şekliyle paket yükleme ve izin kontrol işlevlerinin ayrılması
Android 10'da Şekil 1. Paket yüklemek ve izin kontrol işlevleri

Beyaz listeler ve erişim

Android 6.0 ve üstü, en tehlikeli izinleri erişim izni istemek uygulamaları çalışma zamanı . Android 10, kullanıcıdan tehlikeli izinleri değiştirmesini veya izin vermesini isteyen etkinlik tanıma (AR) çalışma zamanı izinleri ekler.

Android 8.0 sistem yapılandırma XML dosyalarında açıkça beyaz listesi ayrıcalıklı uygulamalar sizi gerekli /etc/permissions dizininde. Android 9 ve üstü olarak, ayrıcalıklı izinler gerekir , beyaz listede veya cihaz önyükleme yapamaz.

İç API görünürlüğünü sınırlandırmak ve yanlışlıkla platformu kütüphaneleri erişmesini uygulamaları önlemek için, Android 7.0 tanıtıldı Yerli Kütüphaneleri için Namespaces . Bu, sistem kitaplıklarını uygulama kitaplıklarından ayırır ve cihaz üreticileri kendi yerel kitaplıklarını ekleyebilir.

Android 10 apps başlayan imza izinler ve kullanıcı onayı ikisine de sahip olmalıdır bir cihazın ekran içeriğe erişmek . Böyle bir ekran görüntüsü alarak sessiz yakalama fonksiyonuna dayanan ayrıcalıklı uygulamalar, kullanması gereken MediaProjection yerine sınıf.

Şeffaflık ve gizlilik

Android 6.0 ve sonraki sürümlerde, bir cihaz fabrikası MAC adresi, Wi-Fi servis sağlayıcıları ve paket analizörleri tarafından erişime karşı korunur. Erişmesini Android 10 sınır uygulamaları gibi ek kısıtlamalar değişmez cihaz tanımlayıcıları (kimlik) onlar sürece ayrıcalıklı izinler için beyaz listede . ( Bağlantı bölümü yaklaşık ilgili bir tartışma sağlar cihaz tanımlayıcıları bu etkiler taşıyıcılar olarak,.)

Android 9 ve önceki sürümlerde kullanıcılar, uygulamalara konum erişimi verirken kalıcı seçimler yapar. Android 10'da başlayarak, bir tristate konum izinlerinin özellik kullanıcılara cihazın konumu için uygulama erişimine izin vermek üç seçenek sunar. Bu izin gereksinimleri, hedef SDK'dan bağımsız olarak Android 10'daki uygulamalara uygulanır.

Android 10'dan başlayarak diğer şeffaflık ve gizlilik özellikleri için izinleri yapılandırın

Kolaylaştırılmış konfigürasyonlar

İzin yapılandırmaları, Android 6.0 ve sonraki sürümler için kolaylaştırılmıştır.

  • Ortam yetenekleri başlattığı hizmetler için init tek hizmet yapılandırması tüm yönleriyle tutan .rc dosyası. Tarafından başlatılan değil hizmetler için yeteneklerini ayarlarken init , yapılandırmak dosya sistemi yetenekleri kullanarak fs_config.c yerine.
  • Android 7.x ve bir cihaz özgü kullanarak, Android kimlikleri (AIDS) mekanizması uzatmak düşürmek android_filesystem_config.h dosya sistemi yetenekleri ve / veya özel cihaz üreticisi AIDS'le belirtmek için dosyayı. Android 8.0 ve daha yüksek destekler bir yeni yöntem dosya sistemi yeteneklerini genişletmek için .
  • Android 8.0'da, taşıma USB komutları cihaza özgü dışına init komut dosyaları (HAL katmanlar için bir ikame) ve doğal bir USB cini içine. USB HAL arayüzü Android 8.0 ve üstü her cihaz başlatılması üzerine uygulanmalıdır.