│ Juan Chacón
Llevamos utilizando contraseñas para identificarnos en los sitios web desde el inicio de Internet, y a todos nos han dicho que nuestra contraseña debe ser segura pero, ¿sabe cómo los atacantes descifran su contraseña?
Llevamos utilizando contraseñas para identificarnos en los sitios web desde el inicio de Internet, y a todos nos han dicho que nuestra contraseña debe ser segura pero, ¿sabe cómo los atacantes descifran su contraseña? La respuesta es la filtración de contraseñas. De vez en cuando, sitios web populares como LinkedIn y Facebook sufren un ataque a sus bases de datos y las contraseñas de millones de usuarios se filtran a Internet, todas ellas son contraseñas con hash (una cadena de caracteres aparentemente aleatorios).
Cuando te registras en un sitio web, es de esperar que almacenen tu contraseña haciendo uso de algo llamado algoritmo de hash que toma tu contraseña en texto plano como "MyleakedPassword123" y la convierte en un hash como "@6a8Agqu&EX&v$Lho*nXCYWua5YKo" los atacantes pueden tomar estos hashes y utilizar hardware de procesamiento paralelo (como tarjetas gráficas dedicadas) para averiguar cómo es la contraseña real:
Por ensayo y error, los atacantes prueban combinaciones de caracteres y comparan sus hashes con los hashes filtrados hasta encontrar una coincidencia.
Hay dos tipos de ataques comunes cuando se intenta descifrar un grupo de hashes de contraseñas, la fuerza bruta y los ataques de diccionario. Los ataques de fuerza bruta funcionan por ensayo y error, una GPU de gama alta puede manejar alrededor de 40 mil millones de intentos por segundo, dependiendo de qué algoritmo de hashing se utilizó para cifrar la contraseña.
Una contraseña de siete dígitos compuesta por letras minúsculas y dos números tardará segundos en ser descifrada debido a la cantidad de entropía que contiene la contraseña. La entropía de la contraseña es una medida de lo impredecible que es la contraseña y, por tanto, imposible de adivinar. Una ecuación sencilla para averiguar todas las posibles combinaciones de cadenas con los caracteres que utilizas para tu contraseña es:
Donde C es el número de caracteres de tu conjunto de caracteres y L es la longitud de tu contraseña.
Por lo tanto, para una contraseña de 8 caracteres compuesta por 6 letras minúsculas y 2 números, el cálculo sería:
Hay 26 letras en el alfabeto y lo potenciamos a la cantidad de letras que estamos usando en nuestra contraseña, lo mismo se aplica a los dos números que estamos usando. No es un buen número teniendo en cuenta el número de intentos por segundo que es capaz de hacer una GPU.
Los ataques de fuerza bruta se pueden evitar utilizando contraseñas más largas, lo que significa que tienen mucha más entropía. Pero aquí es donde los ataques de diccionario entran en juego, los ataques de diccionario utilizan un conjunto de palabras clave comunes y contraseñas de usuarios reales como una base de datos de opciones para manipular mediante el uso de reglas, una regla es una forma de manipular los datos.
Un buen ejemplo de regla es cambiar la letra "e" dentro de una palabra por un 3 o cambiar la letra "O" por un cero. Puedes pensar que eres inteligente al hacer eso, pero como todo el mundo piensa igual, se vuelve predecible, por lo que los atacantes utilizan esa forma de pensar contra ti. Este tipo de ataque es especialmente efectivo cuando se utiliza el diccionario y las reglas adecuadas y puede ser capaz de descifrar contraseñas de hasta 16 caracteres fácilmente si se siguen las prácticas habituales.
El cómic anterior explica una forma de elegir contraseñas que sean fáciles de recordar para los humanos y difíciles de descifrar para los ordenadores (a medida que los ordenadores son más rápidos, les resulta más fácil manejar contraseñas más complejas). Aunque no es la mejor solución, deberías usar 6 palabras y no deberían ser palabras comunes. La forma de elegir estas palabras debe ser aleatoria y no debe depender de ti, también debes tener en cuenta el conjunto de palabras que vas a elegir. Una buena regla podría ser elegir 6 palabras al azar de una lista de 10.000 palabras en inglés, y si quieres ir más allá, intenta mezclarlas con algunas palabras inventadas, cambiando de idioma y añadiendo símbolos en lugares realmente aleatorios.
Por lo general, las contraseñas no son la mejor forma de autenticar a los usuarios y deberías utilizar la autenticación multifactorial en la medida de lo posible, pero las contraseñas van a permanecer con nosotros durante mucho tiempo. Lo ideal es utilizar un gestor de contraseñas, que actúa como una bóveda para todas tus contraseñas, de modo que sólo tienes que recordar la contraseña maestra que te da acceso a tu bóveda y es tu trabajo asegurarte de que tu contraseña maestra es a prueba de balas. Lo bueno de usar un gestor de contraseñas es que puedes generar largas contraseñas aleatorias siempre que quieras y almacenarlas para que no tengas que recordar tus contraseñas para todos tus diferentes sitios web, sólo tienes que recordar tu contraseña maestra para acceder a todas tus contraseñas aleatorias.
Si quieres consultar más recursos sobre este tema creé una web hace un tiempo con algunos vídeos que profundizan en el tema:
Publicado Recientemente
Angular vs. Vue en el mundo del desarrollo web
LEER MÁS →Desarrollo en WordPress: Fundamentos del Backend y Frontend
LEER MÁS →El Arte de Conectar Emociones y Estética: Explorando la Intersección entre UX y UI
LEER MÁS →ChatGPT, Claude 2 y Google Bard: ¿Cuál se Adapta Mejor a tus Necesidades?
LEER MÁS →ALCANZAR
Imagina Lo Que
Podemos Crear