Explotación de una sesión informática válida.
En informática, el secuestro de sesión , a veces también conocido como secuestro de cookies , es la explotación de una sesión informática válida (a veces también denominada clave de sesión ) para obtener acceso no autorizado a información o servicios en un sistema informático. En particular, se utiliza para referirse al robo de una cookie mágica utilizada para autenticar a un usuario en un servidor remoto. Tiene especial relevancia para los desarrolladores web, ya que las cookies HTTP utilizadas para mantener una sesión en muchos sitios web pueden ser robadas fácilmente por un atacante utilizando una computadora intermediaria o con acceso a las cookies guardadas en la computadora de la víctima (consulte Robo de cookies HTTP). Después de robar con éxito las cookies de sesión apropiadas, un adversario podría utilizar la técnica Pass the Cookie para realizar el secuestro de sesión. El secuestro de cookies se utiliza comúnmente contra la autenticación de clientes en Internet. Los navegadores web modernos utilizan mecanismos de protección de cookies para proteger la web de ataques. [1]
Un método popular es utilizar paquetes IP enrutados desde el origen. Esto permite que un atacante en el punto B de la red participe en una conversación entre A y C animando a los paquetes IP a pasar a través de la máquina de B.
Si el enrutamiento de origen está desactivado, el atacante puede utilizar un secuestro "ciego", mediante el cual adivina las respuestas de las dos máquinas. Por lo tanto, el atacante puede enviar un comando, pero nunca podrá ver la respuesta. Sin embargo, un comando común sería establecer una contraseña que permita el acceso desde cualquier otro lugar de la red.
Un atacante también puede estar "en línea" entre A y C utilizando un programa de rastreo para observar la conversación. Esto se conoce como "ataque de intermediario".
Historia de HTTP
Las versiones 0.8 y 0.9 del protocolo HTTP carecían de cookies y otras características necesarias para el secuestro de sesiones. La versión 0.9beta de Mosaic Netscape, lanzada el 13 de octubre de 1994, admitía cookies.
Las primeras versiones de HTTP 1.0 tenían algunas debilidades de seguridad relacionadas con el secuestro de sesiones, pero eran difíciles de explotar debido a los caprichos de la mayoría de los primeros servidores y navegadores HTTP 1.0. Como HTTP 1.0 ha sido designado como alternativa para HTTP 1.1 desde principios de la década de 2000, y como todos los servidores HTTP 1.0 son esencialmente servidores HTTP 1.1, el problema del secuestro de sesiones se ha convertido en un riesgo de seguridad casi permanente. [2]
La introducción de supercookies y otras características con el HTTP 1.1 modernizado ha permitido que el problema del secuestro se convierta en un problema de seguridad continuo. La estandarización de la máquina de estado del servidor web y del navegador ha contribuido a este problema de seguridad continuo.
Métodos
Hay cuatro métodos principales que se utilizan para perpetrar un secuestro de sesión. Estos son:
- Fijación de sesión , donde el atacante establece el ID de sesión de un usuario en uno que conoce, por ejemplo, enviándole al usuario un correo electrónico con un enlace que contiene un ID de sesión particular. El atacante ahora sólo tiene que esperar hasta que el usuario inicie sesión.
- Jacking en el lado de la sesión , donde el atacante utiliza el rastreo de paquetes para leer el tráfico de red entre dos partes para robar la cookie de sesión . Muchos sitios web utilizan cifrado SSL para las páginas de inicio de sesión para evitar que los atacantes vean la contraseña, pero no utilizan cifrado para el resto del sitio una vez autenticado . Esto permite a los atacantes que pueden leer el tráfico de la red interceptar todos los datos que se envían al servidor o a las páginas web vistas por el cliente. Dado que estos datos incluyen la cookie de sesión , les permite hacerse pasar por la víctima, incluso si la contraseña en sí no está comprometida. [3] Los puntos de acceso Wi-Fi no seguros son particularmente vulnerables, ya que cualquiera que comparta la red generalmente podrá leer la mayor parte del tráfico web entre otros nodos y el punto de acceso .
- Secuencias de comandos entre sitios , donde el atacante engaña a la computadora del usuario para que ejecute un código que se considera confiable porque parece pertenecer al servidor, lo que le permite al atacante obtener una copia de la cookie o realizar otras operaciones.
- El malware y los programas no deseados pueden utilizar el secuestro del navegador para robar los archivos de cookies de un navegador sin el conocimiento del usuario y luego realizar acciones (como instalar aplicaciones de Android) sin el conocimiento del usuario. [4] Un atacante con acceso físico puede simplemente intentar robar la clave de sesión , por ejemplo, obteniendo el archivo o el contenido de la memoria de la parte apropiada de la computadora del usuario o del servidor.
Después de adquirir con éxito las cookies de sesión adecuadas, un adversario podría aprovechar la técnica Pass the Cookie para realizar el secuestro de sesión.
Hazañas
oveja de fuego
En octubre de 2010, se lanzó una extensión de Mozilla Firefox llamada Firesheep , que proporcionó un punto de acceso fácil para que los secuestradores de sesiones atacaran a los usuarios de redes Wi-Fi públicas no cifradas. Los sitios web como Facebook , Twitter y cualquiera que el usuario agregue a sus preferencias le permiten al usuario de Firesheep acceder fácilmente a información privada de las cookies y amenazar la propiedad personal del usuario de Wi-Fi público. [5] Solo unos meses después, Facebook y Twitter respondieron ofreciendo (y luego exigiendo) HTTP Secure en todo momento. [6] [7]
rastreador de whatsapp
Una aplicación llamada WhatsApp Sniffer estuvo disponible en Google Play en mayo de 2012. Podía mostrar mensajes de otros usuarios de WhatsApp conectados a la misma red que el usuario de la aplicación. [8] En ese momento, WhatsApp utilizaba una infraestructura XMPP con cifrado, no comunicación de texto plano. [9]
DroideOveja
DroidSheep es una sencilla herramienta de Android para el secuestro de sesiones web (sidejacking). Escucha los paquetes HTTP enviados a través de una conexión de red inalámbrica (802.11) y extrae la identificación de la sesión de estos paquetes para poder reutilizarlos. DroidSheep puede capturar sesiones utilizando la biblioteca libpcap y admite: redes abiertas (no cifradas), redes cifradas WEP y redes cifradas WPA/WPA2 (solo PSK). Este software utiliza libpcap y arpspoof. [10] [11] La aplicación estuvo disponible en Google Play , pero Google la eliminó.
galletacadger
CookieCadger es una aplicación Java gráfica que automatiza el sidejacking y la reproducción de solicitudes HTTP, para ayudar a identificar la fuga de información de aplicaciones que utilizan solicitudes GET no cifradas. Es una utilidad multiplataforma de código abierto basada en la suite Wireshark que puede monitorear Ethernet por cable, Wi-Fi inseguro o cargar un archivo de captura de paquetes para análisis fuera de línea. Cookie Cadger se ha utilizado para resaltar las debilidades de los sitios para compartir equipos juveniles como Shutterfly (utilizado por la liga de fútbol AYSO) y TeamSnap. [12]
Prevención
Los métodos para prevenir el secuestro de sesiones incluyen:
- Cifrado del tráfico de datos transmitido entre las partes mediante SSL / TLS ; en particular la clave de sesión (aunque lo ideal sería todo el tráfico de toda la sesión [13] ). Esta técnica es ampliamente utilizada por los bancos basados en la web y otros servicios de comercio electrónico, porque previene por completo los ataques de tipo rastreo. Sin embargo, todavía es posible realizar algún otro tipo de secuestro de sesión. En respuesta, científicos de la Universidad Radboud de Nijmegen propusieron en 2013 una forma de evitar el secuestro de sesiones correlacionando la sesión de la aplicación con las credenciales SSL / TLS [14]
- Uso de un número o cadena aleatorio largo como clave de sesión . Esto reduce el riesgo de que un atacante pueda simplemente adivinar una clave de sesión válida mediante prueba y error o ataques de fuerza bruta.
- Regeneración de la identificación de la sesión después de un inicio de sesión exitoso. Esto evita la fijación de la sesión porque el atacante no conoce la identificación de la sesión del usuario después de iniciar sesión.
- Algunos servicios realizan comprobaciones secundarias de la identidad del usuario. Por ejemplo, un servidor web podría comprobar con cada solicitud realizada que la dirección IP del usuario coincida con la última utilizada durante esa sesión. Sin embargo, esto no evita ataques por parte de alguien que comparte la misma dirección IP y podría resultar frustrante para los usuarios cuya dirección IP puede cambiar durante una sesión de navegación .
- Alternativamente, algunos servicios cambiarán el valor de la cookie con todas y cada una de las solicitudes. Esto reduce drásticamente la ventana en la que un atacante puede operar y facilita la identificación de si se ha producido un ataque, pero puede causar otros problemas técnicos (por ejemplo, dos solicitudes legítimas y en el mismo momento del mismo cliente pueden llevar a una verificación del token). error en el servidor).
- Es posible que los usuarios también deseen cerrar sesión en los sitios web cuando terminen de usarlos. [15] [16] Sin embargo, esto no protegerá contra ataques como Firesheep .
Ver también
Referencias
- ^ Bugliesi, Michele; Calzavara, Stefano; Focardi, Ricardo; Khan, Wilayat (16 de septiembre de 2015). "CookiExt: parchear el navegador contra ataques de secuestro de sesión". Revista de seguridad informática . 23 (4): 509–537. doi :10.3233/jcs-150529. hdl : 10278/3663357 . ISSN 1875-8924.
- ^ "Secuestro de sesiones y comunicación HTTP". 19 de octubre de 2020.
- ^ "Advertencia de secuestro de Wi-Fi de correo web". Noticias de la BBC . 3 de agosto de 2007.
- ^ "El malware utiliza el secuestro del navegador para robar cookies". 19 de octubre de 2020.
- ^ "La extensión de Firefox roba sesiones de Facebook, Twitter, etc.". El h . 25 de octubre de 2010.
- ^ "Facebook ahora está cifrado con SSL en todas partes". El h . 27 de enero de 2011.
- ^ "Twitter agrega la opción 'Usar siempre HTTPS'". El h . 16 de marzo de 2011.
- ^ "La herramienta Sniffer muestra los mensajes de WhatsApp de otras personas". El h . 13 de mayo de 2012.
- ^ "WhatsApp ya no envía texto sin formato". El h . 24 de agosto de 2012.
- ^ "Droidoveja".
- ^ "Blog de DroidSheep". Archivado desde el original el 20 de noviembre de 2016 . Consultado el 7 de agosto de 2012 .
- ^ "Cómo Shutterfly y otros sitios sociales dejan a sus hijos vulnerables a los piratas informáticos". Madre Jones . 3 de mayo de 2013.
- ^ "Schneier sobre seguridad: Firesheep". 27 de octubre de 2010 . Consultado el 29 de mayo de 2011 .
- ^ Hamburguesas, Willem; Roel Verdult; Marko van Eekelen (2013). "Evite el secuestro de sesión vinculando la sesión a las credenciales de la red criptográfica". Sistemas TI seguros . Apuntes de conferencias sobre informática. vol. 8208, págs. 33–50. doi :10.1007/978-3-642-41488-6_3. ISBN 978-3-642-41487-9.
- ^ Consulte "NetBadge: cómo cerrar sesión".
- ^ Consulte también "Be Card Smart Online: cerrar sesión siempre".