Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Seguridad de mensajería en nube google

La empresa crea un proyecto y recibe un ID de remitente. La empresa crea una aplicación, procesa su ID de remitente y coloca la aplicación en la tienda.

Attacker reverse ingeniería de la aplicación y extrae el ID de remitente y la interfaz del servidor utilizado para recibir los identificadores de registro de GCM.

El atacante crea su propia aplicación, hornea en la ID del remitente de la compañía y la interfaz de registro del servidor, coloca la aplicación en la tienda. La aplicación de ataque representa básicamente la aplicación real de la empresa en cuanto a GCM: se registra para recibir mensajes de la ID de remitente de la empresa y luego envía su ID de registro de GCM a los servidores de la empresa como hace la aplicación "real".

Ahora, la compañía desea difundir información a todas las instancias de su aplicación. Tal vez sea un recordatorio de que hay una actualización disponible. ¿Hay alguna manera de diferenciar la "aplicación de ataque" (que se registró como la real) de las versiones "reales" de la aplicación de la compañía?

  • Cómo validar el origen de una invocación de servicio web
  • Comprobar si el sistema de archivos Android está encriptado
  • Proteger una API REST para su uso por clientes Android
  • Cómo Hash String usando SHA-1 con la clave?
  • ¿Es posible escribir un wifi cracking util para teléfonos Android? Modo de monitor vs Multicast?
  • ¿Qué protege las contraseñas de AccountManager de Android de ser leídas por otras aplicaciones?
  • ¿Vulnerabilidades en la caché de la clave ofuscada? Licencias de Android
  • Implementar seguridad a nivel de firma en los servicios de Android con más de una firma permitida
  • 7 Solutions collect form web for “Seguridad de mensajería en nube google”

    El mismo problema también podría haber existido con C2DM, que puede olfatear la dirección de correo electrónico del remitente, en lugar de ID del proyecto para GCM.

    C2DM o GCM, nunca debe ser utilizado para enviar información de usuario sensible (es decir, nombre de cuenta, información privada, etc), es principalmente útil para la notificación, que la aplicación real puede utilizar para realizar otras acciones.

    No puedo ver cuán útil puede ser una notificación para una aplicación 'fake / hack', ¿qué van a hacer con la notificación 'You have new message'?

    Creo que desde su escenario no es posible que el atacante envíe un mensaje al usuario incluso si tiene el ID de registro. El servidor de la empresa que envía los mensajes que necesitan para autenticarse (OAuth2) allí cuenta primero a través de Google. Tan sólo si el atacante sabe la contraseña de la parte que envía y la identificación de registro que puede enviar al usuario. Pero la contraseña de la parte que envía, por supuesto, nunca se envía al lado del cliente.

    Así, esto podría incluso funcionar en una versión de depuración de la aplicación de los atacantes, pero no puede poner su aplicación en la tienda. Parte de la identificación de GCM es la aplicación id que debe ser única en la tienda.

    La ID de registro de GCM es solicitada por Google, solicitada desde la aplicación y enviada a su servidor. Cuando alguien con una aplicación diferente (pero con el mismo ID de remitente) crea un Regid, todavía tiene que estar comprometido con el servidor y primero debe enviar un mensaje explícitamente a ese regid específico.

    Una instalación de aplicación, legítima o no, nunca puede recibir mensajes para los que no está autorizado. (Siempre que declare y utilice el permiso C2D_MESSAGE )

    En realidad, google le permite registrar una clave de servidor para GCM, que le permite White-List Server IP … Por lo tanto, debe agregar su IP de servidor y usted estaría a salvo, ya que sólo su servidor está autorizado a enviar mensajes con esa clave.

    GCM es seguro en este caso.
    Ni siquiera puede usar su ID de remitente en su aplicación original antes de registrar la aplicación en GoogleApiConsole. Esto significa que apunta la huella digital de clave privada en GoogleApiConsole. Es suficiente.

    Sugeriría tener su propio "servidor interino" que utiliza la llave de la API (identificación del remitente como usted se refirió a ella). En lugar de incrustarlo en la aplicación misma.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.