Permessi Android

Le autorizzazioni Android forniscono controlli che aumentano la consapevolezza dell'utente e limitano l'accesso di un'app ai dati sensibili. Configurazione delle autorizzazioni su Android 8.0 e inferiore comprende whitelisting, senza la quale le applicazioni privilegiati sono disabilitate, anche se sono in priv-app percorso. Su Android 9 e versioni successive, un dispositivo che tenta di utilizzare app non correttamente autorizzate non si avvia.

L'aumento delle protezioni contro potenzialmente dannosi Applicazioni (PHA) migliorano

  • Trasparenza nel comportamento delle app potenzialmente dannose.
  • Controllo dell'utente sul comportamento dell'app.
  • Discrezione degli sviluppatori di app quando utilizzano dati privati, protetti da autorizzazioni.

Installazione del pacchetto e autorizzazione

In Android 9 ed inferiore, il pacchetto di installazione e funzionalità di controllo di permessi erano contenute nel PackageInstaller pacchetto ( //packages/apps/PackageInstaller ). In Android 10 e superiori, al controllo autorizzazione risiede funzionalità in un pacchetto separato, PermissionController ( //packages/apps/PermissionController ). La figura 1 illustra in cui i due pacchetti si trovano nella Android 10.

Separazione delle funzionalità di installazione del pacchetto e controllo delle autorizzazioni per le app di sistema e come utilizzate dalle app installate dall'utente
Figura 1. pacchetto di installazione e il permesso di controllo funzionalità di Android 10

Whitelist e accesso

In Android 6.0 e versioni successive, applicazioni di richiesta di accesso ai permessi pericolose in fase di esecuzione . Android 10 aggiunge le autorizzazioni di runtime di riconoscimento delle attività (AR), che richiedono all'utente di modificare o consentire autorizzazioni pericolose.

Android 8.0 ha richiesto di applicazioni esplicitamente whitelist privilegiata nel file XML di configurazione del sistema in /etc/permissions directory. In Android 9 e versioni successive, le autorizzazioni di privilegiati devono essere inserite nella white list o il dispositivo non può avviarsi.

Per limitare la visibilità API interno e prevenire le applicazioni di accedere accidentalmente librerie della piattaforma, Android 7.0 ha introdotto namespace per Native biblioteche . Questo separa le librerie di sistema dalle librerie di applicazioni e i produttori di dispositivi possono aggiungere le proprie librerie native.

A partire dal 10 applicazioni Android deve avere entrambi i permessi di firma e l'autorizzazione dell'utente per accedere ai contenuti dello schermo di un dispositivo . Le applicazioni con privilegi che si basano sulla funzionalità di acquisizione in silenzio, come prendere uno screenshot, dovrebbero utilizzare il MediaProjection invece di classe.

Trasparenza e privacy

In Android 6.0 e versioni successive, l'indirizzo MAC di fabbrica del dispositivo è protetto dall'accesso da fornitori di servizi Wi-Fi e analizzatori di pacchetti. Ulteriori restrizioni come di Android 10 applicazioni limite di accedere al identificatori di dispositivo immutabili (ID) meno che non siano inserite nella white list per le autorizzazioni privilegiati . (La connettività sezione fornisce spiegazioni dettagliate circa Identificatori del dispositivo , come questo impatti vettori.)

Su Android 9 e versioni precedenti, gli utenti effettuano scelte persistenti quando concedono l'accesso alla posizione alle app. A partire dal 10 Android, un tristate posizione permessi funzione offre agli utenti tre opzioni per consentire l'accesso app per la posizione di un dispositivo. Questi requisiti di autorizzazione vengono applicati alle app in Android 10 indipendentemente dall'SDK di destinazione.

Configura le autorizzazioni per altre funzionalità di trasparenza e privacy a partire da Android 10

Configurazioni semplificate

Le configurazioni delle autorizzazioni sono state semplificate per Android 6.0 e versioni successive.

  • Capacità ambientali per i servizi lanciati da init mantiene tutti gli aspetti della configurazione del servizio in un unico .rc file. Quando si impostano le capacità per servizi non lanciati da init , le capacità del file di configurazione del sistema utilizzando fs_config.c invece.
  • 7.x Android e abbassare estendere il meccanismo di ID di Android (AIDS), utilizzando un dispositivo specifico android_filesystem_config.h file per specificare le funzionalità del filesystem e / o personalizzati AIDS dispositivo del costruttore. Android 8.0 e versioni successive supporta un nuovo metodo per estendere le funzionalità del filesystem .
  • In Android 8.0, movimentazione comandi USB spostati su specifiche del dispositivo init script (una sostituzione per strati HAL) e in un demone USB nativa. L' HAL USB interfaccia deve essere implementata su tutti i dispositivi di lancio su Android 8.0 e versioni successive.