¿Es posible "proteger" contra ataques MITM a través de HTTP?

12

En una conversación en twitter advertí a un sitio sobre una vulnerabilidad de seguridad. Específicamente, la posibilidad de un ataque MITM (Man in the Middle) utilizado para comprometer su formulario de registro.

La respuesta a mi advertencia fue que "Protegemos contra el hombre en los ataques del medio. Así que todavía no se aplica".

¿Es posible "proteger" contra un ataque MITM sin implementar SSL (Estoy consciente de que SSL tampoco es a prueba de balas, pero siempre pensé que era el primer paso)?

    
pregunta David Murdoch 09.04.2013 - 20:17
fuente

3 respuestas

12

Están haciendo envíos posteriores a través de SSL. Esto brindará protección contra un MITM pasivo, ya que las credenciales se cifrarían en la respuesta posterior, sin embargo, no hace nada eficazmente contra un atacante activo que pueda alterar el tráfico, ya que simplemente podría alterar la URL de devolución y la experiencia del usuario no cambiaría. .

Un cliente inteligente podría verificar la integridad de la URL de devolución antes del envío de credenciales (incluida la inspección de la página en busca de cualquier javascript que pueda alterar la URL) y evitar un ataque MITM, pero prácticamente, para el usuario promedio de Internet, no es seguro. El sitio que estaba visitando realmente debería cambiar a proporcionar la pantalla de inicio de sesión en una página completamente HTTPS.

    
respondido por el AJ Henderson 09.04.2013 - 20:44
fuente
10

Para realmente proteger contra ataques de hombre en el medio , tienes que:

  • aplique algún tipo de verificación de integridad en todos los intercambios entre el cliente y el servidor;
  • forzar al menos la autenticación unidireccional (el servidor debe autenticar al cliente, o el cliente debe autenticar el servidor).

Básicamente, haciendo lo que hace SSL. En un contexto web con HTTP simple, el cliente es estúpido y no hará las cosas necesarias. Para que el cliente sea "inteligente", debe incluir algún código en el lado del cliente, es decir, Javascript, pero si no descarga ese Javascript a través de HTTPS, pierde.

Entonces, mi suposición es que su interlocutor está equivocado, o le miente deliberadamente, o ambas cosas.

    
respondido por el Thomas Pornin 09.04.2013 - 20:29
fuente
0

El hombre en el medio es un problema difícil de proteger. Es como decir que hay una manera de detener el tiempo, o hay un bloqueo que no se puede extraer. Mi respuesta general es "no", no hay una forma de proteger genéricamente, escribir carta en contra de los ataques de MiTM, ni hay una buena manera de detenerlos.

La mejor manera de resolver siempre estos problemas es con una solución en capas, para elevar el nivel frente a un ataque MiTM. De lo contrario, cualquier solución de un solo punto siempre se omitirá y listo, tienes un hombre en el medio.

    
respondido por el Tek Tengu 09.04.2013 - 22:16
fuente

Lea otras preguntas en las etiquetas