¿Cómo guarda y restaura una aplicación de Google iOS una cuenta activa al eliminar la aplicación?

4

En un dispositivo con iOS 8, instalé Google Hangouts y, al iniciarlo, rellené previamente una cuenta que anteriormente estaba asociada con una aplicación de Google diferente y hace mucho tiempo eliminada.

Como acababa de restablecer el identificador de publicidad, asumí que debía ser el ID de proveedor (había otra aplicación de Google instalada en el dispositivo). Por lo tanto, eliminé ambas (todas) aplicaciones de Google en el dispositivo, que debería restablecer la ID del proveedor.

Luego reinstalé Google Hangouts y lo inicié. TODAVÍA tenía la antigua cuenta activa. Esto no solo es un comportamiento misterioso, sino que también es una vulnerabilidad de seguridad y privacidad bastante seria. Cuando se elimina una aplicación, y especialmente cuando se eliminan todas las aplicaciones de un proveedor, no deben quedar cuentas activas ni datos en el dispositivo.

¿Alguna idea sobre cómo sabe Google Hangouts sobre la cuenta anterior?

    
pregunta pseudon 08.08.2015 - 20:51

3 respuestas

1

Apple aconseja a los desarrolladores almacenar las credenciales de inicio de sesión de la aplicación en el llavero iOS cifrado. 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 protegido   contenido. En OS X, los usuarios pueden desbloquear un llavero, lo que proporciona confianza   Acceso de las aplicaciones a los contenidos, ingresando un solo maestro.   contraseña. En iOS, cada aplicación siempre tiene acceso a su propio   artículos de llavero; Nunca se le pide al usuario que desbloquee el llavero.   Considerando que en OS X cualquier aplicación puede acceder a cualquier elemento de llavero proporcionado   El usuario da permiso, en iOS una aplicación puede acceder solo a su   artículos de llavero propios.

enlace

    
respondido por el Alistair McMillan 09.08.2015 - 03:58
1

Probablemente utiliza iCloud como un método, posiblemente el iCloud Tienda de valor-clave .

En lo que respecta al almacenamiento ...

  

El espacio total disponible en el almacenamiento de valor clave de iCloud de su aplicación es 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 de 1 MB. por   Por ejemplo, si almacena un solo valor grande de exactamente 1 MB para un   clave única, que consume completamente su cuota para un usuario determinado de su   la aplicación Si almacena 1 KB de datos para cada clave, puede utilizar 1000   pares clave-valor. La longitud máxima para una cadena de clave es de 64 bytes usando   Codificación UTF8. El tamaño de los datos de sus cadenas clave acumulativas no   cuente en su cuota total de 1 MB para el almacenamiento de valor clave de iCloud;   más bien, sus cadenas de teclas (que, como máximo, consumen 64 KB) cuentan   contra la asignación total de iCloud de un usuario.

(Fuente: Lectura conceptual para desarrolladores de Apple para los límites de datos de iCloud Key-Value Storage, vea el enlace arriba)

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 almacenables en un NSDictionary (hasta 64K 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 iCloud Key-Value no es tan seguro como los llaveros. Google puede usar Llaveros, pero también puede almacenar datos encriptados en el almacén de Key-Value, considerando que iCloud tiene problemas de seguridad. ¿Tal vez usar el nombre del dispositivo como una forma de descifrar?

    
respondido por el DDPWNAGE 09.08.2015 - 04:36
1
  

... en iOS, una aplicación puede acceder solo a sus propios elementos de llavero

Los proveedores pueden compartir datos a través de sus aplicaciones, usando el Llavero siempre y cuando estén usando un keychain group , definidos en los derechos en 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 el 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 tener en cuenta que los productos de Apple actualmente están diseñados para "usuarios individuales"; Apple aún no ofrece particiones para el usuario (por ejemplo, cualquier huella digital registrada desbloquea todo el dispositivo, por lo que si tiene un amigo / niño con una huella digital registrada, obtendrán exactamente el mismo acceso que usted).

Agregando a las respuestas de DDPWNAGE y Alistair (ya que no tengo suficiente representante para comentar), pero especifica cómo todas las aplicaciones de Google pueden acceder exactamente a una entrada de llavero.

    
respondido por el CuriousGeorge 10.08.2015 - 17:59

Lea otras preguntas en las etiquetas