GPU para obtener contraseñas en instantes

Las tarjetas gráficas o GPU son un poderoso procesador por sí mismo. Pero no un procesador cualquiera, sino uno de esos que hacen las cosas tan en paralelo que es casi como tener una pequeña supercomputadora en un chip. Por eso no es sorprendente que con la mejora de las interfaces de programación (API) para GPU, el abaratamiento de estos dispositivos y su cada vez mejor desempeño, surjan aplicaciones antes impensables para una computadora personal. Una de esas aplicaciones es la obtención de contraseñas con ataques de fuerza bruta.

Un ataque de fuerza bruta es, algorítmicamente hablando, el que se realiza explorando todo un universo de soluciones. En el caso de la obtención de contraseñas implica explorar todas las posibles combinaciones de contraseñas a partir de un alfabeto dado, tal vez con ayuda de algún diccionario. Los ataques de este estilo no son tan “a lo bruto”, por el contrario ciertas técnicas tienen que ser contempladas para que resulte un programa tan eficiente como sea posible.

El GPU por su parte ofrece una arquitectura interna similar a un arreglo de procesadores independientes pero interconectados entre sí para para transferir datos, compartir memoria, casi como en un cluster de computadoras. Las GPU son así porque los algoritmos fundamentales para la generación de gráficos por computadora son altamente paralelizables, es decir, pueden descomponerse en pequeñas instancias independientes que resuelven una tarea común: generar gráficos 3D, sus polígonos, multiplicar las matrices correspondientes, etc.

Y si el algoritmo implica hacer cómputo paralelo, qué mejor cuando la máquina donde se ejecute también lo sea. En el caso de la GPU cada unidad de procesamiento ejecuta un hilo de ejecución, una subtarea que resuelve una instancia del problema principal a una velocidad de vértigo.

NVIDIA entendió pronto que sus GPU podrían tener grandes aplicaciones creadas por los usuarios, así que entregó a los desarrolladores un API adecuada para ello. Esto significó un paso adelante para la historia del cómputo científico, donde a un costo relativamente bajo los científicos podrían hacer supercomputación (y llevarla consigo en sus laptops o a su oficina). La NVIDIA Tesla, por ejemplo, es una “máquina de escritorio” que según el modelo puede tener de 128 hasta 1792 unidades (cores) de procesamiento. Tianhe-1A, la supercomputadora de Tianjin, China, tiene 7.168 máquinas NVIDIA Tesla (operadas por Linux, por cierto) y es la segunda más rápida del mundo.

Bien, pues regresando al asunto de las contraseñas tenemos que pruebas de desempeño como la de Vijay Devakumar demuestran el poder impresionante de las GPU para desvelarlas (no es la primera ni la última prueba al respecto). Estos fueron las condiciones su experimento:

  • Usó la herramienta ighashgpu del ruso Ivan Golubev para ataques de fuerza bruta vía GPU contra diversos algoritmos de cifrado como MD5, SHA1, etc.

  • Usó, para efectos comparativos, el software Cain & Abel, que utiliza únicamente el CPU

  • Las contraseñas estaban cifradas en NTLM, de Microsoft

  • La GPU fue una ATI Radeon 5770

Estos fueron sus resultados (tiempo en descifrar la contraseña) para diferentes longitudes de contraseñas alfanuméricas:

  • 5 carácteres: Cain & Abel 24 segundos, ighashgpu menos de un segundo

  • 6 carácteres: Cain & Abel 90 minutos, ighashgpu 4 segundos

  • 7 carácteres: Cain & Abel 4 días, ighashgpu 17.5 minutos

  • 8 carácteres: Cain & Abel 256 días, ighashgpu 18.5 horas

  • 9 carácteres: Cain & Abel 43 años, ighashgpu 48 días

Las velocidades son in-com-pa-ra-bles… Aquí un vídeo para demostrarlo.

Expertos en seguridad como ESET Latinoamerica advierten del peligro que representa una tecnología así en manos equivocadas… Pero tranquilos, no se asusten pues no todo es malo, porque como tecnología la de las GPU es una verdadera joya con muchas aplicaciones científicas que vienen de la mano con una nueva generación de algoritmos paralelos.

Lo que viene en camino es el cómputo híbrido, CPU más GPU, por todas partes, en todas nuestras aplicaciones. Y una potencial supercomputadora en cada hogar.

Anuncios

6 comentarios en “GPU para obtener contraseñas en instantes

  1. Hola

    Me llamo Alejandra y soy administradora de un directorio web/blog y me ha gustado mucho su sitio.

    Me gustaría contar con su sitio en mi directorio, a cambio solo pido un pequeño enlace a mi página de películas, ¿Qué le parece la idea?

    Mi correo es: ale.villar@hotmail.com

    Un beso! y SueRte con su BloG!

  2. …Es algo realmente sorprendente, pues cada dia la tecnologia avanza mucho mas; tal es este ejemplo de “GPU para obtener contraseñas en instantes”; Ademas de que hay personas que colocan de contraseñas su numero de telefono, cedula, fecha de nacimiento…. o otras que son comunes en la mayoria de la poblacion y que sus amigos… quizas tambien conozcan esos datos. Esta En Nuestras manos e imaginacion para crear una contraseña realmente segura y que sea un poco complicada para adivinar pero obviamente que sea facil de recordar por lo menos uno como usuario. Esto muestra que el avance tecnologico es casi imparable ya que surgen mil y una aplicaciones, paginas, buscadores, etc… que no es negativo solo hay que saberlo utilizar y aprovechar para el beneficio de todos.!

  3. Wow, tremendamente interesante, la verdad es que no sabía acerca de algún programa capaz de obtener contraseñas con el uso de los GPU, me imaginaba que lo normal del asunto sería el uso del procesador y no el gpu como tal para estos procesos, y me parece algo bastante innovador esta técnica empleada por Vijay Devakumar, aunque lo hizo con una ATI Radeon 5770, tarjeta que no es muy reciente… Imaginense qué rápido podría ser con una de la serie 6000 de Radeon, o con una GTX de Nvidia? Yo por mi parte tengo una Nvidia GTX 550ti(por mi experiencia prefiero Nvidia, he usado muchas Radeon también) y mi procesador es un i5, puedo hacer ‘casi’ cualquier cosa simultáneamente sin que afecte mi rendimiento, y es increíble imaginarse qué se podría hacer si este tipo de programas estuviera al alcance del público en general, y por supuesto realmente impresionante cómo avanza la tecnología para bien si se le da un buen uso a estas herramientas.

    Muy bueno el artículo, saludos.
    PSR!

  4. Vaya, bastante interesante el video, con esas GPU las computadoras llegarán a un nuevo nivel de velocidad. También te dan una muy buena razón para teer una contraseña buena y larga en tus cuentas.

  5. Muy buena la información. Cada vez la tecnología avanza y con más rapidez, éste tipo de blogs son los adecuados para leer. Es interesante saber cómo algo tan importante como nuestras contraseñas (password) ya son blanco fácil del conocimiento público. Sin embargo creo que dentro de poco tiempo ya estas tarjetas gráficas estarán mucho más avanzadas y serán mejoradas, para entonces tendremos que adaptarnos y seguir dándole el uso correcto a la tecnología.

  6. Buenas noches Prof. Contreras. Realmente interesante su artículo, al leer la información de los procesadores GPU, me impresiono al ver lo rápido que avanza la tecnología, a pasos de gigante en realidad, pero al hacer referencia de que es como una pequeña supercomputadora en un chip, se hace aún más asombroso, a medida que avanzan todos los objetos tecnológicos, estos van siendo cada vez más pequeños, lo cual para decirlo con una frase popular “nos deja con la boca abierta”, además de ser muy innovador y aunque muy tentador, y de gran utilidad para aquellos que lo crearon y para lo que ha sido creado, no estoy en un 100% de acuerdo con la función que cumple esta creación, ya que ciertamente si llegará a caer en las manos equivocadas-cosa de la cual no estamos seguros, pero todo es posible en esta vida- se le daría un mal uso a este procesador, generando muchos riesgos, pero mientras se use para beneficiar el mundo tecnológico y seguir innovando y avanzando, bienvenido sea.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s