Entendiendo los algoritmos de fuerza bruta [duplicado]

15

He estado leyendo sobre técnicas de fuerza bruta y posibles métodos de prevención, pero hay un problema al que no he podido encontrar una respuesta clara.

De la forma en que lo entiendo, un "simple" ataque de fuerza bruta para una contraseña con 4 números comenzaría con 0000, luego 0001, 0002, etc. etc.

En teoría, entonces, ¿puedes asumir que si 0000 toma 1 segundo (solo para mantener las cosas simples), y 0001 toma 2 segundos; entonces 9999 tomaría 9999 segundos?

Según esto, parecería que, por ejemplo, si configuras tu código PIN en 9999, ¿tardarás 9 veces más en descifrarlo que 1111?

Por supuesto, este es un ejemplo demasiado simplificado, pero si estuviéramos hablando de contraseñas alfanuméricas con símbolos, ¿no sería la contraseña más segura teóricamente una combinación de los números más altos, las letras más altas y los valores ASCII más altos para los símbolos?

Espero que la pregunta sea comprensible y que alguien pueda arrojar algo de luz sobre este tema para mí.

    
pregunta akseli 15.06.2016 - 03:51
fuente

1 respuesta

33

Cualquier algoritmo práctico de fuerza bruta tendrá en cuenta el método con el que se generó una contraseña.

  • Si una contraseña fue generada aleatoriamente. Debes asumir que el algoritmo de fuerza bruta también es verdaderamente aleatorio. No sabe qué es, no puede reclamar que una contraseña es más rápida de encontrar que la otra, solo puede decir que, en promedio, las contraseñas se descubrirían al verificar la mitad del grupo disponible.

  • En el caso de que se sepa que una contraseña se genera mediante un generador de números aleatorios con una vulnerabilidad (algunos números más probablemente, otros imposibles), un atacante modificará el algoritmo de fuerza bruta en consecuencia.

  • Si se sabe que las contraseñas son seleccionadas por el hombre (un tipo de debilidad en el algoritmo de generación), un atacante usará métodos aplicables para dicha debilidad, que incluyen: palabras comunes, sustituciones, repeticiones, inclinaciones, inversión de orden, métodos conocidos, Consejos, trucos, acolchados, etc.

    Es un concurso de mente humana vs mente humana. La verificación secuencial es estadísticamente menos efectiva y sacar conclusiones acerca de la fuerza de una contraseña dada basándose en el supuesto de que un oponente usará el método menos efectivo es una falacia.

    Para atacar una vulnerabilidad de contraseña generada por el hombre, uno podría usar la sociología (algunos métodos de contraseñas parecen más fríos que el otro en la población respectiva). Otro atacante podría usar estadísticas (tomar millones de contraseñas filtradas, analizarlas, aplicarlas). Otra más podría considerar la mecánica (las claves y las combinaciones de teclas más fáciles de escribir en un determinado dispositivo se probarían primero).

En un ejemplo de un número de 4 dígitos, comenzaría a adivinar con 1999 , bajaría a 1900 antes de probar 2000 - 2016 . Definitivamente vería 9978 mucho antes de 6853 (realmente inconveniente de escribir en el teclado de una PC) y 5683 (bien conocido "amor") mucho antes de los dos. Alguien informado podría usar un método más efectivo (sí, este es un ejemplo ー el que se usa en la pregunta ー úselo para sacar una conclusión general, no para cuestionar el ejemplo).

    
respondido por el techraf 15.06.2016 - 05:20
fuente

Lea otras preguntas en las etiquetas