In che modo un'app Google iOS salva e ripristina gli account attivi attraverso l'eliminazione delle app?

4

Su un dispositivo iOS 8, ho installato Google Hangouts e, al primo avvio, ha pre-compilato un account precedentemente associato a un'app Google diversa e molto tempo fa eliminata.

Dato che avevo appena resettato l'identificatore della pubblicità, supponevo che dovesse essere l'ID del venditore (c'era un'altra app Google installata sul dispositivo). Pertanto, ho eliminato entrambe le app di Google sul dispositivo, che dovevano reimpostare l'ID fornitore.

Quindi ho reinstallato Google Hangouts e l'ho avviato. ANCORA aveva il vecchio account attivo. Questo non è solo un comportamento misterioso, ma è anche una vulnerabilità di sicurezza e privacy piuttosto seria. Quando un'app viene eliminata e, in particolare, quando vengono eliminate tutte le app di un fornitore, non devono essere presenti account o dati attivi sul dispositivo.

Qualche idea su come Google Hangouts conosce il vecchio account?

    
posta pseudon 08.08.2015 - 20:51
fonte

3 risposte

1

Apple consiglia agli sviluppatori di archiviare le credenziali di accesso all'app nel Keychain iOS crittografato. Quando elimini un'app dal tuo telefono, non cancella i relativi record dal Portachiavi.

Keychains are secure storage containers, which means that when the keychain is locked, no one can access its protected contents. In OS X, users can unlock a keychain—thus providing trusted applications access to the contents—by entering a single master password. In iOS, each application always has access to its own keychain items; the user is never asked to unlock the keychain. Whereas in OS X any application can access any keychain item provided the user gives permission, in iOS an application can access only its own keychain items.

link

    
risposta data 09.08.2015 - 03:58
fonte
1

Probabilmente usa iCloud come metodo, possibilmente il iCloud Valore-chiave Store .

Per quanto riguarda l'archiviazione ...

The total space available in your app’s iCloud key-value storage is 1 MB per user. The maximum number of keys you can specify is 1024, and the size limit for each value associated with a key is 1 MB. For example, if you store a single large value of exactly 1 MB for a single key, that fully consumes your quota for a given user of your app. If you store 1 KB of data for each key, you can use 1000 key-value pairs. The maximum length for a key string is 64 bytes using UTF8 encoding. The data size of your cumulative key strings does not count against your 1 MB total quota for iCloud key-value storage; rather, your key strings (which at maximum consume 64 KB) count against a user’s total iCloud allotment.

(Fonte: lettura concettuale dello sviluppatore di Apple per i limiti dei dati di iCaloud Key-Value Storage, vedi link sopra)

In breve, gli sviluppatori possono accedere ai dati tramite le coppie KV di iCloud tramite NSUbiquitousKeyValueStore , memorizzare gli oggetti memorizzabili in NSDictionary (fino a 64K per articolo, fino a 1024 chiavi e la dimensione totale deve essere inferiore a 1 MB) e recuperarli in seguito.

Modifica: l'archivio di valori-chiave di iCloud non è sicuro come i portachiavi. Google potrebbe utilizzare Keychains, ma potrebbero anche archiviare dati crittografati nell'archivio Key-Value, considerando che iCloud ha problemi di sicurezza. Forse usare il nome del dispositivo come un modo per decrittografare?

    
risposta data 09.08.2015 - 04:36
fonte
1

...in iOS an application can access only its own keychain items

I fornitori possono condividere i dati tra le loro applicazioni, usando il portachiavi a condizione che utilizzino keychain group , definito nelle autorizzazioni nel relativo pacchetto di app; "proprio" significa venditore, non applicazione.

Come altri hanno sottolineato, le voci del portachiavi potrebbero non essere ripulite implicitamente.

Poiché questo ambito più ampio di questo tipo di "tracciamento" è limitato a un singolo fornitore con app installate, questo riduce significativamente l'area di superficie a rischio di sicurezza (rispetto alla condivisione UUID o UIPasteboard, entrambe rimosse / chiuse).

È importante notare che i prodotti Apple sono attualmente progettati per "utenti singoli"; Apple non offre ancora il partizionamento dell'utente (ad esempio, qualsiasi impronta digitale registrata sblocca l'intero dispositivo, quindi se hai un amico / bambino con un'impronta digitale registrata, ottengono esattamente lo stesso accesso di te).

Aggiunta alle risposte di DDPWNAGE e Alistair (dal momento che non ho abbastanza rep per commentare) ma specificando in che modo tutte le app di Google possono accedere esattamente a una voce di portachiavi.

    
risposta data 10.08.2015 - 17:59
fonte

Leggi altre domande sui tag