Dalla nuova versione di anteprima di ADT (versione 21) , hanno un nuovo avvertimento per i lint che mi dice la cosa successiva sul file manifest (nel tag dell'applicazione):
Dovrebbe impostare esplicitamente android: allowBackup su true o false (è true per impostazione predefinita e ciò può avere alcune implicazioni di sicurezza per i dati dell'applicazione)
Nel sito ufficiale hanno scritto:
Un paio di nuovi controlli: è necessario decidere esplicitamente se l'app consente i backup e un controllo dell'etichetta. C'è un nuovo flag della riga di comando per impostare il percorso della libreria. Molti miglioramenti all'analisi dei pelucchi incrementale durante la modifica.
Che cos'è questo avviso? Cos'è la funzione di backup e come si usa?
Inoltre, perché l'avviso mi dice che ha implicazioni per la sicurezza? Quali sono gli svantaggi e i vantaggi di disabilitare questa funzione?
Esistono due concetti di backup per manifest:
- "android: allowBackup " consente di eseguire il backup e il ripristino tramite adb, come mostrato qui :
Se consentire all'applicazione di partecipare al backup e ripristinare l'infrastruttura. Se questo attributo è impostato su false, non verrà mai eseguito alcun backup o ripristino dell'applicazione, anche mediante un backup di sistema completo che altrimenti farebbe salvare tutti i dati dell'applicazione tramite adb. Il valore predefinito di questo attributo è vero.
Questo è considerato un problema di sicurezza perché le persone potrebbero eseguire il backup della tua app tramite ADB e quindi ottenere i dati privati della tua app sul proprio PC.
Tuttavia, penso che non sia un problema, dal momento che la maggior parte degli utenti non sa cosa sia l'Adb, e se lo fa, saprà anche come eseguire il root del dispositivo. Le funzioni ADB funzionerebbero solo se sul dispositivo è abilitata la funzione di debug e ciò deve essere abilitato dall'utente.
Pertanto, solo gli utenti che collegano i propri dispositivi al PC e abilitano la funzione di debug ne risentiranno. Se sul proprio PC è presente un'app dannosa che utilizza gli strumenti ADB, ciò potrebbe essere problematico poiché l'app potrebbe leggere i dati di archiviazione privata.
Penso che Google dovrebbe semplicemente aggiungere una funzionalità disabilitata per impostazione predefinita, nella categoria degli sviluppatori, per consentire il backup e il ripristino delle app tramite ADB.
- "android: backupAgent " consente di utilizzare la funzione di backup e ripristino del cloud, come mostrato qui e qui :
Il nome della classe che implementa è l'agente di backup dell'applicazione, una sottoclasse di BackupAgent. Il valore dell'attributo dovrebbe essere un nome di classe completo (ad esempio "com.example.project.MyBackupAgent"). Tuttavia, come abbreviazione, se il primo carattere del nome è un punto (ad esempio, ".MyBackupAgent"), viene aggiunto al nome del pacchetto specificato nell'elemento. Non esiste alcun valore predefinito. È necessario specificare il nome.
Questo non è un problema di sicurezza.