Código de verificación de SMS vs. Mensaje de respuesta [duplicado]

5

Necesito verificar el número de teléfono de cada usuario en un sistema SaaS empresarial. En lugar de usar el "Ingrese el código de 4/8 dígitos en este formulario", prefiero que el usuario responda con un mensaje SMS que diga "hola" o posiblemente un mensaje único para cada usuario.

Mi objetivo es facilitar al usuario la verificación de si abandonan el flujo de incorporación del sitio web.

¿Hay algo inherentemente más seguro acerca de que los usuarios ingresen un código de 4/8 dígitos en línea en lugar de enviar un código o mensaje simple desde su dispositivo?

    
pregunta Dom Ramirez 12.12.2018 - 01:46
fuente

2 respuestas

8

¡Gran pregunta! Intentaré romper los modelos de seguridad.

  

¿Hay algo inherentemente más seguro acerca de que los usuarios ingresen un código de 4/8 dígitos en línea en lugar de enviar un código o mensaje simple desde su dispositivo?

Mientras que SMS en su conjunto es un método 2FA débil (consulte el artículo de The Verge), al menos el primero requiere que el atacante realice pirateos en la red global de telecomunicaciones. Cualquiera que conozca los servicios en línea para enviar un SMS con cualquier número from: rompe trivialmente este último.

SMS es un método 2FA débil

Comencemos diciendo que SMS no es una forma segura de entregar información confidencial. Este artículo de The Verge parece coincidir bastante bien con mi entendimiento:

  

Al explotar fallas conocidas en la red celular, el grupo pudo interceptar todos los mensajes de texto enviados al número por un período de tiempo establecido. Eso fue suficiente para restablecer la contraseña de la cuenta de Gmail y luego tomar el control de la billetera Coinbase. Todo el grupo que se necesitaba era el nombre, el apellido y el número de teléfono del usuario de Bitcoin objetivo.

     

Positive Technologies pudo secuestrar los mensajes de texto utilizando su propia herramienta de investigación, que explota las debilidades de la red celular para interceptar mensajes de texto en tránsito. Conocida como la red SS7, esa red es compartida por todas las telecomunicaciones para administrar llamadas y mensajes de texto entre números de teléfono. Hay una serie de vulnerabilidades conocidas de SS7, y si bien el acceso a la red SS7 está restringido teóricamente a las compañías de telecomunicaciones, los servicios de secuestro están a menudo disponibles en los mercados criminales.

Fuente: The Verge .

Entonces, entendiendo que estamos comparando la seguridad de dos variantes de un sistema muy inseguro, continuemos.

Modelo de seguridad para ingresar el código de verificación en la interfaz de usuario web

Modelo de seguridad: para que un atacante pueda falsificar la propiedad de su número de teléfono, deberán:

  1. Inicie el flujo de incorporación del sitio web, proporcionando su información.
  2. Lea el código SMS enviado a su número de teléfono móvil.
  3. Ingrese ese número en el flujo de incorporación.

Para lograr este ataque es necesario poder leer tus mensajes SMS en tiempo real, lo que, como señala The Verge, es fácilmente factible.

Respondiendo al SMS con "hola"

Modelo de seguridad: para que un atacante pueda falsificar la propiedad de su número de teléfono, deberán:

  1. Inicie el flujo de incorporación del sitio web, proporcionando su información.
  2. Recibir un SMS desde el servidor.
  3. Responda al número de SMS del servidor con la palabra "hola".

A primera vista, parece el mismo modelo de seguridad que el anterior: "si el atacante tiene hacks SS7 y puede leer tus SMS, también pueden responderlos" .

Pero, de hecho, este modelo es mucho más débil ; en realidad no hay acoplamiento entre los pasos 2 y 3. Hay un millón de sitios web que permiten envía un SMS y configura el número from: que desee, por lo que siempre que el atacante sepa el número de SMS del servidor, puede falsificar el "hola" de su número, incluso si no tienen capacidad para leer sus SMS entrantes.

Respondiendo al SMS con un código

Modelo de seguridad: para que un atacante pueda falsificar la propiedad de su número de teléfono, deberán:

  1. Inicie el flujo de incorporación del sitio web, proporcionando su información.
  2. Recibe un SMS del servidor que contiene un código.
  3. Responda al número de SMS del servidor con este código.

Muy bien, hemos solucionado el problema de acoplamiento y hemos requerido que el atacante pueda leer sus SMS entrantes. Como se indicó anteriormente, enviar mensajes que parecen ser de usted es trivial, por lo que creo que este modelo de seguridad es equivalente al tradicional de "escriba el código SMS en el sitio web".

Sin embargo, se encontrará con problemas de uso, ya que escribir un código correctamente en el teclado de su teléfono es significativamente más molesto que escribirlo en su computadora, por lo que no estoy seguro de que obtenga algo aquí.

Resumen (igual que arriba)

  

¿Hay algo inherentemente más seguro acerca de que los usuarios ingresen un código de 4/8 dígitos en línea en lugar de enviar un código o mensaje simple desde su dispositivo?

Mientras que SMS en su conjunto es un método 2FA débil (consulte el artículo de The Verge), al menos el primero requiere que el atacante realice pirateos en la red global de telecomunicaciones. Cualquiera que conozca los servicios en línea para enviar un SMS con cualquier número from: rompe trivialmente este último.

    
respondido por el Mike Ounsworth 12.12.2018 - 02:23
fuente
2

No creo que sea una buena idea requerir un mensaje de respuesta si su objetivo es simplemente facilitar el proceso de verificación. Al menos, debe recordar que será imposible pasar la verificación si el usuario no puede enviar SMS (p. Ej., No tiene créditos o el usuario está en roaming y no compró un plan con SMS salientes). / p>

Además, el envío de SMS cuesta dinero al usuario. Además, como el usuario no sabe con certeza cuánto cuesta, lo más probable es que piense que se trata de una estafa (recuerde que hay muchos sitios fraudulentos que requieren números de teléfono para acceder al "contenido premium").

    
respondido por el Victor 12.12.2018 - 05:31
fuente

Lea otras preguntas en las etiquetas