Cómo determinar hashes / second en el criptoanálisis de contraseñas

3

Estoy trabajando en mi disertación sobre criptoanálisis en hashes de contraseña. Como parte de mi investigación, mi objetivo es descifrar varias contraseñas con John the Ripper y rainbowcrack-mt .

Me gustaría determinar y analizar algunas estadísticas sobre las contraseñas que descifro. Una cosa que me gustaría saber es cuántos hashes por segundo que la aplicación de craqueo ( john o rainbowcrack-mt ) están probando por segundo. Intenté buscar algo adecuado, sin embargo, no puedo encontrar ninguna herramienta que me permita extraer dicha información.

Todavía tengo que probar una herramienta llamada Pipal , sin embargo, esta herramienta (de lo que he read) se utiliza para analizar las características de las contraseñas una vez que se han descifrado.

    
pregunta Ian Muscat 26.04.2013 - 00:32
fuente

1 respuesta

3

Para John the Ripper, @dr jimbob te dio la información: consulta la página de puntos de referencia y usa --test Bandera de línea de comando para hacer tus propias medidas.

Para rcracki-mt, la situación es un poco diferente. Esto utiliza una tabla de arco iris que es un tipo específico de tabla de consulta que contiene, en una estructura de tamaño optimizado, mucho de precomputados hashes de contraseña. Por lo tanto, la mayor parte del hashing se produce cuando se construye la tabla (con algún otro software), no cuando se usa. Hay hay algo de hash en el tiempo de uso, pero menos, y el hashing no es el único parámetro en la velocidad de craqueo.

De hecho, una tabla de arco iris se puede caracterizar por el número N de hashes de contraseña que contiene virtualmente (es decir, hay exactamente N contraseñas distintas que la tabla puede descifrar; siempre tendrá éxito para una de estas contraseñas N , y siempre fallará para todas las demás), y por su "longitud de cadena interna" t . La longitud de la cadena se elige cuando se construye la tabla. Los costes medios son:

  • Tamaño de la tabla: N / t extremos de la cadena.
  • Costo de ataque: t búsquedas, t2 hashes para calcular.
  • Costo de construcción de la tabla: sobre 1.7 * N hashes, y un paso de clasificación completo sobre los extremos de la cadena N / t .

Un "final de cadena" es una secuencia de bits de longitud un poco por encima del registro N , digamos una docena de bytes cada uno. Dependiendo de algunos detalles técnicos, puede guardar un factor de 2 en algunos lugares, lo que puede ser importante en la práctica pero no cambia el panorama general.

Las tablas de arco iris son una variante de un método anterior con un nombre más claro: Tiempo de Hellman / Intercambio de memoria . Esto indica que a través de la longitud de la cadena elegida para construir las tablas (el parámetro t ), ahorra espacio (el tamaño de almacenamiento se divide por t ) pero aumenta costo de uso (con una tabla grande simple de hash precomputados, haces una búsqueda y no hash; con la tabla del arco iris, haces t y t 2 hashes para cada hash de contraseña atacada). La compensación es realmente entre la CPU disponible para la creación de tablas, el tamaño de los discos duros, la CPU disponible en el momento del ataque y el tiempo necesario para cada búsqueda. Las búsquedas son a menudo el cuello de botella en el momento del ataque: un disco duro mecánico tolerará alrededor de cien accesos por segundo (estos no son en absoluto secuenciales). Por supuesto, SSD ofrece búsquedas mucho más rápidas, pero también son bastante más caras por gigabyte almacenado, por lo que la compensación cambios de balance.

Resumen: para tablas de arco iris, "cuántas contraseñas por segundo es el resultado de una combinación de varios parámetros ajustables (longitud de la cadena, pero también número de tablas y división entre tablas) y abarca diferentes características de hardware (CPU, tamaño de disco, tecnología de disco ...) tanto para la creación de tablas como para el uso de tablas. No hay una respuesta simple; realmente requiere mucha reflexión y mucho ajuste con el hardware real, y, por supuesto, cualquier resultado de rendimiento real está sujeto a una rápida obsolescencia debido a las cambiantes tecnologías.

Debe señalarse que las tablas del arco iris están completamente derrotadas por las sales (tal como las emplea cualquier función de hashing de contraseña ). Cuando las sales se aplican correctamente, los atacantes pueden usar la fuerza bruta sin precomputación, y sin forma de atacar varios hashes de contraseñas en paralelo; así que estás de vuelta con John el Destripador.

    
respondido por el Thomas Pornin 26.04.2013 - 13:28
fuente

Lea otras preguntas en las etiquetas