Descubrir una contraseña de seis caracteres en 4 segundos

Publicado en Ciencia y Tecnología, Noticias,


Tweet about this on TwitterShare on Google+1Share on Facebook0Share on LinkedIn0

La tecnología avanza sin precedentes y, con eso, debería hacerlo el usuario en tratar de mantenerse al margen de los abusos que realizan de ella en beneficio de algunos delincuentes, como descubrir una contraseña en pocos segundos.

A través de la explotación de la arquitectura de los procesadores gráficos se han realizado importantes mejoras a nivel de procesamiento de datos. Esos avances, lamentablemente, también son utilizados por los atacantes para maximizar la eficiencia de sus ataques. Por lo tanto, la investigación de nuevas tecnologías no siempre va tener un fin positivo. Como las empresas de hardware no pueden controlar estrictamente el uso que será dado a sus dispositivos, es responsabilidad del usuario tomar medidas para prevenir posibles ataques. A continuación, analizaremos datos que nos revelan que el paralelismo proporcionado por los procesadores gráficos a través del procesamiento multi-hilo puede superar ampliamente el procesamiento de los CPU en el descifrado de contraseñas.

Capacidad de procesamiento

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.

Los estudios arrojan resultados devastadores de utilización de GPU sobre CPU en ataques de fuerza bruta. Una contraseña de 5 caracteres alfanuméricos puede ser vulnerada, por un CPU promedio actual, en 24 segundos a una tasa de 9.8 millones comparaciones por segundo. Ese número que realmente parece asombroso, resulta ínfimo si lo comparamos con la tasa de procesamiento que puede tener una GPU (ATI Radeon 5770), ya que puede realizar 3300 millones de comparaciones por segundo. En este caso, la velocidad en que el procesador gráfico descifraría la clave es menor a un segundo.

En caso de aumentar su longitud, y contar con una clave de 9 caracteres combinando números, letras en mayúsculas y minúsculas y símbolos, entonces a la CPU le llevaría 43 años descifrar la clave mientras que la GPU la estaría rompiendo en aproximadamente un mes y medio.

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.

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 (Herramienta para recuperar contraseñas)
  • 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

Breaking an NTLM password with a Radeon 5770

Buenas prácticas y sugerencias

Esto significa que combinar letras con números es una muy buena práctica, no obstante el usuario ahora debe hacer más que nunca mayor énfasis en la longitud de sus claves. De hecho, cuanto mayor la capacidad de procesamiento que tengan los atacantes, mayor es la longitud que debe tener la clave del usuario para no salir perdiendo en el desfasaje tecnológico.

A continuación, enumeramos algunas sugerencias importantes:

  • Un carácter más, siempre va aumentar exponencialmente la complejidad de la clave.
  • Cambiar caracteres por números similares para poder recordarlos (A=4, E=3, I=1, etc.).
  • Utilizar varias palabras juntas.
  • Mezclar los números en las palabras para que ninguna palabra pertenezca a algún idioma.

La siguiente contraseña de ejemplo: L4c4s4d3cr1st4l!; puede ayudar a ilustrar al lector un caso de una contraseña de 16 dígitos, con mayúsculas, minúsculas, números y símbolos que no es tan difícil de recordar para el usuario y que con la tecnología existente se tardarían miles de años en poder descifrarla.

Fuentes consultadas: GPU para obtener contraseñas en instantes | Descubrir contraseñas en segundos | Youtube | Wikipedia

Califica esta entrada

Etiquetas: , , ,


Deja un comentario

Cuanto es 15 + 17 ?
Please leave these two fields as-is:
IMPORTANTE! Necesitas resolver la operación matemática para poder continuar.

Newsletter

Redes sociales

Centro de soporte

Centro de recursos