Uprawnienia Androida

Uprawnienia Androida zapewniają kontrolę, która zwiększa świadomość użytkowników i ogranicza dostęp aplikacji do poufnych danych. Konfigurowanie uprawnień na Androidzie 8.0 i niższe obejmuje białych list, bez których uprzywilejowane aplikacje są wyłączone, nawet jeśli są one w priv-app ścieżce. W systemie Android 9 lub nowszym urządzenie, które próbuje używać aplikacji, które nie są odpowiednio umieszczone na białej liście, nie uruchamia się.

Zwiększone zabezpieczenia przed potencjalnie szkodliwymi aplikacjami (PHA) poprawy

  • Przejrzystość na potencjalnie szkodliwe zachowanie aplikacji.
  • Kontrola użytkownika nad zachowaniem aplikacji.
  • Swoboda twórców aplikacji podczas korzystania z prywatnych danych chronionych uprawnieniami.

Instalacja pakietu i uprawnienia

W Androidzie 9 i dolnej, pakiet zainstalować i funkcje kontrolne uprawnienie zostały zawarte w PackageInstaller opakowaniu ( //packages/apps/PackageInstaller ). W Androidzie 10 i wyższe, rezyduje funkcjonalności kontroli zezwolenie w oddzielnym opakowaniu, PermissionController ( //packages/apps/PermissionController ). Figura 1 przedstawia w której dwa pakiety znajdują się w Androida 10.

Rozdzielenie funkcji instalacji pakietów i kontroli uprawnień dla aplikacji systemowych i używanych przez aplikacje zainstalowane przez użytkowników
Rysunek 1. Pakiet instalacji i przyzwoleniem kontroli funkcjonalności w Android 10

Białe listy i dostęp

W Androidzie 6.0 i wyższej, aplikacje żądania dostępu do niebezpiecznych uprawnień w czasie pracy . Android 10 dodaje uprawnienia do rozpoznawania aktywności (AR), które skłaniają użytkownika do modyfikacji lub zezwolenia na niebezpieczne uprawnienia.

Android 8.0 wymagany do wyraźnie whitelist uprzywilejowanych aplikacji w konfiguracji systemu plików XML w /etc/permissions katalogu. W Androidzie 9 i wyższej, muszą być uprzywilejowane uprawnienia białej listy lub urządzenia nie można uruchomić.

Aby ograniczyć widoczność wewnętrznego API aplikacje i zapobiec przypadkowemu dostępu do bibliotek platformie Android 7.0 wprowadzono Przestrzenie nazw natywnych bibliotek . Oddziela to biblioteki systemowe od bibliotek aplikacji, a producenci urządzeń mogą dodawać własne biblioteki natywne.

Uruchamianie aplikacji w Android 10 musi mieć oba uprawnienia podpis i zgody użytkownika, aby uzyskać dostęp do zawartości ekranu danego urządzenia . Uprzywilejowane aplikacje, które opierają się na funkcjonalności przechwytywania cichego, takie jak zrzut ekranu, należy użyć MediaProjection klasę zamiast.

Przejrzystość i prywatność

W Androidzie 6.0 i nowszych fabryczny adres MAC urządzenia jest chroniony przed dostępem dostawców usług Wi-Fi i analizatorów pakietów. Dodatkowe ograniczenia poczynając od dopuszczalnych 10 Android aplikacje z dostępu do niezmienne identyfikatory urządzeń (IDS) , chyba że są one dozwolone dla uprzywilejowanych uprawnień . (The połączeń sekcja zawiera powiązany dyskusję o identyfikator urządzenia , a to wpływa nośników).

W Androidzie 9 i starszych użytkownicy dokonują stałych wyborów, przyznając aplikacjom dostęp do lokalizacji. Począwszy od Androida 10, A tristate uprawnienia lokalizacja funkcja daje użytkownikom trzy opcje umożliwiające dostęp do aplikacji lokalizacją urządzenia. Te wymagania dotyczące uprawnień są stosowane do aplikacji w systemie Android 10 niezależnie od docelowego pakietu SDK.

Skonfiguruj uprawnienia dla innych funkcji przejrzystości i prywatności, począwszy od Androida 10

Usprawnione konfiguracje

Konfiguracje uprawnień zostały uproszczone dla Androida 6.0 i nowszych.

  • Ambient możliwości dla usług uruchamianych przez init zachowuje wszystkie aspekty konfiguracji usług w jednym .rc pliku. Podczas ustawiania możliwości dla usług uruchamianych przez nie init , możliwości systemu plików configure używając fs_config.c zamiast.
  • 7.x Android i obniżyć przedłużyć Android identyfikatory (AIDS) mechanizm, za pomocą specyficznych dla urządzenia android_filesystem_config.h plik, aby określić możliwości systemu plików i / lub niestandardowych AIDS device-producenta. Android 8.0 i wyższe obsługuje nowy sposób rozszerzyć możliwości systemu plików .
  • W Androida 8,0 obsługi poleceń USB przenosi się z poszczególnych urządzeń init skryptów (podstawienie warstw Hal) i do natywnego demon USB. HAL USB interfejs musi być realizowany na każdym uruchomieniem urządzenia na Androidzie 8.0 i wyższej.