¿Cómo evitan los ataques de fuerza bruta el problema de los límites máximos de intentos de contraseña?

Los ataques de fuerza bruta son más útiles en el escenario de “ataque fuera de línea”.

A menudo, las bases de datos de contraseñas grandes se filtran en Internet:
¿Tu contraseña de Adobe se filtró? Ahora usted y otros 150 millones pueden verificar
Sony hackeado nuevamente, 1 millón de contraseñas expuestas

Las contraseñas generalmente están encriptadas de manera irreversible en estas bases de datos, pero un “ataque de fuerza bruta” contra el texto cifrado puede revelar la contraseña.

Y las herramientas están mejorando.
El clúster de 25 GPU descifra cada contraseña estándar de Windows en <6 horas

Si puede tener en sus manos una base de datos con contraseñas cifradas, es posible que pueda resolver las contraseñas. Si la base de datos tiene sugerencias de contraseña como parte de la base de datos, puede ser aún más fácil:

xkcd: cifrado

Peor aún, la mayoría de las personas usan su dirección de correo electrónico principal como nombre de usuario. Si puede descifrar una contraseña en un servicio, puede apostar que muchos usuarios usarán la misma contraseña en múltiples servicios, y tal vez incluso su correo electrónico. Por lo tanto, obtener una contraseña puede abrir una gran cantidad de piratería.

Incluso en el caso “en línea”, las IU humanas pueden bloquear los intentos de contraseña de fuerza bruta, pero las API pueden ser más indulgentes con muchas fallas de contraseña sucesivas. Este fue el núcleo del problema cuando la cuenta de iCloud de Jennifer Lawrence fue pirateada: Informe: Apple sabía de problemas de seguridad mucho antes de la violación de iCloud

Apple ha solucionado el error desde entonces.

Lección: Use una contraseña diferente para cada sitio. Al menos asegúrese de que su cuenta de correo electrónico tenga una contraseña única.

Voy a intentar mantenerlo simple. La fuerza bruta no es un ataque muy específico, sino más bien una estrategia de ataque mediante la cual prueba todas las contraseñas posibles hasta que tropieza con la contraseña que funciona.

Los intentos de contraseña máxima ponen fin por completo a un ataque de fuerza bruta en línea dirigido donde el atacante apunta específicamente a una persona. Para este escenario muy específico, incluso una contraseña simple de 3 caracteres es efectiva.

El problema es mucho más grande que esto. Sabiendo que solo tiene unos pocos intentos para ingresar, debe definir quién es su objetivo y basar el ataque desde allí. Si su objetivo es una cuenta específica, puede intentar iniciar sesión como esa cuenta específica en todo el mundo en numerosos sitios diferentes. Una vez que adivina la contraseña correcta, prueba esa contraseña en el sitio de destino, porque las personas tienden a usar las mismas contraseñas.

Si el objetivo es el sitio, no un usuario específico, entonces realmente no le importa la solicitud de contraseña, en su lugar, está tratando de explotar alguna vulnerabilidad que le permite inyectar su código de explotación en su sistema. Por lo general, el juego final aquí es obtener acceso a información privada como archivos de contraseña o tarjetas de crédito. Una vez que tiene esta información, utiliza un ataque de fuerza bruta contra la lista real para intentar descubrir las diversas contraseñas. Esto realmente solo funciona cuando se utilizan sistemas de cifrado y hash estándar. Para protegerse de esto, uno podría escribir su propio sistema de cifrado, lo que hace que las magnitudes sean más difíciles de descifrar, pero esto no viene al caso y está lleno de más riesgos.

Ahora suponga que desea apuntar a una persona específica, puede hacerlo primero apuntando al sitio para obtener las credenciales, luego, una vez que extraiga las credenciales, use esa información para iniciar sesión como usuario.

Ten en cuenta que cualquier atacante que valga la pena hará todo esto desde zombies. Las computadoras que han sido infectadas con un virus que permite a un usuario remoto usar el sistema infectado como un nodo en un grupo de sistemas para ocultar su identidad y engañar a los sistemas de detección de intrusos, evitando que detecten actividades sospechosas.

Todas las otras respuestas son bastante correctas para cada uno de sus escenarios enfocados. Solo quería intentar señalar que hay muchas formas de considerar su pregunta y mostrar que hay muchas maneras de eludir el problema. Esta no es una respuesta completa ni una respuesta exhaustiva por una razón. Tenemos demasiados hackers maliciosos, y no estoy aquí para hacer más. Solo trato de dar suficiente información para que te des cuenta de que hay más de una forma de desollar a ese gato y que uno de ellos ni siquiera involucra al gato directamente.

Bueno, para algunos sistemas, hay varias formas de autenticación que no usan el sistema de inicio de sesión que tiene un contador MaxPassword. En los viejos tiempos, se podía forzar la fuerza bruta de los sistemas Windows NT al intentar conectarse a un servicio que no verificó / mantuvo un registro.

En muchos dispositivos Wifi, el sistema WPS no tiene un contador MaxPassword, por lo que puede adivinar tantas veces como desee. Dado que WPS usa dos códigos separados de 4 dígitos, el tiempo para realizar un ciclo de todas las conjeturas se puede hacer rápidamente en la automatización (un sistema prototipo lo hizo en un par de horas).

El otro truco es no intentar iniciar sesión hasta que sepas cuál es la contraseña. Si obtiene una copia del archivo de contraseña del sistema en cuestión, puede hacer un ataque de diccionario contra las contraseñas. Como dice Kim Guldberg, varias de ellas serán contraseñas débiles.

Supuse que la razón por la cual la policía tiene que entregar físicamente iPhones a Apple para la recuperación de datos y luego lleva semanas recuperar el teléfono, es que Apple tiene una compilación de iOS personalizada que no tiene el bloqueo de MaxPassword. Debido a que Apple tiene una clave de firma para el sistema operativo, puede reemplazar la versión pública con esta versión privada. Entonces puede adivinar el combo de 4 dígitos sin bloqueo. Dadas las recientes declaraciones de Apple, creo que podrían haber eliminado esta característica / capacidad en iOS 8.

La respuesta de Kim Guldberg es acertada, pero déjame darte otro enfoque. El forzamiento bruto no siempre significa que alguien intente iniciar sesión con diferentes contraseñas. Una situación muy común es que alguien puede tener en sus manos una cookie o robar paquetes que contienen una contraseña cifrada, etc. Analizándola cuidadosamente, puede encontrar patrones en ella, en qué punto comienza la contraseña, qué datos son inútiles, etc. Luego, fuerza las contraseñas hasta que construyas una cookie o hash idéntico o lo que sea. En ese momento ya sabes cuáles son los datos originales, por lo tanto, conoce la contraseña de los usuarios.

Tal vez estés hablando de dos cosas diferentes.

A nadie le importa, en este momento, el “pirateo de la fuerza bruta” en el sentido de “escribir una contraseña una y otra vez” que podría ver en la televisión. No solo se trata de una sola cuenta, que casi siempre carece de valor, sino que, como usted hace en la pregunta, en general solo puede adivinar algunas veces, de todos modos.

Lo que a la gente le importa hoy es “el archivo de contraseña ha sido robado”. En ese caso, los atacantes tienen todas las contraseñas cifradas (bien, hash ) y pueden atacarlos a todos a su antojo.

Los buenos sistemas (como LastPass, que no uso) separan las partes de los datos tanto como sea posible, especialmente la “sal” para el hash, para hacer que ese tipo de ataque de fuerza bruta sea aún más difícil. Los sistemas defectuosos (como Sony, que también nunca usé) ponen toda la información que un atacante podría necesitar en una base de datos conveniente. Pero de cualquier manera, es solo cuestión de tiempo y paciencia.

Oh, lo olvidé. Incluso los sistemas peores limitan lo que los usuarios pueden usar para sus contraseñas. Requisitos de contraseña Shaming es mi nuevo blog favorito, en ese punto …

Bueno, para algunos sistemas, hay varias formas de autenticación que no usan el sistema de inicio de sesión que tiene un contador MaxPassword. En los viejos tiempos, se podía forzar la fuerza bruta de los sistemas Windows NT al intentar conectarse a un servicio que no verificó / mantuvo un registro.

En muchos dispositivos Wifi, el sistema WPS no tiene un contador MaxPassword, por lo que puede adivinar tantas veces como desee. Dado que WPS usa dos códigos separados de 4 dígitos, el tiempo para realizar un ciclo de todas las conjeturas se puede hacer rápidamente en la automatización (un sistema prototipo lo hizo en un par de horas).

El otro truco es no intentar iniciar sesión hasta que sepas cuál es la contraseña. Si obtiene una copia del archivo de contraseña del sistema en cuestión, puede hacer un ataque de diccionario contra las contraseñas. Como dice Kim Guldberg, varias de ellas serán contraseñas débiles.

Supuse que la razón por la cual la policía tiene que entregar físicamente iPhones a Apple para la recuperación de datos y luego lleva semanas recuperar el teléfono, es que Apple tiene una compilación de iOS personalizada que no tiene el bloqueo de MaxPassword. Debido a que Apple tiene una clave de firma para el sistema operativo, puede reemplazar la versión pública con esta versión privada. Entonces puede adivinar el combo de 4 dígitos sin bloqueo. Dadas las recientes declaraciones de Apple, creo que podrían haber eliminado esta característica / capacidad en iOS 8.

Pueden tener éxito cuando no se siguen las mejores prácticas y se implementan reglas deficientes.

Configurar un número máximo de intentos de inicio de sesión limita fuertemente este tipo de ataque porque, si se excede el límite máximo, la cuenta se bloquea.

Pueden solucionar este problema mediante el uso de técnicas de ingeniería social, o mediante exploits de navegador (tratando de convencerlo de que haga clic en un enlace infectado), phishing, ataques de hombre en el medio, scripting cruzado, inyección SQL, etc.