En un dispositivo iOS 8, instalé Google Hangouts y, al iniciarlo por primera vez, rellenó previamente una cuenta que estaba previamente asociada con una aplicación de Google diferente y eliminada hace mucho tiempo.
Como acababa de restablecer el identificador de publicidad, supuse que debía ser la identificación del proveedor (había otra aplicación de Google instalada en el dispositivo). Entonces, eliminé ambas (todas) las aplicaciones de Google en el dispositivo, lo que debería restablecer la ID del proveedor.
Luego reinstalé Google Hangouts y lo inicié. TODAVÍA tenía activa la cuenta anterior. Este no es solo un comportamiento misterioso, sino que también es una vulnerabilidad de seguridad y privacidad bastante grave. Cuando se elimina una aplicación, y especialmente cuando se eliminan todas las aplicaciones de un proveedor, no deberían quedar cuentas ni datos activos en el dispositivo.
¿Alguna idea sobre cómo Google Hangouts sabe sobre la cuenta anterior?
Apple aconseja a los desarrolladores que almacenen las credenciales de inicio de sesión de la aplicación en el llavero cifrado de iOS. Cuando elimina una aplicación de su teléfono, no elimina los registros relacionados del llavero.
Los llaveros son contenedores de almacenamiento seguros, lo que significa que cuando el llavero está bloqueado, nadie puede acceder a su contenido protegido. En OS X, los usuarios pueden desbloquear un llavero, proporcionando así acceso a aplicaciones confiables al contenido, ingresando una única contraseña maestra. En iOS, cada aplicación siempre tiene acceso a sus propios elementos de llavero; nunca se le pide al usuario que desbloquee el llavero. Mientras que en OS X cualquier aplicación puede acceder a cualquier elemento del llavero siempre que el usuario dé permiso, en iOS una aplicación solo puede acceder a sus propios elementos del llavero.
Probablemente use iCloud como método, posiblemente el iCloud Key-Value Store .
En cuanto a ese almacenamiento va...
El espacio total disponible en el almacenamiento de clave-valor de iCloud de su aplicación es de 1 MB por usuario. El número máximo de claves que puede especificar es 1024 y el límite de tamaño para cada valor asociado con una clave es 1 MB. Por ejemplo, si almacena un solo valor grande de exactamente 1 MB para una sola clave, eso consume por completo su cuota para un usuario determinado de su aplicación. Si almacena 1 KB de datos para cada clave, puede usar 1000 pares clave-valor. La longitud máxima de una cadena de clave es de 64 bytes utilizando la codificación UTF8. El tamaño de los datos de sus cadenas de clave acumuladas no cuenta en su cuota total de 1 MB para el almacenamiento de clave-valor de iCloud; más bien, sus cadenas de clave (que consumen como máximo 64 KB) cuentan contra la asignación total de iCloud de un usuario.
(Fuente: Lectura conceptual del desarrollador de Apple para los límites de datos del almacenamiento de valores clave de iCloud, consulte el enlace anterior)
En resumen, los desarrolladores pueden acceder a los datos a través de los pares KV de iCloud a través de NSUbiquitousKeyValueStore
, almacenar objetos en un NSDictionary
(hasta 64 K por elemento, hasta 1024 claves y el tamaño total debe ser inferior a 1 MB) y recuperarlos más tarde.
Editar: el almacenamiento de valor clave de iCloud no es tan seguro como los llaveros. Google podría usar llaveros, pero también podría almacenar datos encriptados en la tienda Key-Value, considerando que iCloud tiene problemas de seguridad. ¿Tal vez usar el nombre del dispositivo como una forma de descifrar?
... en iOS, una aplicación solo puede acceder a sus propios elementos de llavero
Los proveedores pueden compartir datos entre sus aplicaciones, utilizando el llavero, siempre que utilicen un grupo de llaveros , definido en los derechos de su paquete de aplicaciones; "es propio" significa proveedor, no aplicación.
Como han señalado otros, es posible que las entradas del llavero no se limpien implícitamente.
Dado que este alcance más amplio de este tipo de 'seguimiento' se limita a un solo proveedor con aplicaciones instaladas, esto reduce significativamente el área de superficie de riesgo de seguridad (en comparación con el uso compartido de UUID o UIPasteboard, ambos eliminados/cerrados).
Es importante señalar que los productos de Apple actualmente están diseñados para "usuarios únicos"; Apple aún no ofrece la partición de usuarios (por ejemplo, cualquier huella digital registrada desbloquea todo el dispositivo, por lo que si tiene un amigo/hijo con una huella digital registrada, obtienen exactamente el mismo acceso que usted).
Agregando a las respuestas de DDPWNAGE y Alistair (ya que no tengo suficiente representante para comentar) pero especificando cómo todas las aplicaciones de Google pueden acceder exactamente a una entrada de llavero.
seudónimo
seudónimo
Alistair McMillan
seudónimo
seudónimo