Android Q proteggerà meglio la tua privacy con nuove funzionalità

L'analisi di una build di Android Q trapelata mostra ulteriori aggiornamenti sulla privacy in arrivo su Android: blocco delle letture degli appunti in background, migliore protezione dei media e altro ancora.

Ogni nuova versione di Android include nuove funzionalità, il che significa che Android necessita di nuove autorizzazioni per accedere a queste funzionalità. Ho trovato molte nuove autorizzazioni nel framework di Android Q (non tutte le tratterò in questo articolo perché molte di esse non sono interessanti). Alcune delle autorizzazioni che ho trovato non avevano alcuna descrizione, ma i loro nomi sono comunque abbastanza autoesplicativi. Immergiamoci e discutiamo dei nuovi miglioramenti della privacy dietro le quinte in Android Q, nonché di alcune altre funzionalità interessanti che ho trovato.

Un ringraziamento speciale a PNF Software per averci fornito una licenza d'uso Decompilatore JEB. JEB Decompiler è uno strumento di reverse engineering di livello professionale per applicazioni Android.

Blocco dell'accesso agli appunti in background

Lo sapevi ogni app in Android può leggere i tuoi appuntie non è necessario concedere loro un'autorizzazione di runtime per farlo? Molte persone probabilmente copiano informazioni sensibili come nomi utente, password, indirizzi, ecc. tutto il tempo, quindi sarebbe facile per qualsiasi app recuperare questi dati in background. Ecco perché a molte app di gestione delle password piace KeepPass hanno le proprie tastiere che puoi utilizzare per bypassare il gestore degli appunti di Android. Le app di gestione delle password spesso cancellano gli appunti dopo aver copiato e incollato qualsiasi cosa. Il motivo per cui le app Android devono leggere gli appunti è che senza di essi non possono accettare alcun testo dagli appunti, il che significa che non puoi incollare alcun testo che hai copiato. Android Q sta cercando di cambiare la situazione, per fortuna.

È stata aggiunta una nuova autorizzazione denominata "READ_CLIPBOARD_IN_BACKGROUND"Sembra che farà esattamente quello che dice: limita le app che possono leggere gli appunti in background. Il livello di protezione di questa autorizzazione è "firma", il che significa che solo le app firmate dall'OEM possono ottenere questa autorizzazione.

<permissionandroid: name="android.permission.READ_CLIPBOARD_IN_BACKGROUND"android: protectionLevel="signature"/>

Supporto per il downgrade delle app?

Ti è mai capitato di installare un aggiornamento per un'app su Google Play e di pentirtene subito? A volte uno sviluppatore invia un aggiornamento che interrompe qualcosa che non aveva previsto, ma una volta che l'aggiornamento è stato inviato e installato è troppo tardi per fare qualcosa al riguardo. Lo sviluppatore deve rilasciare rapidamente un hotfix e l'utente deve smettere di utilizzare l'app fino al rilascio di un aggiornamento oppure disinstallare l'app e caricare una versione precedente. Non c'è modo di eseguire il downgrade di un'app a meno che tu non abbia un dispositivo rooted con un'app simile TitaniumBackup, perché il gestore pacchetti di Android ti impedisce di installare versioni precedenti delle app. C'è una buona ragione per farlo perché l'installazione di una versione precedente di un'app potrebbe causare guasti se il file i dati dell'app non vengono cancellati o potrebbero esporre l'utente a pericoli se la versione precedente è vulnerabile a una sicurezza difetto.

Anche se non sappiamo con certezza se Google consentirà agli utenti di ripristinare le app a una versione precedente, abbiamo trovato diverse autorizzazioni e comandi in Android Q che suggeriscono che sarà possibile. Innanzitutto il nuovo”PACKAGE_ROLLBACK_AGENT" E "MANAGE_ROLLBACKS" le autorizzazioni suggeriscono che l'app di mercato preinstallata può fungere da agente per gestire il rollback delle versioni dell'applicazione. La prima autorizzazione è "firma" mentre la seconda è "programma di installazione" sopra "firma", quindi significa solo un'app firmata dalla piattaforma con la possibilità di installare app (in genere solo il gestore pacchetti, Google Play Store o altri app store proprietari, a seconda del dispositivo) possono utilizzare queste autorizzazioni. Sono stati aggiunti due nuovi intenti di trasmissione protetti: “PACKAGE_ENABLE_ROLLBACK" E "PACKAGE_ROLLBACK EXECUTED.” Queste trasmissioni non possono essere inviate da app di terze parti e probabilmente hanno lo scopo di consentire all'app interessata di sapere quando è stato effettuato il downgrade (molto come il modo in cui le app vengono informate quando sono state aggiornate, dando loro la possibilità di visualizzare qualche messaggio al successivo avvio.) Infine, è stato aggiunto un nuovo flag a IL "pm install"comando di shell. La bandiera, chiamata “--enable-rollback", potrebbe consentire di ripristinare un'applicazione a una versione precedente. Non sono riuscito a farlo funzionare, però.

<protected-broadcast android: name="android.intent.action.PACKAGE_ENABLE_ROLLBACK"/>
<protected-broadcast android: name="android.intent.action.PACKAGE_ROLLBACK_EXECUTED"/>
<permissionandroid: name="android.permission.PACKAGE_ROLLBACK_AGENT"android: protectionLevel="signature"/>
<permissionandroid: name="android.permission.MANAGE_ROLLBACKS"android: protectionLevel="installer|signature"/>

Protezione dei file su dispositivi di archiviazione esterni

L'archiviazione dei dati in Android prevede la "memoria interna" (/dati esclusi /dati/media) e la "memoria esterna" (/dati/media ed eventuali schede SD o unità USB montate). Gli APK e i relativi dati più sensibili vengono archiviati nella memoria interna, mentre qualsiasi supporto condiviso come documenti, immagini, video, ecc. vengono archiviati in una memoria esterna. Per impostazione predefinita, le app possono leggere e scrivere file solo in una singola directory nella memoria esterna: /data/media/[utente]/Android/data/[nome_pacchetto]. (Per saperne di più su questo comportamento, ti consiglio di leggere il mio articolo su sdcardfs in Android Oreo.) Una volta che l'utente concede a un'app qualsiasi autorizzazione nel gruppo di autorizzazioni di archiviazione esterna (READ_EXTERNAL_STORAGE O WRITE_EXTERNAL_STORAGE), l'app potrà quindi leggere o scrivere qualsiasi file nella memoria esterna. Ciò è problematico perché stai concedendo a un'app la possibilità di raccogliere potenzialmente molti dati su di te quando volevi solo consentirle di leggere o scrivere determinati file. Per risolvere questo problema, sembra che Google stia introducendo un paio di nuove autorizzazioni relative all'archiviazione esterna in Android Q. Le autorizzazioni determineranno le seguenti funzionalità:

  • Possibilità di leggere le posizioni dai tuoi media. (Probabilmente blocca l'accesso ai metadati delle immagini per impostazione predefinita.)
  • Possibilità di accedere ai file musicali.
  • Possibilità di accedere alle foto.
  • Possibilità di accedere ai video.

Per le app che contengono già il file READ_EXTERNAL_STORAGE O WRITE_EXTERNAL_STORAGE autorizzazioni prima dell'aggiornamento di Android Q, riceveranno la nuova Leggere permessi ma non il nuovo scrivere autorizzazioni. Ad esempio, un'app che è già stata concessa READ_EXTERNAL_STORAGE dall'utente verrà automaticamente concesso il READ_MEDIA_IMAGES permesso ma non il WRITE_MEDIA_IMAGES autorizzazione.

Stringhe rilevanti dal framework-res. di Android Q

<stringname="permgroupdesc_aural">access your musicstring>
<stringname="permgrouplab_visual">Photos & Videosstring>
<stringname="permgrouprequest_aural">Allow <b>%1$s</b> to access your music?string>
<stringname="permgroupdesc_visual">access your photos & videosstring>
<stringname="permgrouplab_activityRecognition">Activity recognitionstring>
<stringname="permgrouplab_aural">Musicstring>
<stringname="permdesc_videoRead">Allows the app to read your video collection.string>
<stringname="permdesc_videoWrite">Allows the app to modify your video collection.string>
<stringname="permdesc_imagesRead">Allows the app to read your photo collection.string>
<stringname="permdesc_imagesWrite">Allows the app to modify your photo collection.string>
<stringname="permdesc_audioRead">Allows the app to read your music collection.string>
<stringname="permdesc_audioWrite">Allows the app to modify your music collection.string>
<stringname="permlab_audioRead">read your music collectionstring>
<stringname="permlab_audioWrite">modify your music collectionstring>
<stringname="permdesc_mediaLocation">Allows the app to read locations from your media collection.string>



"android.permission.READ_EXTERNAL_STORAGE"

targetSdk="10000">
<new-permission name="android.permission.READ_MEDIA_AUDIO" />
<new-permission name="android.permission.READ_MEDIA_VIDEO" />
<new-permission name="android.permission.READ_MEDIA_IMAGES" />
split-permission>

"android.permission.WRITE_EXTERNAL_STORAGE"
targetSdk="10000">
<new-permission name="android.permission.READ_MEDIA_AUDIO" />
<new-permission name="android.permission.READ_MEDIA_VIDEO" />
<new-permission name="android.permission.READ_MEDIA_IMAGES" />
split-permission>

Per saperne di più

Il ritorno dell'accesso alla posizione in background

Android Oreo e Android 9 Pie hanno fatto grandi passi avanti nella protezione della privacy degli utenti, ma alcuni utenti ritengono che Google abbia esagerato. Una di queste aree che può essere considerata una regressione delle caratteristiche è quella in cui si trova accesso alla posizione in background. L'accesso alla posizione in Android Oreo e versioni successive è fortemente limitato se non addirittura eliminato per le app in esecuzione in background, quindi le app devono essere in primo piano o avere un servizio in primo piano in esecuzione se desiderano eseguire il polling continuo del dispositivo posizione. Ciò impedisce alle app di spiare la tua posizione in background, ma impedisce anche all'utente di mappare la propria posizione utilizzando un'app in background. Questo è un problema di cui abbiamo parlato in un articolo separato e sembra che Google stia aggiungendo una nuova autorizzazione in Android Q per rispondere alle preoccupazioni di questi sviluppatori e utenti.

In Android Q è stata aggiunta una nuova autorizzazione per consentire a un'app di avere accesso in background alla posizione del dispositivo. La descrizione dell'autorizzazione per l'utente avverte che "l'app avrà sempre accesso alla posizione, anche quando non la stai utilizzando". Questa autorizzazione può verranno concesse autorizzazioni "in aggiunta alla posizione approssimativa o precisa" in modo che l'app "possa accedere alla posizione mentre è in esecuzione in background". In contrasto, l'autorizzazione alla localizzazione approssimativa può ottenere la tua posizione solo in base a fonti di rete come ripetitori cellulari o reti Wi-Fi, ma solo quando l'app è nel primo piano.

Stringhe rilevanti dal framework-res. di Android Q

<stringname="permgroupbackgroundrequest_location">Always allow <b>%1$s</b> to access this device’s location?string>
<stringname="permgroupbackgroundrequestdetail_location">The app will always have access to the location, even when you’re not using the app.string>
"permdesc_accessBackgroundLocation">If this is granted additionally to the approximate or precise location access the app can access the location while running in the background.</string>
"permdesc_accessCoarseLocation">This app can get your location based on network sources such as cell towers and Wi-Fi networks, but only when the app is in the foreground. These location services must be turned on and available on your phone for the app to be able to usethem.string>
"android.permission.ACCESS_FINE_LOCATION"
targetSdk="10000">
<new-permission name="android.permission.ACCESS_BACKGROUND_LOCATION" />
split-permission>

"android.permission.ACCESS_COARSE_LOCATION"
targetSdk="10000">
<new-permission name="android.permission.ACCESS_BACKGROUND_LOCATION" />
split-permission>

Per saperne di più

Riconoscimento dell'attività fisica

È stata aggiunta una nuova autorizzazione ad Android Q che consente a un'app di "riconoscere la tua attività fisica". Questo tecnicamente non è nuovo poiché lo è già parte di Google Play Services, ma potrebbe significare che Google disaccoppia l'autorizzazione da Play Services. Considerando quanto Google Play Services sia stato integrato nel fornire le funzionalità principali di Android, è bello vedere parte della sua potenza restituita ad AOSP.

<stringname="permgroupdesc_activityRecognition">recognize activitystring>
<stringname="permgrouprequest_activityRecognition">Allow <b>%1$s</b> to recognize your physical activity?string>
<stringname="permdesc_activityRecognition">This app can recognize your physical activity.string>

Per ulteriori notizie su Android Q, consulta il nostro etichetta con le ultime notizie ordinate per data. Recentemente abbiamo pubblicato un articolo con molte prove che indicano che Google sta lavorando che supporta hardware di autenticazione facciale simile a Face ID in Android Q. Abbiamo anche un prova preliminare della build Android Q trapelata (e c'è anche un video) che dovresti vedere qui. Pubblicheremo ulteriori risultati su questa prima build di Android Q ottenuta, quindi rimanete sintonizzati.