Cómo entender la recolección de datos de cuentas

📅
🕑 5 minutos de lectura

Lidiar con las filtraciones de datos es como jugar al juego de la ciberseguridad. Algunas filtraciones son graves, requieren mucha planificación, comprender los entresijos de un sistema y luego crear mensajes de phishing muy convincentes. Estas pueden provocar graves filtraciones de datos, como código fuente, archivos confidenciales de la empresa o información de usuarios como contraseñas y números de la seguridad social. Pero no todas las filtraciones de datos son tan complejas ni perjudiciales. A veces, se trata simplemente de pequeñas brechas de seguridad, como la recolección o enumeración de cuentas. Suenan sofisticadas, pero básicamente son la forma que tiene el hacker de averiguar discretamente qué nombres de usuario o correos electrónicos pertenecen a cuentas reales sin levantar sospechas.

Cómo funciona la enumeración de cuentas

Si alguna vez has intentado iniciar sesión en un sitio y has notado que muestra un mensaje diferente cuando tu contraseña es incorrecta y cuando tu correo electrónico o nombre de usuario no existen, es una señal clásica de enumeración de cuentas. Básicamente, si el sitio muestra «Contraseña incorrecta» cuando el nombre de usuario es correcto, pero «Cuenta inexistente» en caso contrario, proporciona a los hackers un mapa claro de cuentas válidas.¿Por qué es tan malo? Porque les permite acceder a datos reales de usuarios sin mucho esfuerzo. En algunas configuraciones, esto es muy obvio: basta con un mensaje de error diferente para que puedan crear una lista bastante precisa de usuarios activos.

Solucionar esto no es tan complicado. Solo tienes que mostrar un error genérico como «El nombre de usuario o la contraseña que introdujiste son incorrectos», independientemente de si la cuenta existe o no. Parece simple, pero es un paso sencillo para que este tipo de filtración de información sea menos evidente.

Cómo actuar con sigilo al robar cuentas

Bueno, pero esa es solo la versión ruidosa. Si un atacante intenta ser sigiloso, puede hacerlo de formas más sutiles. En lugar de basarse únicamente en mensajes de error, puede explorar el sitio, consultar los perfiles de usuario o incluso usar información pública de LinkedIn, Facebook o Twitter. Básicamente, al recopilar nombres de usuario o patrones de correo electrónico, puede generar una lista de posibles cuentas objetivo sin atacar directamente los formularios de inicio de sesión. Como esto no activa mensajes de error, es mucho más difícil de detectar en los registros.

Otra cosa que los hackers a veces hacen es identificar las convenciones de nombres de correo electrónico de la empresa, como [email protected]. Al adivinar los formatos de correo electrónico, pueden recopilar un montón de cuentas plausibles sin siquiera tocar la superficie de ataque directamente. Es un poco extraño, pero hace que el ataque sea más discreto, mucho más sutil que los intentos de inicio de sesión por fuerza bruta o las inundaciones masivas de registros.

Detalles que delatan el juego

A veces, son los pequeños detalles los que te indican si se está produciendo un robo de cuentas. Los servidores web proporcionan códigos de estado, como 200 OKo 501 Internal Server Error, que, si no se manejan con cuidado, pueden filtrar información. Por ejemplo, si la página de restablecimiento de contraseña muestra «Correo electrónico de restablecimiento de contraseña enviado» incluso cuando el correo electrónico no está en la base de datos, pero el servidor responde con un código de error 501, un atacante que revise el tráfico de red puede determinar si la cuenta existe o no. Porque, claro, Windows y los sistemas de alojamiento web deben ser *excesivamente* precisos con sus respuestas.

Y si el hash de las contraseñas no se realiza correctamente, los atacantes pueden averiguar si la cuenta existe basándose en el tiempo de respuesta. Si tu servidor tarda 100 ms en hashear una contraseña en una cuenta válida, pero responde al instante cuando la cuenta no existe, pueden medir el tiempo y deducir si la cuenta es real o falsa. No sé por qué funciona, pero en algunas configuraciones, la diferencia es notable. Por lo tanto, los ataques de tiempo son comunes.

Juntando todas las piezas del rompecabezas

¿Cuál es la gran lección? La seguridad implica muchos pequeños detalles. Asegurarse de que los mensajes de error sean siempre genéricos, gestionar correctamente los códigos de estado HTTP y no exponer nunca diferencias de tiempo en las respuestas puede marcar una gran diferencia. Porque, claro, a los hackers les encantan estas pequeñas grietas en la armadura: son fáciles de explotar y pueden provocar brechas de seguridad más graves o simplemente una pequeña y agradable orgía de recopilación de información.

En una configuración funcionó, en otra…no tanto. Pero si manejas datos confidenciales, vale la pena revisar tus procesos de inicio de sesión y restablecimiento de contraseña para detectar estas sutiles filtraciones. A veces, simplemente mantener respuestas consistentes puede ahorrarte muchos dolores de cabeza en el futuro.

Por qué esto es importante

Filtrar información sobre la existencia de una cuenta puede parecer inofensivo, pero en realidad puede filtrar información muy sensible. Imagina que alguien descubre que tu correo electrónico está registrado en un sitio sobre temas de salud o ideas políticas; es un poco incómodo, ¿verdad? Además, estos nombres de usuario y contraseñas reutilizados se vinculan a personas reales, lo que facilita futuras filtraciones. Si alguien obtiene tu correo electrónico y contraseña de una filtración en otro sitio, podría probar esa combinación en otros sitios.¿Reutilizar contraseñas? No es buena idea.

Todas estas pequeñas filtraciones y trucos de sincronización podrían no parecer gran cosa por sí solas, pero los hackers son inteligentes. Pueden reunir suficiente información para adivinar contraseñas, identificar datos personales o planear ataques más grandes.

Resumen

La enumeración de cuentas es una vulnerabilidad pequeña y sigilosa que puede ayudar a los cibercriminales a descubrir si tienes una cuenta. No es lo mismo que hackear la cuenta, pero es un paso que puede explotarse posteriormente.¿La buena noticia? Suele ser bastante fácil de solucionar: simplemente hay que mantener la coherencia en los mensajes de error, estar atento a las filtraciones de información en las respuestas y minimizar las diferencias de tiempo. Porque, claro, cuanto menos sepan, mejor.

Con suerte, esto le ahorrará un dolor de cabeza a alguien: estos pequeños detalles importan más de lo que cree.