¿Es posible hacer ineficaces los ataques de fuerza bruta al dar respuestas falsas positivas a los intentos fallidos de inicio de sesión?

90

No tengo ninguna experiencia o conocimiento científico en seguridad, solo quería preguntar si esto es posible porque me interesa.

¿Qué sucede si cifro los datos y cada contraseña los descifra, pero solo la correcta no crea un desorden de datos sin sentido? Lo mismo se podría hacer con un inicio de sesión: los datos de inicio de sesión falsos conducen a cuentas falsas y ficticias y solo los datos de inicio de sesión correctos lo llevan a las cuentas correctas.

¿No sería este un método de encriptación mucho mejor, ya que no podrías probar contraseñas sino que deberías ver el resultado para ver si era el correcto?

    
pregunta Tweakimp 12.07.2016 - 23:25
fuente

9 respuestas

112

La respuesta siempre depende de tu modelo de amenaza. La seguridad siempre se entreteje en un equilibrio entre seguridad y facilidad de uso. Su enfoque incomoda a los piratas informáticos que intentan ingresar en la cuenta, pero también incomoda a un usuario que simplemente escribe mal su contraseña. Si la cuenta falsa es lo suficientemente creíble para engañar a un atacante, también puede ser lo suficientemente creíble como para engañar a un usuario válido. Eso podría ser muy malo.

Esto puede ser deseable en entornos de alto riesgo. Si tuviera que almacenar secretos nucleares a la intemperie en Internet, hacer que todas las contraseñas fallidas lo conduzcan a una cuenta que tenga acceso a documentos falsos que en realidad no revelan que los secretos nacionales podrían ser bastante poderosos. Sin embargo, para la mayoría de los casos no es necesario.

También tienes que considerar las alternativas. Un enfoque muy popular es bloquear la cuenta después de N intentos, que básicamente detiene todos los intentos de fuerza bruta y tiene comportamientos de usabilidad que la mayoría de los usuarios están dispuestos a aceptar.

    
respondido por el Cort Ammon 12.07.2016 - 23:32
fuente
47

Engañar a un atacante con falsos positivos no es una mala idea, y no es nuevo. Lo siguiente puede interesarte.

Camuflaje criptográfico

CA technologies ha patentado una tecnología conocida como Camuflaje criptográfico .

  

Un punto sensible en la criptografía de clave pública es cómo proteger la clave privada. Esbozamos un método para proteger las claves privadas usando camuflaje criptográfico. Específicamente, no ciframos la clave privada con una contraseña que sea demasiado larga para un ataque exhaustivo. En cambio, lo ciframos para que solo una contraseña lo descifre correctamente, pero muchas contraseñas lo descifran para producir una clave que parezca lo suficientemente válida como para engañar a un atacante. Para ciertas aplicaciones, este método protege una clave privada contra ataques de diccionario, como lo hace una tarjeta inteligente, pero completamente en software.

Esto no es exactamente de lo que estás hablando (protegen una clave, no acceso) pero el concepto es el mismo. Para frustrar un ataque de fuerza bruta, es difícil o imposible determinar si realmente has descifrado el código.

Ratonera

En 1984, Michael Crichton (autor de Andromeda Strain y muchos otros) escribió una pequeña historia centrada en un hacker que creía que estaba robando archivos secretos. Había adivinado la contraseña correcta, pero, sin que él lo supiera, la computadora lo estaba autentificando no mirando su contraseña, sino la velocidad y la forma en que usaba el teclado y el mouse, una especie de mecanismo de autenticación biométrica. Falló la autenticación. Pero la computadora no le dijo que había fallado, sino que le presentó una copia falsa de los documentos secretos, que luego descargó e intentó vender en el mercado negro.

Nuevamente, esto no es exactamente lo mismo que estás preguntando, pero demuestra (en la ficción, de todos modos) el uso de falsos positivos para frustrar un ataque.

    
respondido por el John Wu 13.07.2016 - 01:06
fuente
16

Para darle una respuesta directa, , es posible reducir la efectividad de los ataques de fuerza bruta y puede hacerse de la manera que sugirió, pero no debería. Puede obtener resultados muy similares con solo implementar retrasos de tiempo entre cada intento fallido y la siguiente estimación. Además, (solo para su conocimiento) tecnologías muy sofisticadas y similares ya se han diseñado e implementado para esto. Los productos como Canary , Honey Pots y Honey Docs ofrecen elementos similares como entornos falsos, dispositivos, servidores, cuentas, etc.

    
respondido por el Tyler Gallenbeck 13.07.2016 - 01:00
fuente
9

El efecto es minúsculo

Supongamos que su sistema transforma la fuerza bruta práctica de descifrar los primeros cuatro bytes (de manera realista, el primer bloque mucho más grande, pero lo que sea) a tener que descifrar la totalidad, por ejemplo. Cuatro gigabytes de datos cifrados, lo que hace que los intentos de fuerza bruta sean aproximadamente mil millones de veces o 2 ^ 30 veces más lentos.

Ahora, eso puede parecer una gran diferencia para usted, pero en realidad ese efecto es tiny en comparación con otras alternativas. Una escala de simplemente "mil millones de veces más lenta" simplemente no es tanto en el mundo de la criptografía. ¿Por qué molestarse con la complejidad agregada que puede no lograr la desaceleración prevista o introducir nuevos errores, si simplemente agregar 30 bits adicionales a la longitud de la clave de cifrado hace lo mismo, y aumenta el tamaño de la clave, por ejemplo? 128 bits (si eso no es ya suficiente) a 256 bits proporciona un incomparablemente efecto mucho mayor que eso?

    
respondido por el Peteris 13.07.2016 - 21:43
fuente
7

La mayoría ya se ha dicho, solo quiero ofrecer otra perspectiva.

Imagina que intentarías asegurar una casa con esta técnica. Usted dejaría que el intruso le diera acceso a una sala de bodega si intentara abrir la puerta por algún tiempo.

La pregunta es, ¿desearías un intruso incluso allí? El intruso seguramente se dará cuenta de que no obtuvo lo que quería después de un tiempo y tratará de ir más lejos. Y tendría que mantener la seguridad adicional para la bodega que preparó.

De alguna manera, solo aumentas la cantidad de trabajo para engañar (sin experiencia) a los atacantes durante algún tiempo.

    
respondido por el gpinkas 13.07.2016 - 13:23
fuente
7

Parece que estás hablando de una forma de "cifrado denegable" o "negabilidad plausible" en el contexto de criptografía; es decir, un secreto alternativo que descifra a un texto plano plausible pero no auténtico. Consulte enlace para obtener más información.

Pero estrictamente hablando, si alguien tiene la capacidad de aplicar fuerza bruta a su texto cifrado, potencialmente descubrirá todos los plaintexts plausibles, y luego, basándose en cualquier conocimiento que ya tengan sobre el contexto, podrán decidir cuál de los plaintexts es El auténtico original. La primera parte puede hacerse mediante pseudo-IA, pero la segunda parte todavía necesita un humano.

    
respondido por el bernz 13.07.2016 - 22:17
fuente
2

El problema con las claves es que existen como datos y no como código de ejecución. Incluso con el ejemplo de CA y Crichton, lo que sucede es un procedimiento fuera de banda que le proporciona respuestas razonables para cada intento de descifrado. Matemáticamente esto es imposible en el nivel de un texto cifrado y los intentos de fuerza bruta.

    
respondido por el m.kin 13.07.2016 - 02:21
fuente
1

Para el acceso remoto, como han dicho otros, los bloqueos simples y los retrasos pueden funcionar.

Para las contraseñas, lo que tienes es un hash unidireccional. Para validar la contraseña, vuelva a codificarla y compare los dos hashes. Tener más de una contraseña simple produce una coincidencia válida contra un solo hash se considera indeseable: significa que el hash es débil y tiene "colisiones".

Es probable que esté interesado en unidades cifradas.

Lo que usted describe - unidades falsas, "externas" llenas de datos falsos que protegen la unidad "interna" encriptada - es posible, y se ha hecho en truecrypt (que lamentablemente ha muerto).

El siguiente es mi propio entendimiento ingenuo, y algunos o todos pueden estar equivocados. Nunca utilicé esta función, pero la consideré interesante.

Truecrypt le permitió especificar una segunda contraseña, que desbloquearía una "capa" de la unidad cifrada (podría haber estado limitada a un contenedor externo, lo olvido). Esto tenía problemas claros; las unidades externas no eran conscientes de las internas, que se almacenaban en el "espacio vacío" de las unidades externas cifradas. Así que los cambios en los exteriores podrían destruir los impulsos internos. Además, las marcas de datos en las unidades internas no se actualizaron automáticamente cuando accedió a la unidad cifrada. Entonces, alguien con acceso a su máquina podría saber cuándo modificó por última vez el archivo de la unidad cifrada, y podría comparar esas marcas de datos con los últimos tiempos modificados en la unidad cifrada, e inmediatamente le dirá que lo ha estado usando más recientemente. debe haber un impulso interno.

Pero la idea era que el disco externo tiene una contraseña fácil de adivinar, como password123, que incluye algunas cosas vagamente secretas, y eso haría que tus oponentes piensen que habían ingresado en tu disco cifrado.

Cualquier cosa menos: cualquier cosa que acaba de devolver basura (ruido aleatorio equivalente a una unidad sin formatear) habría sido trivial para desplazarse al verificar una "cadena mágica" en la unidad desencriptada que se requeriría en cualquier unidad real pero poco probable en una unidad de basura.

Lo mismo con los documentos encriptados: la mayoría de los tipos de archivos tienen cadenas mágicas, por lo que si sabes qué tipo de archivo contiene, cualquier aleatorización que se haga puede verse obligada a buscar todas las formas que producen la cadena mágica.

Eso no significa que sea una mala idea, sin embargo, si la cadena mágica es, digamos, "jfif", entonces solo una de cada 16 millones de contraseñas dará como resultado esa cadena mágica. Pero si la longitud de la clave es, digamos, 2 ^ 1024, entonces solo la han reducido a 2 ^ 1000, lo que, sin duda, es 16 millones de veces más rápido de descifrar, pero todavía tomará literalmente para siempre para romper.

Los errores tipográficos ocasionales de contraseñas no harían que alguien pensara que habían descifrado el archivo, pero simplemente buscar la cadena mágica no sería suficiente.

    
respondido por el Dewi Morgan 13.07.2016 - 21:20
fuente
1

En realidad, algo como esto se hizo en algunas versiones del software de compresión RAR (en los primeros días, no estoy seguro de si todavía es así). Un archivo cifrado sería descifrado por cualquier contraseña ingresada, pero una contraseña incorrecta daría como resultado un error. Se hizo para evitar el forzamiento brusco de contraseñas que en ese momento era factible para los archivos ZIP que inmediatamente devolvieron un error de "contraseña incorrecta".

    
respondido por el Tom 15.07.2016 - 08:05
fuente

Lea otras preguntas en las etiquetas