Prevenga los ataques de phishing a través del abuso del esquema de URL de Apple iOS

8

Estoy creando una aplicación Apple iOS que tendrá el siguiente flujo:

  1. Un usuario completa el registro desde la web.
  2. Al finalizar el registro, se envía un enlace a su correo electrónico.
  3. Una vez que se haga clic en el enlace en un dispositivo iOS, mi aplicación iOS se iniciará y le pedirá al usuario las credenciales.

La cosa es que otra aplicación maliciosa puede registrarse en el mismo esquema de URL que mi aplicación. En tal situación, la aplicación malintencionada se puede iniciar en lugar de mi aplicación legítima y robar fácilmente las credenciales de mis usuarios.

¿Qué puedo hacer para evitar la fuga de datos en esta situación? (es decir, asegúrese de que la aplicación maliciosa no pueda imitar mi aplicación y / o implementar un mecanismo que permita a los usuarios diferenciar fácilmente entre mi aplicación y la aplicación maliciosa)

He visto algunas respuestas aquí: enlace

Pero todos ellos proponen implementar un mecanismo que eventualmente permita que la aplicación maliciosa imite completamente mi aplicación.

    
pregunta user3074662 31.05.2015 - 14:03
fuente

1 respuesta

1

Antes de brindar cualquier solución, es importante recordar que, si una aplicación se está instalando en el dispositivo de un usuario, entonces, con un tiempo y dedicación, un usuario malintencionado puede replicar / aplicar ingeniería inversa a la aplicación. Dicho esto, existen ciertas técnicas que se pueden utilizar para dificultar el trabajo de ingeniería inversa de la aplicación y, finalmente, replicarla. Algunas de las técnicas pueden ser:

  • Para cada solicitud se puede enviar un valor secreto, este valor secreto puede ser un hash de cadenas concatenadas (contraseña + hora actual + dominio + una cadena constante), etc. Se puede crear cualquier esquema de este tipo, pero haga seguro que el código está lo suficientemente ofuscado como para que sea difícil para el atacante romperlo. Al alterar con frecuencia este algoritmo, la aplicación maliciosa también debe hacer eso para mantenerse al día.

  • En segundo lugar, puede incluir controles anti-depuración como tener ptrace con PT_DENY_ATTACH llame o use sysctl ENFOQUE . Pero nuevamente, un atacante determinado y hábil puede sortear estos controles. Estas comprobaciones se pueden desactivar modificando el binario de la aplicación. Pero tener controles frecuentes de hash del binario puede dificultar aún más el trabajo del atacante.

  • El uso de la asignación de SSL también puede proteger a algunos niños de secuencias de comandos de no ver el tráfico de la red, pero herramientas como SSL KillSwitch hace que la omisión de esta verificación sea trivial.

respondido por el Jor-el 06.11.2015 - 19:11
fuente

Lea otras preguntas en las etiquetas