Conociendo PassGAN, el “aterrador” descifrador de contraseñas impulsado por Inteligencia Artificial
A estas alturas, probablemente hayas oído hablar de un nuevo cracker (descifrador) de contraseñas basado en Inteligencia Artificial (IA) que puede comprometer tu contraseña en segundos mediante el uso de IA en lugar de métodos más tradicionales. Algunos medios lo han llamado “aterrador”, “preocupante”, “alarmante” e “inteligente”. Diversos medios se han volcado en informar que la herramienta puede descifrar cualquier contraseña de hasta siete caracteres, incluso si tiene símbolos y números, en menos de seis minutos.
Al igual que con tantas cosas relacionadas con IA, las afirmaciones se sirven con una generosa porción de humo y espejos. PassGAN, como se denomina la herramienta, no funciona mejor que los métodos de craqueo más convencionales.
En resumen, todo lo que PassGAN puede hacer, estas herramientas más probadas y verdaderas lo hacen igual o mejor. Y como muchos de los verificadores de contraseñas que no son de IA, los investigadores detrás de PassGAN extraen consejos de contraseñas de su experimento que socava la seguridad real.
Enseñando a una máquina a descifrar
PassGAN es una combinación abreviada de las palabras “password” y “generative adversarial networks”. PassGAN es un enfoque que debutó en 2017. Utiliza algoritmos de aprendizaje automático que se ejecutan en una red neuronal en lugar de métodos convencionales ideados por humanos. Estas GAN generan conjeturas de contraseñas después de aprender de forma autónoma la distribución de contraseñas al procesar el botín de infracciones anteriores del mundo real. Estas conjeturas se utilizan en ataques sin conexión que son posibles cuando se filtra una base de datos de hash de contraseñas como resultado de una brecha de seguridad.
La adivinación de contraseñas convencional utiliza listas de palabras que suman miles de millones tomadas de infracciones anteriores. Las aplicaciones populares para descifrar contraseñas como Hashcat y John the Ripper luego aplican “reglas de manipulación” a estas listas para permitir variaciones sobre la marcha.
Cuando una palabra como “password” aparece en una lista de palabras, por ejemplo, las reglas de modificación la transforman en variaciones como “Password” o “p@ssw0rd” aunque nunca aparecen directamente en la lista de palabras. Ejemplos de contraseñas del mundo real descifradas mediante manipulación incluyen: “Coneyisland9/,” “momof3g8kids,” “Oscar+emmy2″ “k1araj0hns0n,” “Sh1a-labe0uf,” “Apr!l221973,” “Qbesancon321,” “DG091101%,” “@Yourmom69,” “ilovetofunot,” “windermere2313,” “tmdmmj17,” y “BandGeek2014.”. Si bien estas contraseñas pueden parecer lo suficientemente largas y complejas, las reglas de manipulación las hacen extremadamente fáciles de adivinar.
Estas reglas y listas se ejecutan en clústeres que se especializan en computación paralela. En otras palabras, pueden realizar tareas repetitivas, como generar una gran cantidad de conjeturas de contraseñas mucho más rápido que las CPUs. Cuando se utilizan algoritmos poco adecuados, estas plataformas de craqueo pueden transformar una palabra en texto plano como “password” en un hash como “5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8” miles de millones de veces por segundo.
Otras técnicas
Otra técnica que hace que las listas de palabras sean mucho más poderosas se conoce como ataque combinador. Como su nombre indica, este ataque combina dos o más palabras de la lista. En un ejercicio de 2013, el experto en descifrado de contraseñas Jens Steube pudo recuperar la contraseña “momof3g8kids” porque ya tenía “momof3g” y “8kids” en sus listas.
El descifrado de contraseñas también se basa en una técnica llamada fuerza bruta que, a pesar de su mal uso como término genérico para descifrar, es claramente diferente de los descifradores que usan palabras de una lista. Más bien, el cracking por fuerza bruta prueba todas las combinaciones posibles para una contraseña de una longitud dada. Para una contraseña de hasta seis caracteres, comienza adivinando “a” y recorre todas las cadenas posibles hasta llegar a “//////”.
La cantidad de combinaciones posibles para contraseñas de seis o menos caracteres es lo suficientemente pequeña como para completarse en segundos para los tipos de algoritmos hash más débiles.
Cadenas de Markov
La fuerza bruta de contraseñas de siete o más caracteres es más intensiva porque el espacio de claves, es decir, el número de combinaciones posibles, es mucho mayor. Para hacer que el espacio clave sea manejable, los crackers aumentan los ataques de fuerza bruta con lo que se conoce como cadenas de Markov. En lugar de probar todas las combinaciones posibles, un ataque de Markov realiza ataques de fuerza bruta ordenados probabilísticamente por posición. Piensa en ello como una “fuerza bruta inteligente” que usa estadísticas para verificar primero las contraseñas más probables.
Donde una fuerza bruta clásica intenta “aaa”, “aab”, “aac”, un ataque de Markov prioriza las conjeturas en función de su probabilidad. Es más o menos probable que determinados caracteres aparezcan en la primera, segunda, tercera o posición superior de una cadena. El caracter “z”, por ejemplo, puede no aparecer a menudo en la segunda o tercera posición, mientras que el caracter “e” sí lo hace. Otro tipo más de fuerza bruta se conoce como ataque de máscara. Le permite al cracker seleccionar qué caracteres aparecen en qué posiciones.
Los ataques de fuerza bruta también se pueden combinar con ataques de palabras. Este ataque híbrido puede agregar todas las cadenas posibles de dos caracteres que contengan dígitos o símbolos al final de cada palabra de la lista, seguidas de todas las cadenas de tres caracteres que contengan dígitos o símbolos, y así sucesivamente.
Redes neuronales del gato y el ratón
PassGAN no utiliza ninguno de estos métodos. En cambio, crea una red neuronal, un tipo de estructura de datos vagamente inspirada en las redes de neuronas biológicas. Esta red neuronal intenta entrenar máquinas para interpretar y analizar datos de una manera similar a como lo haría una mente humana. Estas redes están organizadas en capas, con entradas de una capa conectadas a salidas de la siguiente capa.
PassGAN fue un experimento emocionante que ayudó a marcar el comienzo del uso de generadores de descifradores de contraseñas basados en IA. No obstante, ya cumplió su objetivo según el experto en descifrado de contraseñas e ingeniero principal sénior de Yahoo Jeremi Gosney. Gosney agregó que un método diferente de redes neuronales para adivinar contraseñas, presentado en 2016, funciona un poco mejor que PassGAN. Una segunda opinión es esta investigación del investigador Matt Weir. Utiliza un modelo de aprendizaje automático conocido como PCFG, abreviatura de “probabilistic context-free grammars”.
“Pero incluso como el principal generador de candidatos para descifrar contraseñas mediante IA, su cracker está a la par con los generadores de Markov (no es una mejora significativa)”.
Jeremi Gosney -2016.
Gosney se refería a los resultados generales de la herramienta PassGAN implementada por Home Security Heroes (creadores de la herramienta). “Desafortunadamente, su rendimiento está muy por debajo de las técnicas existentes, incluidos los generadores de estadísticos como Markov, los generadores probabilísticos como PCFG, las listas de palabras con reglas de manipulación y, para entradas cortas, incluso fuerza bruta tonta”.
Todos estos matices se pierden en el equipo de Home Security Heroes que demostró la herramienta PassGAN. Lo entrenaron con 15.7 millones de contraseñas tomadas únicamente de la filtración de RockYou, una pequeña y obsoleta porción del corpus general de muestras disponibles en la actualidad. Puede descifrar el 81% de ellos en menos de un mes, el 71% en menos de un día y el 65% en menos de una hora. También puede adivinar cualquier contraseña de siete caracteres en seis minutos o menos.
Tener mucho, mucho miedo
En lugar de poner PassGAN en contexto, el artículo de Home Security Heroes lo convierte en la próxima amenaza de seguridad súper aterradora. Sus autores escribieron:
PassGAN representa un avance preocupante en las técnicas de descifrado de contraseñas. Este último enfoque utiliza la Generative Adversarial Network (GAN) para aprender de forma autónoma la distribución de contraseñas reales a partir de filtraciones de contraseñas reales. Esto elimina la necesidad de un análisis manual de contraseñas. Si bien esto hace que el descifrado de contraseñas sea más rápido y eficiente, es una seria amenaza para tu seguridad en línea.
PassGAN puede generar múltiples propiedades de contraseña y mejorar la calidad de las contraseñas predichas, lo que facilita que los ciberdelincuentes descifren sus contraseñas y obtengan acceso a sus datos personales. Como tal, es crucial actualizar regularmente tus contraseñas para protegerse de esta tecnología peligrosa.
Específicamente, la publicación aconseja a las personas que cambien sus contraseñas cada tres a seis meses. Esto a pesar de la orientación explícita de muchos expertos y entidades. Todas esas entidades dicen que los cambios regulares de contraseña son más dañinos que útiles para la seguridad porque el esfuerzo requerido para cambiar decenas de contraseñas varias veces al año alienta a una persona a tomar atajos potencialmente costosos. Al contrario de lo que se aconseja en el artículo, no hay motivo para cambiar contraseñas lo suficientemente seguras a menos que haya pruebas de que se han visto comprometidas.
Otros ejemplos en la publicación disfrazan el rendimiento mediocre como algo de qué preocuparse. “PassGAN tardó apenas seis minutos en descifrar una contraseña de siete caracteres, incluso si contenía letras mayúsculas y minúsculas, números y símbolos”. En realidad, según Gosney, esto es solo un poco mejor que un ataque de fuerza bruta.
Sin resultados sobresalientes
Como mención final, el comprobador de seguridad de contraseñas de Home Security Heroes es nada menos que abismal. ¿Recuerdas “momof3g8kids”, una de las muchas contraseñas mencionadas anteriormente que se descifró en minutos u horas usando métodos tradicionales? El verificador dice que PassGAN necesitaría 14 mil millones de años para adivinarla. El mismo verificador dice que se necesitarían solo 187 millones de años para descifrar la contraseña “2HdmYfcn!H9VhV”, que, según todas las medidas objetivas, es muchísimo más segura.
Entonces, para todas las personas que dicen que PassGAN representa una nueva amenaza para la seguridad de las contraseñas… no. PassGAN fue un experimento interesante con un beneficio duradero mínimo además de mostrar que es posible construir un generador de contraseña basado en inteligencia artificial que funcione y que no dependa de los humanos. Lo único notable o preocupante sobre PassGAN en estos días es la exageración y los consejos contraproducentes que está generando.