Durante il processo di installazione, Android isola le app l'una dall'altra e dal sistema assegnandole un distinto ID utente Linux (UID) per motivi di sicurezza. Questo UID non cambia per la durata della vita dell'app sul dispositivo. Il sistema mantiene un elenco di UID in uso e assegna il successivo disponibile all'app appena installata. Il riavvio del dispositivo costringerà il sistema a ricostruire l'elenco UID, quindi gli UID delle app disinstallate verranno riciclati ed eventualmente assegnati alle app appena installate. Ora qui sta il rischio. Quando un'app viene disinstallata, l'utente verrà eliminato. Tutti i dati lasciati da questa app ora diventano ciò che si può chiamare "meno genitore", perché il loro proprietario non esiste più. Non hanno alcun danno se rimangono così.
Tuttavia, se sono ereditati o posseduti da un'altra app, cioè un altro utente (UID), ci saranno potenziali conseguenze sulla sicurezza se il "genitore di meno" conosce molto sul suo precedente genitore o possiede ancora alcuni privilegi
del genitore precedente. Questo problema è chiamato problema residuo di dati . La vulnerabilità dei residui di dati è particolarmente complicata a causa del fatto che il residuo potrebbe assumere diverse forme. Durante il runtime, il sistema può archiviare vari tipi di dati per conto di app, che vanno da permessi delle app, cronologia delle operazioni, scelte di configurazione dell'utente, ecc. Questi dati possono essere file, database e strutture dati in memoria. Potrebbero non essere semplicemente dati; possono rappresentare
privilegi (come capacità), cioè chiunque li possieda
può ottenere ulteriore potenza.
Ad esempio, l'URI inserito negli Appunti Android da un'app consente ai destinatari di accedere ai dati privati di quell'app. Se un'app utilizza i servizi di gestione delle credenziali di Android, come AccountManager o Keystore, le credenziali per gli account online dell'utente possono trasformarsi in residui di dati dopo la disinstallazione dell'app. Un'app di posta elettronica (xyz) utilizza AccountManager per archiviare le credenziali per tutti gli account di posta elettronica gestiti, inclusi Microsoft Exchange, Gmail e Yahoo Mail. Dopo aver disinstallato questa app, qualsiasi
l'app dannosa può acquisire tutte le credenziali memorizzate all'interno di AccountManager e può accedere correttamente agli account Yahoo Mail, Gmail e Microsoft Exchange dell'utente.
Nature of Application Cache: può essere e non essere sensibile, entrambi.
Posizione: se un'app appena installata con lo stesso UID può ottenere l'accesso a
file scaricati dal loro precedente proprietario. Per questo il percorso predefinito è
/data/data/-
com.android.providers.downloads/cache/
Puoi raccogliere tutti i servizi di sistema disponibili utilizzando l'utilità dumpsys fornita da Android Debug Bridge (adb) se vuoi che tipo di file siano lasciati indietro da una singola app dopo la disinstallazione.