¿Qué son las tablas de arco iris? ¿Qué es un ataque de mesa arcoíris?

Rainbow Tables son conjuntos de datos de cadenas de “valores hash” pregenerados para casi todas las variantes de contraseña populares, lo que reduce la dificultad de descifrar las contraseñas.

¿Alguna vez has visto un thriller de ciencia ficción en el que un genio informático piratea la computadora de un villano para descubrir su plan diabólico ultrasecreto para conquistar el mundo? Siempre muestran una pantalla de computadora con transiciones futuristas, líneas de código que se mueven rápidamente, símbolos indescifrables y jerga informática críptica. Al crecer, así asumí que sería el verdadero pirateo. Nunca me había equivocado tanto. “Hackear” un correo electrónico o una cuenta de redes sociales no es la tarea glamorosa que se supone que está en la televisión. De hecho, es un proceso minucioso que requiere mucha paciencia. No puede estar escribiendo a una velocidad vertiginosa, golpeando salvajemente las teclas, esperando que suceda algo.

Escritura de teclado de computadora de alta velocidad por un hacker profesional (welcomia) S

Hacker de Hollywood en el trabajo (Crédito de la foto: welcomia / Shutterstock)

¿Qué es un ataque de fuerza bruta?

Un método común y bastante simplista de piratear una cuenta se llama ataque de fuerza bruta. Esencialmente, adivinas todas las contraseñas posibles hasta que llegas a la correcta. Ese es el único caso en el que probablemente pincharías incesantemente en tu teclado. Sin embargo, considerando la longitud de la contraseña promedio, existen al menos mil millones de variaciones posibles. Debería probar innumerables combinaciones de letras, números y símbolos antes de llegar a la correcta. Nadie tiene tiempo para eso. Además, las contraseñas no se almacenan en los servidores como la cadena de texto original, sino que se almacenan en un formato conocido como valores hash.

Crimen digital por un hacker anónimo (Rawpixel.com) s

En un ataque de fuerza bruta, literalmente intentas cada palabra posible para ingresar a una cuenta en línea (Crédito de la foto: Rawpixel.com/Shutterstock)

¿Qué son los valores hash?

Cuando las empresas almacenan las contraseñas de sus cuentas en sus servidores, no las almacenan simplemente como texto. Si lo hicieran, una simple búsqueda ‘CRTL-F’ conduciría al descubrimiento de cualquier contraseña y su cuenta asociada. Ahí es donde un algoritmo hash resulta útil. Cuando establece una contraseña para su cuenta, se ejecuta un “algoritmo hash” en esa cadena de texto para convertirlo en un “valor hash”. Un valor hash es esencialmente una forma encriptada del texto original. Además, no puede utilizar un “algoritmo inverso” para devolver el valor hash a su forma original. Lo que se podría hacer es “reducir” el valor hash para crear una nueva palabra. En algunos casos muy poco probables, esta palabra puede ser el conjunto original de entrada de cadena.

Etiquetas icono símbolo de línea (JustDOne) s

Al ejecutar un algoritmo hash, el texto de la contraseña original se oculta a las miradas indiscretas de los piratas informáticos (Crédito de la foto: JustDOne / Shutterstock)

Cuando inicia sesión en su cuenta de correo electrónico o sitio web de redes sociales, el sistema puede ejecutar el mismo algoritmo hash en el texto de su contraseña y comparar el resultado con el valor hash que tiene registrado. Si bien esto agrega una capa adicional de seguridad, los piratas informáticos podrían simplemente tener una colección de miles de contraseñas y sus valores hash correspondientes. De hecho, estas colecciones existen en línea y se denominan “diccionarios de piratas informáticos”.

¿Qué son los diccionarios de hackers?

Para simplificar el proceso, los piratas informáticos crearon enormes bases de datos llenas de las contraseñas más utilizadas y sus correspondientes valores hash. Cuando un valor hash coincide con uno almacenado en un diccionario de piratas informáticos, simplemente usan el texto original correspondiente al valor hash como contraseña y listo, están dentro. Por supuesto, este truco solo resulta útil en el caso de contraseñas ‘comunes’ . En otras palabras, si su contraseña es “contraseña” o “contraseña123” o alguna otra contraseña infinitamente popular, entonces su cuenta será invadida. Es solo cuestión de tiempo. De hecho, si su contraseña es “contraseña”, un ataque básico de fuerza bruta sería más que suficiente.

Un flujo de código de matriz binaria en la pantalla (Pogorelova Olga) s

Los diccionarios de piratas informáticos podrían parecerse al código Matrix (si decide utilizar una fuente verde sobre un fondo negro) (Crédito de la foto: Pogorelova Olga / Shutterstock)

¿Qué pasa si la contraseña asociada a una cuenta no es común? ¿Qué pasa si es una palabra aleatoria de 8 letras como “scrabble”? Los diccionarios de piratas informáticos podrían resolver el problema de las palabras poco comunes agregando tantas palabras como sea posible a su diccionario. Sin embargo, el almacenamiento es finito. La creación de un diccionario de piratas informáticos con todas las palabras posibles resultaría en un archivo inmanejable, muy parecido a un diccionario de tapa dura real. Uno tendría que cargar con un centro de almacenamiento de datos cada vez que quisiera abrir una cuenta de correo electrónico.

¿Qué son las tablas de arco iris?

Para abordar este problema de tamaño de archivo, los piratas informáticos idearon el concepto de Rainbow Tables. Las tablas de arco iris son básicamente indistinguibles de los diccionarios de hackers a primera vista. Incluyen una palabra y, junto a ella, su valor hash. Sin embargo, en el caso de una Rainbow Table, la palabra original tiene hash. El valor hash resultante se ‘reduce’ para crear una nueva palabra. Luego, esa palabra está codificada. El nuevo hash se reduce y la palabra resultante se vuelve a hacer hash. Este proceso de hash y reducción se realiza unas cien mil veces. El valor de hash cien milésimo se almacena junto con el texto original.

Una tabla de arco iris contiene una cadena larga (alrededor de 100.000 enlaces) de valores hash en cada fila, en lugar de solo una palabra y su hash. Básicamente, una tabla de arco iris puede caber 100.000 palabras en una sola fila, a diferencia de un diccionario de piratas informáticos, que puede caber solo en una. Como resultado, puede contener millones de palabras sin tener un tamaño de archivo proporcionalmente grande. Piense en una mesa de arco iris como una paleta de colores. Cada fila de la tabla es de un color particular, pero cada color tiene alrededor de 100.000 tonos. Así, podríamos almacenar el color rojo, pero tener acceso a escarlata, granate, burdeos, bermellón y muchas más tonalidades sin requerir ningún espacio extra de almacenamiento.

Conjunto de puntos de acuarela multicolor (Velazquez77) s (1)

Una mesa de arcoíris es esencialmente una paleta de colores (Crédito de la foto: Velazquez77 / Shutterstock)

¿Cómo funciona el ataque Rainbow Tables?

El valor hash en un servidor de sitio web se compara con la lista de valores hash en la tabla Rainbow. Si hay una coincidencia, el texto original correspondiente se compara con la contraseña que una persona está tratando de descifrar. Si es correcto, listo, estamos dentro. Si no, entonces el valor hash se reduce para obtener el siguiente texto original en la cadena. Ese texto se compara con la contraseña. Básicamente, recorremos toda la cadena de valores mediante hash y reduciendo en cada paso hasta llegar a un valor que coincide con la contraseña. Esto todavía puede ser un proceso bastante largo y prolongado. Además, en la actualidad, tenemos Rainbow Tables que pueden descifrar contraseñas de solo 10 caracteres de longitud. Además, estas tablas no pueden manejar contraseñas complejas y sin sentido.

Es por eso que muchos sitios web te obligan a complicar tu contraseña de alguna manera. Agregue una letra mayúscula, incluya un símbolo o tenga un número en algún lugar intermedio. Una cadena de letras, números y símbolos, cuando se aplica un hash, crearía un valor hash que rara vez formaría parte de cualquier biblioteca de piratas informáticos o Rainbow Table. Como resultado, ¡se convierte en una contraseña súper segura!