Evitar los ataques MITM cuando se usa HTTPS en dispositivos móviles

5

Hay una variedad de otras preguntas que abordan elementos de este problema de seguridad, pero ninguna que parezca (para un no experto) abordar el núcleo sustancial de las cuestiones planteadas en este artículo:

Desde una perspectiva móvil, ¿cuáles son los pasos correctos que la empresa debería haber tomado para prevenir, además de usar un certificado SSL emitido por una CA?

    
pregunta Marc Cenedella 25.07.2013 - 17:34
fuente

2 respuestas

3

Respuesta general relacionada con SSL: Para hacer SSL (HTTPS) de forma segura, el punto realmente importante es que el sistema cliente (teléfono inteligente, PC ... no lo hace importa) puede asegurarse de que la clave pública del servidor que está utilizando para el protocolo de enlace SSL sea realmente la original del servidor deseado. Los certificados emitidos por CA son sobre eso, realmente. Sin una validación de la clave pública del servidor de algún tipo, ataques MitM son posibles. De lo contrario, no lo son (a menos que la implementación del cliente y / o del servidor sea errónea, pero eso es otro asunto).

Con los certificados, el ataque MitM puede funcionar solo si el atacante puede obtener un certificado falso, con el nombre del servidor original pero con la clave pública del atacante, de una CA en la que el cliente confía. Los incidentes con certificados falsos que se emiten son raros (escuchamos sobre uno de esos incidentes por año). Con mucha mayor frecuencia, un usuario crédulo decide ignorar la advertencia aterradora de su navegador y hace clic en ella. Si presta atención a las advertencias de su navegador, debería estar bien.

Lamentablemente, muchas conexiones SSL no se encuentran entre un navegador web y un servidor, sino entre una aplicación y un servidor, y depende de la aplicación No hagas el estúpido click-through-warning (metafóricamente). Ha habido muchos informes de aplicaciones que no verificaron el certificado del servidor correctamente o que no lo hicieron. Esto es específico de la aplicación y, como usuario, es difícil de verificar.

Acerca de Tinder: ninguno de los anteriores se aplica a los problemas descritos en el artículo al que se vincula. Al parecer, Tinder ejecuta un servicio de citas, con el cliente ejecutando una aplicación específica en su teléfono; La aplicación habla con un servidor central. El servidor central luego calcula "posibles encuentros", es decir, advierte a los clientes sobre la presencia cercana de otros clientes con los que se estima que la compatibilidad romántica está por encima del promedio.

Sucede que el diálogo entre la aplicación y el servidor implica que el servidor le diga a la aplicación mucho sobre otros clientes; en realidad, mucho más de lo que debería ser necesario para el servicio descrito, incluidas las identificaciones de Facebook y otras informaciones similares. La interfaz de usuario de la aplicación no lo mostrará, pero una aplicación personalizada podría obtener dichos datos del servidor y grabarlos.

SSL no habría hecho nada a favor o en contra de este problema de privacidad. Quizás están usando SSL; no importa. El problema es que el servidor filtra demasiada información privada a quien la solicite. Un ataque MitM es relevante solo cuando el atacante intenta interceptar una transmisión de datos que contiene datos que un cliente autorizado puede obtener legítimamente, pero los atacantes no deberían; aquí, el cliente no debería poder obtener la información en primer lugar, y ese es el problema del que habla el artículo.

    
respondido por el Thomas Pornin 25.07.2013 - 18:35
fuente
2

El artículo que mencionas no tiene nada que ver con HTTPS. Si se usa una conexión HTTPS, independientemente del escritorio o el móvil, entonces la conexión está protegida entre el sistema cliente y el servidor que contiene la clave privada para el certificado que se está utilizando.

En este caso, la API parece haber estado operando a través de un enlace no cifrado. Simplemente cifrar el enlace y / o no incluir información personal innecesaria en las solicitudes de API habría sido suficiente.

    
respondido por el AJ Henderson 25.07.2013 - 17:44
fuente

Lea otras preguntas en las etiquetas