¿Existen medidas de seguridad que sean resistentes a un ataque de fuerza bruta?

7

No estoy hablando en particular sobre el cifrado, sino sobre la seguridad en general. ¿Existen medidas de seguridad que puedan implementarse para proteger los datos y / o un sistema que pueda soportar incluso una cantidad hipotética de recursos que se enfrenten a ellos durante un período de tiempo hipotético?

Creo que la respuesta es no, pero pensé que volvería a verificar antes de decirle esto en voz alta a las personas porque no soy un experto en seguridad.

Debo señalar, no estoy preguntando esto porque necesito implementar algo. Es curiosidad ociosa. También debería mencionar que estoy bien tratando con hipotéticos aquí. Siéntase libre de incluir cosas como la computación cuántica en la ecuación si hay alguna relevancia.

    
pregunta gargantuan 17.03.2011 - 10:27
fuente

5 respuestas

19

Pad de una sola vez y Shamir's Secret Sharing son dos ejemplos de algoritmos criptográficos, en los que interviene algún valor secreto y que, sin embargo, son inmunes a la fuerza bruta, incluso contra atacantes con capacidades informáticas ilimitadas. Su característica clave es la "falta de redundancia de claves": no hay manera de filtrar las claves "malas". Esto se muestra en el hecho de que OTP requiere que la clave secreta sea tan larga como los datos cifrados, y para Compartir en secreto de Shamir, el tamaño total de los "recursos compartidos" es incluso mayor que los datos compartidos.

Hablando probabilísticamente, obtiene la misma propiedad de un cifrado AES, siempre que cifre un solo bloque, y use una clave más grande que eso (por ejemplo, AES-256 para cifrar un único elemento de datos de 128 bits). La idea es que para un texto cifrado dado, cualquier texto simple puede coincidir (dado C y P , hay unas cuantas teclas K tal que AES K (P) = C ). Por lo tanto, el atacante no puede elegir el texto plano "correcto", incluso si explora todo el espacio clave. Por supuesto, reutilizar la misma clave para cualquier otra cosa, incluso cifrar otro bloque de 128 bits con AES, le daría al atacante toda la redundancia que necesita para filtrar las claves, haciendo que la fuerza bruta sea nuevamente viable (para nuestro hipotético atacante con una computadora más grande que una galaxia, es decir.

Los algoritmos que resisten la fuerza bruta tienen una aplicabilidad limitada, precisamente debido a la necesidad de llaves muy largas. En la práctica, contra los atacantes con tecnología terrestre, los ataques de fuerza bruta se frustran usando claves "lo suficientemente largas". Si considera que un atacante puede reunir suficiente poder de cómputo para realizar 2n "operaciones elementales", entonces use teclas de al menos n bits ; Si le temen a las computadoras cuánticas, use 2n (para cualquier cosa simétrica, como el cifrado simétrico o el hashing, una computadora cuántica puede, en teoría, explorar un espacio clave de tamaño N con esfuerzo < em> sqrt (N) , pero no mejor, por lo tanto, es suficiente usar una clave dos veces más grande). Tradicionalmente, establecemos n = 80 pero el progreso constante en la disponibilidad de tecnología está empezando a obligarnos a aumentar ese valor un poco, si queremos mantener un margen de seguridad convincentemente grande. Dado que las potencias de dos son buenas , ahora es costumbre usar n = 128 , aunque el límite real para la Humanidad como un todo (en un escenario de ciencia ficción improbable en el que todos los seres humanos cooperan y trabajan para lograr ese objetivo) pueden estimarse entre 90 y 100.

Los algoritmos asimétricos (cifrado asimétrico, firmas ...) son mucho más débiles, ya que existen ataques conocidos que son mucho mejores que la "fuerza bruta", y una computadora cuántica hace que los ataques sean triviales, para la mayoría de ellos. Pero como esto ya no es una fuerza bruta, está fuera del alcance de su pregunta.

    
respondido por el Thomas Pornin 17.03.2011 - 13:03
fuente
7

Copiando mi respuesta de la pregunta en SO:
Sí, por supuesto que hay.

Los ataques de fuerza bruta pueden lograr dos cosas: "adivinar" algún tipo de secreto (por ejemplo, contraseña, clave de cifrado, etc.) y recursos abrumadores (es decir, inundación o denegación de servicio - DoS).

Cualquier contramedida dirigida a prevenir cualquier otra forma de ataque, sería irrelevante para la fuerza bruta.

Por ejemplo, tome las recomendaciones estándar para protegerse contra la inyección SQL: validación de entrada, procedimientos almacenados (o consultas parametrizadas), comandos / objetos de parámetros, y similares. ¿Qué tratarías de fuerza bruta aquí? Si el código fue escrito correctamente, no hay "secreto" para adivinar.

Ahora, si estás preguntando "¿Cómo prevenir los ataques de fuerza bruta?", bueno, la respuesta dependerá de lo que el atacante esté tratando de atacar. Suponiendo que estamos hablando de bruteforcing una pantalla de contraseña / inicio de sesión, hay varias opciones: política de contraseña segura (para hacerlo más difícil), bloqueo de cuenta (para limitar la tasa de intentos de fuerza bruta), regulación (nuevamente limita la tasa de intentos) y más .

    
respondido por el AviD 17.03.2011 - 10:48
fuente
5

Una respuesta, no muy complicada, es "sí, hay muchas"

Una advertencia: define resistente

Mi opinión sobre esto es que si puedes colocar defensas que hagan que un ataque de fuerza bruta tome el tiempo suficiente para ser detectado y mitigado, entonces has resistido con éxito ese ataque.

En el mundo de la seguridad clásica, esto requiere defensa en profundidad. Averigüe cuánto tiempo llevará un ataque en el peor de los casos en una capa en particular. Si su proceso de detección lo detecta dentro de ese período de tiempo, entonces puede hacer algo al respecto.

¿Puedes ralentizar un ataque? Cuando se trata de ataques de fuerza bruta en códigos de acceso en dispositivos móviles, si el dispositivo utiliza un algoritmo muy lento, entonces demora el ataque. Si esto es útil o no, depende de sus próximos pasos. Si tiene un proceso para deshabilitar el dispositivo móvil, un par de horas puede ser suficiente retraso.

Si por resistencia te refieres a "nunca se romperá", entonces mi respuesta tendría que ser No. :-)

    
respondido por el Rory Alsop 17.03.2011 - 17:50
fuente
3

Bueno, los ataques de fuerza bruta esencialmente se reducen a un cálculo probabilístico. Ciertas variables en el cálculo se pueden controlar para reducir la probabilidad de un ataque exitoso, por ejemplo. número máximo de intentos (bloqueo de cuenta), tamaño del espacio de búsqueda (complejidad de la contraseña), etc. Sin embargo, en última instancia, si se le otorga un control completo teórico (como menciona en su pregunta) sobre otras variables (tiempo), la probabilidad finalmente vuelve a 1. Así en el mundo real, sí, existen algunos métodos muy efectivos para reducir la viabilidad de un ataque de fuerza bruta, sin embargo, teóricamente, una probabilidad estadística remota insignificante seguirá siendo una explotación exitosa.

El objetivo anterior es específico para el forzamiento remoto de los sistemas de autenticación.

    
respondido por el TobyS 17.03.2011 - 11:17
fuente
0

¿Estamos hablando de bruta forzando una pantalla de inicio de sesión o un hash de contraseña?

Si estamos hablando de una pantalla de inicio de sesión, se puede configurar para deshabilitar su cuenta después de 10 intentos y eso es todo. Después de 10 intentos ni siquiera la contraseña correcta lo desbloqueará.

Si tienen el hash de contraseña, pueden lanzar tantos recursos como quieras contra él. Incluso $ 100 en AWS, el motor de cómputo de Amazon, comprará mucho más tiempo de computadora del que podrías tener en el sitio.

La gente dice que este tipo de cosas llevará más tiempo que la edad del universo para computar con las tecnologías existentes. Soy un firme creyente de que las tecnologías venideras harán que las generaciones futuras se rían de nuestra ignorancia. Las computadoras cuánticas están muy limitadas en este momento, la mayoría solo tiene algunos bits, y quizás 20-30 en el extremo superior. Cuando se perfeccione y podamos tener miles de bits, esto cambiará el juego. Habrá más cambiadores de juego después de eso.

    
respondido por el cybernard 01.12.2017 - 05:09
fuente

Lea otras preguntas en las etiquetas