contraseñas

HiveSystems publicó por primera vez en 2020 una tabla de contraseñas con los tiempos que le insumiría a un atacante romperlas. Esos tiempos han sido actualizados con datos para el 2022.

La tabla de 2020 mostraba la fortaleza relativa de una contraseña contra un intento de descifrado de fuerza bruta, según la longitud y la complejidad de la contraseña. Los datos se basaron en cuánto tiempo y presupuesto le tomaría a un atacante descifrar el hash de una contraseña usando una computadora de escritorio con una tarjeta gráfica de primer nivel.

Dos años más tarde, un período de tiempo bastante largo en términos de mejora de la potencia de procesamiento, las cosas han cambiado bastante.

En el contexto de las contraseñas, un «hash» es una versión codificada de una cadena de texto. En otras palabras, si se calcula el hash de la palabra «password» usando el método de hashing MD5, el hash de salida es 5f4dcc3b5aa765d61d8327deb882cf99. Sabiendo esto, el atacante puede crackear un hash por fuerza bruta, lo cual significa hacer una lista de «todas» (en teoría) las combinaciones de caracteres y luego codificarlas con el método de hashing que desee y corresponda al sistema atacado. Al encontrar coincidencias entre su lista y los hashes de las contraseñas robadas, el cracker pueden descubrir la contraseña.

Las tarjetas gráficas son una placa especial que tiene una Unidad de Procesamiento Gráfico (GPU) con una alta capacidad de cálculo matemático. Resulta que también son excelentes para extraer criptomonedas y calcular hashes. Por ejemplo, una aplicación popular para cracking de hashes es Hashcat y permite utilizar la capacidad de cálculo de las GPU para calcular hashes.

La tabla de contraseñas de 2020 utilizó datos de 2018 basados en contraseñas hasheadas con MD5 y descifradas con una GPU RTX 2080. La GPU superior de 2022 es la RTX 3090, la cual resulta que tiene casi el triple de poder de cálculo de hashes por segundo. No obstante en el mercado en 2023 ya existen tarjetas mas poderosas como la RTX 4090.

¿Cuánto se tarda para romper una contraseña?

Suponiendo que se utilice la recomendación original de contraseñas de 8 caracteres del NIST, los crackers pueden romperla en menos de 5 horas (suponiendo que se use todo el set de caracteres). Y, si se usa el poder de cómputo de la nube, ese tiempo baja a 39 minutos utilizando 8 GPUs e invirtiendo U$S 32,77 por hora. Obviamente, cuantas más instancias se utilicen en paralelo, menos tiempo tomará.

Conclusión: cualquier contraseña por debajo de 16 caracteres es potencialmente crackeable en pocas horas.

¿Quién usa MD5 y SHA1 para codificar sus contraseñas?

¡Buen punto! Las GPU pueden generar hashes MD5 muy rápidamente, mientras que otras funciones de hash hacen que el proceso sea lento por diseño. Aunque todavía hay una cantidad sorprendente de sitios que usan MD5 y SHA1, hay un gran contingente que codifica sus contraseñas con bcrypt y otros.

¿Qué pasa si una contraseña ha sido robada anteriormente, se usan palabras simples o se reutilizan entre sitios?

La tabla de contraseñas se centra en la idea de que el atacante está trabajando en una situación de «caja negra» y tiene que empezar desde cero para crackear el hash.

Mediante el uso de tablas de arcoíris, ataques de diccionario y hashes robados anteriormente, el resultado del cracking es «inmediato» (un solo segundo).

Fuente y redacción: segu-info.com.ar

Compartir