Cualquier contraseña por debajo de los diez caracteres puede ser fácilmente crackeada en, como mucho, unas horas, según se desprende de la actualización para este 2022 que ha realizado de su famosa tabla de contraseñas la empresa especializada en ciberseguridad HiveSystems.
En ella, se muestra cuánto tardaría en descifrar el hash de una contraseña generada aleatoriamente un atacante que utilizara un ordenador de escritorio con una tarjeta gráfica de máxima calidad, en función de su longitud y su complejidad (la longitud se mide en números de caracteres, la complejidad varía en función de si se utilizan sólo números, letras, mayúsculas y minúsculas o una combinación de todos ellos incluyendo símbolos sencillos del teclado).
Por ejemplo, según los datos incluidos en la tabla, cualquier contraseña de ocho caracteres, que es la longitud mínima que recomiendan muchos servicios en la Red, se podría romper instantáneamente, si solo utiliza caracteres numéricos, y en 39 minutos, en su versión más compleja, es decir, utilizando números, letras en mayúscula y minúscula, símbolos y caracteres especiales.
Si comparamos estos resultados con los de la primera tabla publicada por la empresa, podemos ver que hoy es necesario crear contraseñas más largas y complejas, si queremos tener unas mínimas garantías de seguridad. De hecho, la velocidad de desencriptación ha aumentado en un 85% solo en dos años.
Pero si queremos comprender un poco mejor los resultados de la tabla y cómo se ha elaborado, debemos empezar por el principio, y explicar brevemente que es un hash y qué sistemas utilizan los ciberdelincuentes para descifrar las contraseñas.
Qué es un hash
Como ya os contamos en el artículo en el que explicábamos, por qué cuándo olvidamos nuestra contraseña no podemos recuperarla y tenemos que cambiarla por otra, cuando creamos nuestras contraseñas en un servicio de internet, si éste está realmente preocupado por la seguridad, nunca almacenará las contraseñas reales de los usuarios, sino una representación criptográfica hash unidireccional de la contraseña. Es decir, convertirá nuestra contraseña, a través de un algoritmo matemático, en una serie de caracteres con una longitud fija o variable, en función del tipo de algoritmo que se esté utilizando.
Se trata de un tipo de cifrado de una sola dirección y, por tanto, irreversible. El usuario crea su contraseña, ésta se cifra con un algoritmo que se calcula a partir de la clave real, y lo que se guarda en el servidor es esa representación de la clave que nosotros introdujimos originalmente.
Cómo descifran los ciberdelincuentes las contraseñas
Para descifrar las contraseñas, los ciberdelincuentes hacen listas con combinaciones de caracteres y sus codificaciones, de manera que cuando roban una clave de acceso (su representación criptográfica hash), y encuentran una coincidencia, la descifran inmediatamente y esto les da acceso a los servicios protegidos con contraseña.
Normalmente, para hacer estos listados utilizan software capaz de generar hashes para posibles combinaciones de contraseñas. La probabilidad de éxito dependerá de lo compleja que sea la contraseña y de la cantidad de recursos que destine el ciberdelincuente para descifrarla.
Otra posibilidad es que recurran a las denominadas listas arcoíris, que son tablas en las que se incluyen las contraseñas más comunes y sus hashes correspondientes.
Cómo ha elaborado HiveSystems su tabla de contraseñas
Para elaborar su tabla de contraseñas, la empresa norteamericana se limitó a utilizar las técnicas que usan los ciberdelincuentes.
En 2020, cuando elaboraron su primera tabla de contraseñas, utilizaron un equipo con una Unidad de procesamiento gráfico (GPU) RTX 2080 de 2018, que fue capaz de descifrar unos 37.085 millones de contraseñas hasheadas con MD5 por segundo. Para la actualización de 2022, la empresa ha utilizado una tarjeta superior, una RTX 3090, con la que han sido capaces de descifrar 69.379 millones de hashes por segundo, lo que supone, como hemos dicho al principio, un aumento del 85% en la velocidad de desencriptación.
Algunas limitaciones a los resultados de la investigación
Por supuesto, este estudio, tal y como reconocen desde HiveSystems, tiene algunas limitaciones, ya que realiza los cálculos dando por supuestas algunas condiciones que no siempre se van a producir en la realidad. Entre ellas:
- Descifrar contraseñas de esta manera supone que el atacante ha adquirido un resumen hash de una o más contraseñas, como las que se encuentran en las filtraciones de datos de contraseñas en HaveIBeenPwned.
- El ataque implícito asume que no se ha utilizado o se ha omitido la autenticación multifactor (MFA).
- Las métricas asumen que las contraseñas se generan aleatoriamente. Las contraseñas generadas de forma no aleatoria son mucho más fáciles y rápidas de descifrar porque los humanos son bastante predecibles.
- Las métricas asumen que está utilizando una contraseña que no ha sido parte de una violación en el pasado. Los atacantes intentarán hacer hash de todas las contraseñas comunes y violadas antes de molestarse en descifrar otras nuevas.
- Estas métricas suponen un «espacio de muestra» finito de 650 caracteres para la longitud de la contraseña. También han asumido que las contraseñas están limitadas a un conjunto de caracteres limitado (números árabes, símbolos del teclado y alfabetos latino y cirílico). Por ejemplo, si un atacante está seguro de que no necesita utilizar los caracteres del alfabeto cirícilo, el tiempo que le llevaría descifrar la contraseña se que las contraseñas estaban limitadas al conjunto de caracteres que se muestra a continuación. Si un atacante está seguro de que no usaría un subconjunto particular de caracteres, como los caracteres del alfabeto cirílico, por ejemplo, el espacio de muestra es aún más pequeño y su contraseña podría descifrarse aún más rápido.