¿Qué es un ataque de diccionario?

Para autenticarse en un sitio web, debe proporcionar un nombre de usuario y una contraseña. Luego, el sitio verifica los detalles de autenticación que ha proporcionado comparándolos con los detalles que ha almacenado en su base de datos. Si los detalles coinciden, se concede el acceso. Si los detalles no coinciden, se deniega el acceso.

Desafortunadamente, las violaciones de datos son una ocurrencia relativamente común. Las violaciones de datos pueden ser un gran problema porque uno de los bits de datos más comúnmente atacados son los datos del usuario, específicamente la lista de nombres de usuario y contraseñas. Si las contraseñas se almacenan tal cual, en texto sin formato, cualquier persona con acceso a la base de datos puede acceder a la cuenta de cualquier otro usuario. Es como si les dieran un llavero con la llave de todas las puertas de un edificio de apartamentos.

Si bien se dedica mucho esfuerzo a prevenir violaciones de datos en primer lugar, se recomienda una estrategia de defensa en profundidad. Específicamente, los consejos de seguridad sostienen que las contraseñas deben codificarse, y solo se debe almacenar el hash de la contraseña. Una función hash es una función unidireccional que siempre convierte la misma entrada en la misma salida. Sin embargo, incluso un cambio menor en la entrada produce una salida completamente diferente. Críticamente, no hay forma de revertir la función y convertir el hash de salida en la entrada original. Lo que puede hacer, sin embargo, es codificar una nueva entrada y ver si la salida coincide con el hash almacenado en la base de datos. Si lo hace, conoce la contraseña coincidente, sin saber nunca la contraseña real.

De manera útil, esto también significa que si un atacante viola la base de datos, no obtiene una lista de contraseñas útiles de inmediato, sino que obtiene hashes en su lugar. Para poder utilizar estos hashes, es necesario descifrarlos.

Descifrar hashes de contraseñas con inteligencia

Descifrar un hash de contraseña es el proceso de averiguar cuál es la contraseña original que representa el hash. Porque no hay forma de revertir la función hash y convertir el hash en la contraseña. La única forma de descifrar un hash es adivinar la contraseña. Un método es utilizar un ataque de fuerza bruta. Esto implica literalmente probar todas las contraseñas posibles. Eso significa empezar desde la “a”, probando cada letra, en ambos casos, y cada número y símbolo. Luego, el atacante debe probar todas las combinaciones de dos caracteres, combinaciones de tres caracteres, etc. El aumento de posibles combinaciones de caracteres es exponencial cada vez que añades un carácter. Esto hace que sea difícil adivinar contraseñas largas de manera eficiente, incluso cuando se utilizan algoritmos de hash rápidos con potentes plataformas de craqueo de GPU.

Se puede ahorrar algo de esfuerzo mirando los requisitos de contraseña del sitio y no probando contraseñas que serían demasiado cortas para permitirlas o que no tienen un número, por ejemplo. Esto ahorraría algo de tiempo y aún encaja en la clase de un ataque de fuerza bruta que intenta todas las contraseñas permitidas. Si bien los ataques de fuerza bruta son lentos, si se les deja el tiempo suficiente con mucha potencia de procesamiento, eventualmente descifrarán cualquier contraseña, ya que se probarán todas las combinaciones posibles.

El problema con los ataques de fuerza bruta es que no son muy inteligentes. Un ataque de diccionario es una variante que está mucho más dirigida. En lugar de simplemente probar cualquier contraseña posible, prueba una lista de contraseñas especificadas. El éxito de este tipo de ataque depende de la lista de contraseñas y del diccionario en cuestión.

Hacer conjeturas informadas

Los diccionarios de contraseñas generalmente se crean a partir de contraseñas previamente descifradas de otras violaciones de datos. Estos diccionarios pueden contener miles o millones de entradas. Esto se basa en el concepto de que las personas son malas para crear contraseñas únicas. Desafortunadamente, la evidencia de las violaciones de datos también muestra que este es el caso. La gente todavía usa variaciones de la palabra "contraseña". Otros temas comunes son los equipos deportivos, nombres de mascotas, nombres de lugares, nombres de empresas, odiar tu trabajo y contraseñas basadas en la fecha. Esto último tiende específicamente a ocurrir cuando las personas se ven obligadas a cambiar sus contraseñas con regularidad.

El uso de un diccionario de contraseñas reduce enormemente la cantidad de conjeturas que deben realizarse en comparación con un ataque de fuerza bruta. Los diccionarios de contraseñas también tienden a contener contraseñas cortas y más largas, lo que significa que algunas contraseñas podrían probarse y no se alcanzarían incluso con años o adivinando por fuerza bruta. El enfoque también resulta exitoso. Las estadísticas varían según la violación de datos y el tamaño y la calidad del diccionario utilizado, pero las tasas de éxito pueden superar el 70 %.

Las tasas de éxito se pueden aumentar aún más con algoritmos de manipulación de palabras. Estos algoritmos toman cada palabra en el diccionario de contraseñas y luego la modifican un poco. Estas modificaciones tienden a ser reemplazos de caracteres estándar y agregan números o símbolos finales. Por ejemplo, es común que las personas reemplacen la letra "e" con un "3", una "s" con un "$" o agreguen un signo de exclamación al final. Los algoritmos de manipulación de palabras crean duplicados de cada entrada en el diccionario de contraseñas. Cada duplicado tiene una variación diferente de estos reemplazos de caracteres. Esto aumenta significativamente la cantidad de contraseñas para adivinar y también aumenta la tasa de éxito, en algunos casos por encima del 90%.

Conclusión

Un ataque de diccionario es una variación dirigida de un ataque de fuerza bruta. En lugar de intentar todas las combinaciones de caracteres posibles, se prueba un subconjunto de combinaciones de caracteres. Este subconjunto es una lista de contraseñas que se han encontrado previamente y, si es necesario, se han descifrado en filtraciones de datos pasadas. Esto reduce enormemente la cantidad de conjeturas que se deben realizar al tiempo que cubre las contraseñas que se han usado antes y, en algunos casos, se han visto con frecuencia. Un ataque de diccionario no tiene una tasa de éxito tan alta como un ataque de fuerza bruta. Eso, sin embargo, supone que tiene tiempo y poder de procesamiento ilimitados. Un ataque de diccionario tiende a obtener una tasa de éxito decentemente alta mucho más rápido que un ataque de fuerza bruta. Esto se debe a que no pierde el tiempo en combinaciones de caracteres extremadamente improbables.

Una de las principales cosas que debe hacer al crear una contraseña es asegurarse de que no aparezca en una lista de palabras. Una forma de hacerlo es crear una contraseña compleja, otra es crear una contraseña larga. Generalmente, la mejor opción es crear una contraseña larga compuesta de unas pocas palabras. Es importante que esas palabras no formen una frase real, ya que eso podría adivinarse. Deben ser completamente independientes. Se recomienda que elija una contraseña de más de 10 caracteres con 8 como mínimo absoluto.



Leave a Comment

Qué Hacer Si Powerbeats Pro No Carga en el Estuche

Qué Hacer Si Powerbeats Pro No Carga en el Estuche

Si tus Powerbeats Pro no cargan, utiliza otra fuente de energía y limpia tus auriculares. Deja el estuche abierto mientras cargas tus auriculares.

Fundamentos de Impresión 3D: Una Lista de Verificación de Mantenimiento Imprescindible

Fundamentos de Impresión 3D: Una Lista de Verificación de Mantenimiento Imprescindible

Mantener tu equipo en buen estado es fundamental. Aquí hay algunos consejos útiles para mantener tu impresora 3D en óptimas condiciones.

Canon Pixma MG5220: Escanear Sin Tinta

Canon Pixma MG5220: Escanear Sin Tinta

Cómo habilitar el escaneo en la Canon Pixma MG5220 cuando se queda sin tinta.

5 Razones por las Que Tu Portátil Se Está Sobrecalentando

5 Razones por las Que Tu Portátil Se Está Sobrecalentando

Descubre algunas de las posibles razones por las que tu portátil se está sobrecalentando, junto con consejos y trucos para evitar este problema y mantener tu dispositivo fresco.

Cómo instalar un SSD en PCs de escritorio y portátiles

Cómo instalar un SSD en PCs de escritorio y portátiles

¿Acabas de comprar un SSD con la esperanza de mejorar el almacenamiento interno de tu PC, pero no sabes cómo instalarlo? ¡Lee este artículo ahora!

Cómo solucionar el código de error 0xC272008F de GeForce Now

Cómo solucionar el código de error 0xC272008F de GeForce Now

Te estás preparando para una noche de juegos y va a ser una gran noche: acabas de conseguir “Star Wars Outlaws” en el servicio de streaming GeForce Now. Descubre la única solución conocida que te muestra cómo arreglar el error 0xC272008F de GeForce Now para que puedas empezar a jugar los juegos de Ubisoft nuevamente.

Fundamentos de la Impresión 3D: Consejos de Mantenimiento para su Impresora 3D

Fundamentos de la Impresión 3D: Consejos de Mantenimiento para su Impresora 3D

Mantener sus impresoras 3D es muy importante para obtener los mejores resultados. Aquí hay algunos consejos importantes a tener en cuenta.

Cómo encontrar la dirección IP de una impresora

Cómo encontrar la dirección IP de una impresora

¿Tienes problemas para averiguar cuál es la dirección IP de tu impresora? Te mostraremos cómo encontrarla.

Cómo usar AirPods con teléfonos Samsung

Cómo usar AirPods con teléfonos Samsung

Si tienes dudas sobre si comprar AirPods para tu teléfono Samsung, esta guía te ayudará. La pregunta más obvia es si son compatibles, y la respuesta es: ¡sí, lo son!

Solución de problemas de Roku no actualiza el software

Solución de problemas de Roku no actualiza el software

Asegúrate de que tu dispositivo Roku funcione correctamente actualizando el software. Aquí tienes soluciones efectivas para el problema de actualizaciones de Roku.