Jump to content

Procesadores GPU en clusters para descubir claves con ataques de fuerza bruta.


El_Tano
 Share

Publicaciones recomendadas

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.

 

gpunvidia800x600-1.jpg

 

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.

 

  • Upvote 2
Enlace al comentario
Compartir en otros sitios web

Crear una cuenta o conéctate para comentar

Tienes que ser miembro para dejar un comentario

Crear una cuenta

Regístrese para obtener una cuenta nueva en nuestra comunidad. ¡Es fácil!

Registrar una nueva cuenta

Conectar

¿Ya tienes una cuenta? Conéctate aquí.

Conectar ahora
 Share

×
×
  • Crear nuevo...