miércoles, 27 de agosto de 2008

HTTPS vulnerable por ataques "Surf jacking"

Original: http://blogs.techrepublic.com.com/networking/?p=634

Un buen consejo si se va a usar https es no usar el mismo navegador para consultar sitios web normales con http. En redes donde un posible atacante pueda interceptar la conexión es posible el ataque "surf jacking". Consiste en:

  • Navegador de la victima abre sesión https con sitio web (pongamos un banco para hacerlo interesante).
  • Navegador de la victima abre a continuación una página web normal (hace un GET con HTTP).
  • El atacante observa los paquetes anteriores y falsifica la respuesta de un sitio normal. A la segunda petición (un GET HTTP) el atacante crea un paquete de respuesta con código 302 que redirija a cualquier URL del banco y se lo manda a la víctima.
  • El navegador de la victima al recibir el redirect hace un nuevo GET con la URL que ha introducido el atacante. La clave es que en ese segundo GET se incluyen las cookies de sesión no cifradas de la conexión con el sitio HTTPS (es decir, el banco). Si las cookies tienen información privilegiada el ataque ha triunfado.

Las soluciones son dos:
  • Si desconfía de los desarrolladores web, sea paranóico y cuando abra una sesión https no reutilice el navegador web para otras cosas (nada de abrir pestañas o nuevas ventanas). Arranque un segundo navegador para navegar por otros sitios.
  • El desarrollador web debe usar cookies con flag secure activado (un navegador nunca las debería transmitir por un protocolo distinto a https).

El hecho de usar estas cookies es una buena práctica que los desarrolladores deberían usar; pero antes de mentar a la madre de los que no las usan se ha de saber que para sitios como google es muy difícil hacerlo. Al compartir la sesión https entre múltiples dominios (gmail, googleloquesea) es muy difícil usarlas y escalar a millones de usuarios. ¿Será esa la razón por la que existen quejas de gente que ha perdido sus cuentas en gmail?

No hay comentarios: