Actualmente, un gran número de personas está migrando a los servicios de teleconferencia para conectarse. Esto supone muchas ventajas pero a la vez dificultades que muchas empresas no han tomado en consideración. Las preocupaciones sobre la seguridad en línea han aumentado a medida que ha avanzado la epidemia. Uno de estos problemas es el secuestro de sesión, y ya comienza a verse por qué.
El FBI reveló que ha recibido múltiples informes de conferencias interrumpidas por imágenes pornográficas y contenido inapropiado. Dos escuelas en Massachusetts informaron que intrusos ingresaron a clases en línea y sabotearon el encuentro. Además, en uno de estos casos, el intruso gritó la dirección de la casa del profesor que daba la clase. Esto prueba no solo que los sistemas de seguridad deben ser revisados rigurosamente; también prueba que se puede robar información valiosa accediendo a estas herramientas online de difusión.
¿En qué consiste el secuestro de sesión?
El secuestro de sesión es la explotación de una sesión de computadora para obtener acceso no autorizado a su información o servicios en un sistema. A través del robo de los cookies de del sistema, se puede autenticar a un usuario en un servidor remoto y darle acceso al servidor. Tras el robo exitoso de las cookies, un atacante podría usar la técnica “Pass the Cookie” para realizar el secuestro de sesión. Las ID de sesión son una delicia para los hackers maliciosos. Con una ID de sesión, puede obtener acceso no autorizado a una aplicación web y suplantar a un usuario válido.
La mayoría de los métodos de secuestro de sesión se centran en las cookies porque se usan con mayor frecuencia para transportar información de la sesión. En general, hay tres métodos principales para obtener una ID de sesión válida:
Predicción de sesión
Los ataques de predicción de sesión son aquellos en que se intenta adivinar un ID de sesión válido (de cualquier usuario). Esto se hace sobre la base de cómo se generan dichos ID. Una ID de sesión debe ser única y difícil de adivinar. Es por esto que se recomienda usar simplemente números largos y generados aleatoriamente. De hecho, es recomendable utilizar bibliotecas de gestión de sesión seguras y confiables para generar dichos ID. Sin embargo, algunas empresas deciden generar ellos mismos sus ID y no lo hacen demasiado bien. As[i es como se vuelven propensas al secuestro de sesión.
Por ejemplo, un desarrollador podría utilizar el algoritmo Epoch codificado en base64 para generar su ID de sesión. Esto generaría una ID de sesión válida así: MTU4MDMwMDE1OQ ==. Si el atacante descubre que se usó este algoritmo, puede intentar adivinar un token de sesión probando Epochs diferentes en base64.
Un ataque a la fuerza bruta también podría considerarse una forma de predicción de sesión. Esto ocurre cuando el servidor web no está protegido contra múltiples intentos. Si la clave de sesión es corta, el atacante puede probar todos los valores posibles hasta que obtenga uno que funcione
Secuestro de Sesión lateral
Este término se utiliza para describir los ataques de Intermediarios (MITM por sus siglas en inglés). En este caso, el atacante espía la comunicación entre el servidor y el cliente e intercepta ID de sesión válidas. Si el tráfico no está encriptado, el atacante coloca un rastreador que trabaje en la misma red que el cliente. Entonces monitorea el tráfico de red, las conexiones del usuario y el tráfico de paquetes.
Esto es especialmente común en el caso de las redes públicas de Wi-Fi, una práctica muy común en la contingencia actual. Si el sitio web o la aplicación web usa conexiones exclusivamente encriptadas, el rastreo de sesión no funciona. Para ello se recomienda el uso de herramientas que encriptan la data privada del servidor.
Fijación de sesión
Ocurre cuando el atacante genera un ID de sesión válido que aún no se ha utilizado. Entonces se lo proporciona al usuario, que luego lo utiliza para autenticarse en la sesión. Para que este tipo de secuestro de sesión ocurra, el atacante debe determinar primero qué formato de ID de sesión es válido. Luego, a través de la ingeniería social (como phishing) engaña al usuario para que haga clic en el enlace malicioso. De esta manera, el usuario le proporciona su credencial, asociando así la ID de sesión con la cuenta del atacante.
Las etapas exactas del ataque y su dificultad dependen de muchos factores. Por ejemplo, si la aplicación guarda los datos de sesión, el atacante puede necesitar crear un sitio falso de phishing. Se vuelve mucho más difícil para el atacante si las ID de sesión solo se aceptan desde cookies. De ser así, el atacante debe utilizar técnicas como Cross-site Scripting (XSS).
Cross-site Scripting (XSS)
Cuando hablamos de Cross-site Scripting, nos referimos a ataques de inyección de código del lado del cliente. Primero, se ejecutan scripts maliciosos en el navegador web de la víctima incluyendo código malicioso en una página o aplicación. Luego, cuando la víctima visita la página web o aplicación, esta carga el script malicioso al navegador del usuario. Dicho código malicioso accede a las cookies de sesión y luego las envía a un servidor controlado por el atacante.
Una página web o aplicación web es vulnerable a XSS si utiliza una entrada de usuario no desprotegida. La mejor manera de prevenir estos ataques es que esta entrada sea analizada por el navegador de la víctima. Estos análisis pueden ser generados por herramientas de escaneos de servidores.
¿Cómo puedes defenderte contra un secuestro de sesión?
Existen diferentes maneras de prevenir el secuestro de sesión. Incluso, existen maneras de detectar intentos de secuestro de sesión antes de que ocurran. Para mantener tus ID de sesión seguras, sigue estos pasos:
- No generes tus propias ID de sesión. Utiliza una herramienta seguras para la generación de las mismas.
- Aplica el uso de la Certificación HTTPS en todas tus páginas. No te limites solo a la página de inicio de sesión.
- Cambia la ID de sesión luego de que cada usuario inicie sesión.
- Cierra la sesión de usuarios inactivos. Invalida las ID de sesión después de un tiempo definido.
Pero lo más importante: Escanea regularmente tu sitio web o aplicación web con un escáner de vulnerabilidades.
La importancia del escaneo de vulnerabilidades
Las herramientas de escaneo de vulnerabilidad están diseñadas para buscar automáticamente amenazas nuevas y existentes que puedan atacar tus aplicaciones. Esto permite reconocer, clasificar y caracterizar las vulnerabilidades entre computadoras, infraestructuras de red, software y sistemas de hardware.
Acunetix es la herramienta más confiable del mercado para asegurar tu página web. Se trata de un scanner que trabaja en cualquier clase de código, incluyendo HTML5, JavaScript y PHP. De esta manera, detectan cualquier irregularidad en el código y generan reportes al administrador. Estos reportes o estadísticas, que pueden generarse de varios tipos, permiten un análisis exhaustivo de la evolución en la seguridad del sitio web. Ya que su prioridad son las amenazas latentes, también es capaz de generar recomendaciones sobre cómo detectar y reparar las fallas en la seguridad.
Si estás interesado en recibir más información sobre esta herramienta, no dudes en contactarnos. En GB Advisors ofrecemos las mejores del mercado y ponemos a tu disposición un equipo de profesionales dispuestos a asesorarte y acompañarte en tu camino hacia un entorno de TI más eficiente.