¿No se puede restringir de forma brusca el craqueo de contraseñas?

6

Los artículos en línea mencionan la importancia de una contraseña segura y sugieren que las herramientas de pirateo les permiten a los malos intentar millones de contraseñas por segundo. Me pregunto por qué los sistemas operativos y los sitios web y otros no son intentos de regulación. Es decir, si se producen 3 intentos incorrectos, ¿por qué no se rechazarán los intentos adicionales, por ejemplo al menos en los próximos 10 minutos? ¿No hay una forma de bajo nivel de cerrar de forma segura la compuerta de "millones de intentos por segundo"?

    
pregunta Mario 16.12.2013 - 21:33
fuente

4 respuestas

3

Los sistemas operativos y sitios web bien diseñados do aceleran los intentos de inicio de sesión, como ha descrito en su ejemplo.

Sin embargo, también es cierto que son posibles millones / billones de conjeturas por segundo, pero solo contra "hashes" simples sin conexión de contraseñas. Ars-Technica tiene un muy buen artículo de Dan Goodin que probablemente has leído. Si bien no está enfocado, está claro que estos son ataques "fuera de línea" contra una lista de hashes MD5. MD5, por supuesto, no está diseñado para proteger contraseñas.

De hecho, hay muchas maneras de reducir la velocidad a la que se pueden intentar las conjeturas:

  • En lugar de un hash de propósito general (MD5, SHA1) use una Función de Derivación de Clave adecuada como PBKDF2 con tantas iteraciones como sea posible para su entorno. Esto aumentaría significativamente el tiempo de cálculo por conjetura, tal vez hasta varias décimas de segundo por conjetura.

  • elimine cada contraseña, lo que protege a los usuarios que eligen contraseñas débiles (por ejemplo, palabras del diccionario)

En resumen, si la base de datos de contraseñas de un sistema de inicio de sesión bien diseñado se ve comprometida y los hashes con sal se obtienen, el riesgo de la fuerza bruta es mucho menor en comparación con una base de datos de contraseñas MD5 sin sal.

    
respondido por el scuzzy-delta 16.12.2013 - 21:50
fuente
6

Está hablando de ataques en línea , alguien está ingresando contraseñas a través del sitio web. Esto puede disminuir la velocidad con los métodos que describió, aunque no es tan fácil como parece.

Cuando lees acerca de descifrar contraseñas, normalmente hablas de ataques sin conexión , por eso calculas hashes después de todo. Piense en la situación en la que alguien podría leer todos sus hashes de contraseña (por ejemplo, inyección de SQL, o de una copia de seguridad desechada ...) Luego, el atacante puede utilizar la fuerza bruta tan rápido como su hardware puede, por ejemplo, puede. Usa la GPU para calcular hashes. Incluso entonces puede ralentizar el ataque, es por eso que en la actualidad utiliza funciones de derivación de clave lentas como BCrypt o PBKDF2. Estos algoritmos permiten definir un factor de costo, que define cuántas iteraciones se realizan, para que pueda controlar cuánto tiempo se usa para calcular un solo hash.

Un ejemplo: si puede calcular 8 Giga hashes MD5 por segundo, todas las combinaciones de contraseñas de hasta 6 dígitos pueden ser Calculado en 2 segundos. Si incluso necesita 1 milisegundo por hash, ya necesita 8 meses.

    
respondido por el martinstoeckli 16.12.2013 - 21:54
fuente
3

Sí, este control está disponible en muchos sistemas, simplemente no se ha mencionado en los artículos que está leyendo. Muchos sistemas hacen exactamente lo que estás sugiriendo. Los enfoques estándar incluyen:

  • bloqueo durante un tiempo, como 10 minutos. No es perfecto, ralentizará los intentos de craqueo.

  • monitoreo: si un sistema muestra ataques repetidos más allá de lo que podría hacer un humano normal que olvidó su contraseña, puede activar una alerta para comenzar a rastrear la fuente de la actividad. No es perfecto, ya que hay formas de ofuscar origen del ataque, pero al menos alguien sabe que el problema está ocurriendo.

  • bloqueo semipermanente: uso de preguntas de copia de seguridad, transmisión de una contraseña de restablecimiento por un medio fuera de banda (mensaje al teléfono, correo electrónico a la dirección de correo electrónico) o "contacte con el administrador".

La forma del control tiene mucho que ver con:

  • el tipo de producto: los sistemas operativos funcionan de manera diferente a los sistemas web.

  • el riesgo para el medio ambiente de una interrupción exitosa: el bloqueo total es (a veces) más seguro, pero también requiere más tiempo de administración que cualquier función de desbloqueo automático.

  • la naturaleza de la base de usuarios; por ejemplo, Google TENDRÁ que usar algo extremadamente sin importancia, la base de usuarios de la cuenta de Google es enorme. Un sistema operativo en una tienda de TI con 100 empleados donde todos están en el sitio puede hacer una forma mucho más íntima de bloqueo y recuperación.

respondido por el bethlakshmi 16.12.2013 - 21:44
fuente
1

La mayoría de los sitios web en línea ya tienen protección contra ataques de fuerza bruta. Muchos sitios web (como la banca en línea) tienen contramedidas, como limitar los intentos de contraseña o introducir relés de tiempo entre intentos sucesivos. CAPTCHA también se implementa en muchos sitios web, incluidos g-mail, yahoo, etc., para evitar ataques automáticos.

Los ataques sin conexión generalmente ocurren cuando un pirata informático roba hashes del sitio web y luego utiliza la búsqueda brutal para encontrar las contraseñas. El tipo de algoritmo hash utilizado también determina la vulnerabilidad de las contraseñas. La "salación" de los hashes proporciona cierta seguridad contra los ataques de fuerza bruta.

Para obtener más información: enlace

    
respondido por el cubicraze9180 25.04.2014 - 18:04
fuente

Lea otras preguntas en las etiquetas