Hace unos días, en un foro de reddit (popular portal de Internet), un usuario se preguntaba: «¿por qué es necesaria una contraseña fuerte?» Argumentaba que con una contraseña en minúsculas de tan sólo cuatro letras tenemos casi medio millón de combinaciones y que las webs tienen sistemas que evitan los ataques «por fuerza bruta» (esto quiere decir, ataques en los que se intenta introducir una contraseña una y otra vez hasta encontrar la correcta). Os dejamos con la respuesta, explicada para que pueda entenderla cualquier persona, independientemente de su nivel de conocimiento informático.
Medio millón no es nada para un ordenador
Una contraseña de 4 letras en minúscula tiene 456.976 combinaciones posibles. ¿Por qué se necesitan contraseñas aún más fuertes?
Mientras que ~457.000 suena como un número absolutamente imposible para un humano, en realidad un juego de niños cuando se trata de ordenadores. Kasperky Labs estima que una ordenador normal que no está especializado en descifrar contraseñas puede intentar aproximadamente 7100 contraseñas cada segundo. Eso significa que podría descifrar una contraseña de 4 letras en un máximo de 65 segundos… ¡en aproximadamente sólo un minuto!
El simple hecho de llegar a una contraseña de seis caracteres en la que se permiten minúsculas, mayúsculas y números (pero sin símbolos) ralentiza el ataque de fuerza bruta de un ordenador medio hasta 3,5 días. Aunque eso sí, puede acelerarse mediante el uso de tablas conocidas de contraseñas comunes que la gente utiliza una y otra vez, o incluso simplemente mediante un ataque de diccionario, ya que la mayoría de la gente utiliza una contraseña que es una palabra o alguna variante de la misma (por ejemplo, podrían utilizar «acc1d3nt3» en lugar de «accidente», pero un buen ataque de diccionario también puede tener en cuenta de estas variantes).
Además, la gente que se gana la vida descifrando las contraseñas de los demás generalmente tiene un hardware especializado que puede descifrar las contraseñas aún más rápido. En 2012, ArsTechnica escribió un artículo sobre una supercomputadora entonces nueva que podía adivinar hasta 350 mil millones de contraseñas cada segundo (lo que significa que la contraseña de 6 caracteres de antes podía ser descifrada en una fracción de segundo). Y seguramente os imaginaréis que un hardware aún más poderoso existe ahora, 8 años después.
La fuerza bruta no es siempre la respuesta
La mayoría de los sitios web también tienen una protección contra la fuerza bruta que deshabilita la adivinación de contraseñas después de unos 10 intentos.
Esto es cierto, pero nuevamente la gente que se gana la vida descifrando contraseñas tiene formas de saltarse esta protección. Explicar los detalles exactos probablemente haría que esta explicación ya no fuera para niños, pero lo esencial es que en realidad no descifran tu contraseña yendo al sitio web e introduciendo cada contraseña potencial de una en una. Si no, se bloquearían y eso haría que el proceso tomara mucho tiempo.
Lo que suelen hacer es conseguir una lista de contraseñas maestra directamente de la fuente. Esto a veces puede venir de un filtrador que trabaja para una compañía en particular, pero la mayoría de las veces viene de hackers que irrumpen en la base de datos de la compañía y obtienen el archivo de la lista maestra de esa manera. Afortunadamente, cualquier compañía que se precie encripta dicha lista de contraseñas – lo que no siempre resulta ser un problema para los hackers.
La mayoría de las veces los hackers saben qué algoritmo de encriptación usa un sitio web en particular para asegurar sus contraseñas (por ejemplo, el artículo de ArsTechnica menciona que LinkedIn usa el algoritmo SHA-1 – obviamente, puede que esto ya no sea el caso hoy en día, pero era cierto en 2012). Dada esta información, pueden usar su generador de contraseñas de fuerza bruta y ejecutar cada una a través del algoritmo de encriptación hasta que encuentren una que produzca la misma cadena que una de las contraseñas de la lista – entonces sabrán la contraseña de ese usuario.
Además de todo eso, a veces las empresas fallan completamente en la seguridad y no siguen las mejores prácticas de la industria para el almacenamiento seguro de las contraseñas. A finales de 2013, una lista de contraseñas que contenía más de 153 millones de contraseñas de Adobe Creative Cloud fue filtrada. Posteriormente, los hackers descubrieron que Adobe hizo un muy mal trabajo asegurando este archivo. Utilizaron un algoritmo de cifrado fácilmente reversible y almacenaron las pistas de los usuarios en el mismo archivo que su contraseña. Los archivos de contraseñas correctamente asegurados también usan un proceso conocido como salado, por el cual si dos (o más) usuarios tienen las mismas contraseñas, terminan siendo almacenadas como cadenas encriptadas completamente diferentes… pero Adobe no hizo uso de esto, así que si la lista mostraba, digamos, cinco instancias de la misma cadena, los hackers sólo obtuvieron un trato de 5 por 1 en esa contraseña.
Como nota final, en raras ocasiones los hackers intentarán entrar en el sitio web y forzarlo de esa manera, salvo si hay un exploit que elude las rutinas de bloqueo. Se cree que tal vulnerabilidad jugó un papel en permitir las filtraciones de los desnudos de las celebridades de sus cuentas de iCloud en 2014. The Next Web escribe:
La vulnerabilidad supuestamente descubierta en el servicio «Encuentra mi iPhone» parece haber permitido a los atacantes usar este método para adivinar las contraseñas repetidamente sin ningún tipo de bloqueo o alerta al objetivo.
Contraseña larga y otras precauciones
Por tanto, una contraseña larga y compleja nos provee de un margen de actuación en caso de filtración. Recordemos que estas filtraciones, bajo la GDPR, tienen que ser notificadas en una corta ventana de tiempo: cuanto mejor sea tu contraseña, más tiempo para cambiarla antes de que accedan a tus cuentas tendrás. Adicionalmente, es recomendable utilzar otros medios para proteger tus cuentas, como la verificación en dos pasos.