elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Pregunta]: Lógica para un sistema de seguridad contra ataques de fuerza bruta en el login
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Pregunta]: Lógica para un sistema de seguridad contra ataques de fuerza bruta en el login  (Leído 5,533 veces)
Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
[Pregunta]: Lógica para un sistema de seguridad contra ataques de fuerza bruta en el login
« en: 12 Febrero 2021, 23:45 pm »

Básicamente estoy pensando como podría hacer un sistema nuevo de seguridad que prevenga ataques de fuerza bruta en el login.

Es decir, que un usuario determinado intente constantemente con diferentes contraseñas (se espera que tenga un diccionario de contraseñas) hasta poder ingresar a la cuenta de la victima.
Me vinieron algunas ideas pero como todo está muy fresco seguro hay cosas que estoy dejando pasar.

El sistema funcionaría de la siguiente manera, cada vez que un usuario ingrese una contraseña incorrecta el sistema le incrementará a +1 una variable que podemos llamar "attempt" (no estoy seguro si en una $_SESSION o en un campo nuevo en la bd para la cuenta de usuario que aplique), al llegar a las 40 tentativas lo que ocurrirá sería bloquear el login para ese usuario. Absolutamente nadie podrá iniciar sesión en esa cuenta por lo menos durante un periodo de tiempo que aún no defino bien, quizás una 6 horas no estoy seguro.

Por supuesto puede ocurrir que la persona que desee ingresar sesión sea el propio usuario, no el atacante. Entonces se le podría enviar un mail justo en el momento de bloquear el login explicándole lo ocurrido, recomendándole el uso de una contraseña segura, por supuesto algo que se me ocurrió es poder darle la posibilidad a el dueño de la cuenta en las opciones de privacidad de querer que su cuenta quede bloqueada (el login) ante estos casos o que no quede.

En fín, en el correo que se le enviará se le dirá que además de la recomendación del uso de contraseñas seguras y esa opción nueva de privacidad, estaría un código que deberá ingresar en un determinado formulario para que se pueda desbloquear el login nuevamente sin que tenga que esperar las 6h.

Es una idea muy fresca así que espero puedan darme más ideas, o mejoras a todo esto.


« Última modificación: 12 Febrero 2021, 23:49 pm por MiguelCanellas » En línea

Tachikomaia


Desconectado Desconectado

Mensajes: 1.201


Superhacker (es broma xD )


Ver Perfil
Re: [Pregunta]: Lógica para un sistema de seguridad contra ataques de fuerza bruta en el login
« Respuesta #1 en: 13 Febrero 2021, 00:04 am »

Yo he usado páginas en que si erras el password 3 veces no lo puedes volver a poner durante unos minútos o algo así. No leí todo pero no he visto que dijeses algo nuevo y bueno, al contrario, 40 intentos me parece un disparate.


En línea

Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
Re: [Pregunta]: Lógica para un sistema de seguridad contra ataques de fuerza bruta en el login
« Respuesta #2 en: 13 Febrero 2021, 00:15 am »

Yo he usado páginas en que si erras el password 3 veces no lo puedes volver a poner durante unos minútos o algo así. No leí todo pero no he visto que dijeses algo nuevo y bueno, al contrario, 40 intentos me parece un disparate.

Tiene que ver con que si haces 3 intentos y ya te bloquea el login y después tenes que hacer todo ese trámite con el correo es algo tedioso, imaginate también una persona X que está intentando ingresar a unas 10 cuentas o más y que sólo por molestar se equivoca en cada una 3 veces, le terminó bloqueando el login a 10 cuentas. (no hay muchas personas con tanto tiempo libre pero puede pasar). Igualmente según lo que dijiste te bloquea unos minutos, no unas 6 horas como dije que podría hacer, por eso tanto el tiempo, cantidad de intentos y algunas otras variables puedo cambiar.
« Última modificación: 13 Febrero 2021, 00:16 am por MiguelCanellas » En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: [Pregunta]: Lógica para un sistema de seguridad contra ataques de fuerza bruta en el login
« Respuesta #3 en: 13 Febrero 2021, 00:19 am »

En época de Messenger, la gente podía bloquear la cuenta de otros mediante un intento masivo de contraseñas incorrectas lo cual hacia que Hotmail (y por ende Messenger) bloquease la cuenta durante X tiempo y no había forma de quitarlo ni siquiera para el usuario real salvo contactar con soporte de Microsoft xD

Está bien implementar un anti-bruteforce, siempre que el usuario real tenga la posibilidad de saltárselo en caso de que se haya activado. 40 intentos me parece un poco excesivo. Normalmente se trabaja sobre 10 como mucho. Al fin y al cabo son X contraseñas que pueden probar cada Y horas, si pones 40 cada 6, quiere decir que van a poder probar 160 contraseñas cada 24 horas. Eso hay que intentar reducirlo al máximo.

Desde luego, no lo implementes ni por sesión ni por cookies. Impleméntalo a nivel de base de datos. De nada te sirve que el atacante borre las cookies (en el que también se borra la sesión) y se salte el límite.


De todos modos, lo que se hace hoy en día es autentificación en 2 pasos. Ahí aunque la contraseña se vea comprometida, solo el usuario con código 2FA puede acceder.

https://es.wikipedia.org/wiki/Autenticaci%C3%B3n_de_m%C3%BAltiples_factores

Saludos
En línea

Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
Re: [Pregunta]: Lógica para un sistema de seguridad contra ataques de fuerza bruta en el login
« Respuesta #4 en: 13 Febrero 2021, 03:14 am »

Hola!

Estuve leyendo lo que mandaste, está interesante pero creo que me va a venir mejor en mi sistema, el bloquear el login.

Estas entonces son las características (en base a sus sugerencias):
------------------------------------------------
- El usuario tiene que poder saltarlo en caso de activación.
- 10 intentos fallidos y se bloqueará el login.
- La variable "attempt" pasará a ser un nuevo dato en la base de datos correspondiente para cada usuario.
- Cada vez que el usuario inicie sesión ese contador "attempt" se le reinicializará en 0.
- En opciones de privacidad podrá modificar este "bloqueo de login" (sería recomendable dejarlo desactivado para aquellos que tengan una contraseña muy segura) pero por defecto estará activado el bloqueo de login.
------------------------------------------------

Creo que quedó interesante si bien son pilares básicos, a el sistema seguramente le tenga que poner alguna que otra cosita con la que me vaya a encontrar mientras programo pero me gustó.

Gracias por los aportes.

messenger la tenes adentro  :xD
« Última modificación: 13 Febrero 2021, 03:45 am por MiguelCanellas » En línea

[u]nsigned


Desconectado Desconectado

Mensajes: 2.397

JS/Node developer


Ver Perfil WWW
Re: [Pregunta]: Lógica para un sistema de seguridad contra ataques de fuerza bruta en el login
« Respuesta #5 en: 13 Marzo 2021, 10:20 am »

Usa Captcha y no trates de reinventar la rueda...  :¬¬
En línea

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!
Danielㅤ


Desconectado Desconectado

Mensajes: 1.675


🔵🔵🔵🔵🔵🔵🔵


Ver Perfil
Re: [Pregunta]: Lógica para un sistema de seguridad contra ataques de fuerza bruta en el login
« Respuesta #6 en: 13 Marzo 2021, 14:27 pm »

Hola, 10 intentos máximos me parece bien, pero si bloqueas una cuenta por intentos reiterativos, también tenés que bloquear a la persona que estuvo intentando entrar, bloquear su IP e insertarle una cookie temporal para que no pueda seguir intentando entrar en otras cuentas.

Citar
por supuesto algo que se me ocurrió es poder darle la posibilidad a el dueño de la cuenta en las opciones de privacidad de querer que su cuenta quede bloqueada (el login) ante estos casos o que no quede.

Eso no deberías dejarle al usuario que elija porque eso sería un sistema de seguridad general de ti sitio para todos los usuarios y no una opción/configuración, y si decides hacerlo, entonces cuando el usuario cree su cuenta va a tener ese sistema de seguridad activado por defecto.

Lo de usar una cookie de sesión como contador no es buena idea porque el usuario puede borrar esa cookie y tu contador se reestableceria en 0, cierra la sesión antes de completar los 10 intentos y vuelve de nuevo a seguir probando, tenés que manejarte por base de datos como dijo el compañero dry.

Otra idea que podes implementar, es si un usuario utiliza un ataque de brute-force, detectarlo y en el x intento tu sistema hacerle creer que pudo ingresar a la cuenta -aunque realmente no sea así-, eso haría que el ataque automático del atacante, se pare, entonces tú sistema estaría engañando al suyo.


Saludos
« Última modificación: 13 Marzo 2021, 14:33 pm por [D]aniel » En línea

Drakaris

Desconectado Desconectado

Mensajes: 286


Todo lo que puedas imaginar, lo puedes crear.


Ver Perfil
Re: [Pregunta]: Lógica para un sistema de seguridad contra ataques de fuerza bruta en el login
« Respuesta #7 en: 13 Marzo 2021, 15:44 pm »

Buenas! Como dice nsigned, esta muy bien el contador de intentos de login fallidos, pero también, a parte de eso, pondría un Captcha, que lo que haría, es que un robot, no pueda enviar el formulario, porque necesita rellenar un campo cuyo texto que tiene que copiar es un Imagén. Puedes crear el tuyo propio o mediante la API de Google

https://developers.google.com/recaptcha/docs/display
En línea

Lo increible, no es lo que ves, sino como es
Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
Re: [Pregunta]: Lógica para un sistema de seguridad contra ataques de fuerza bruta en el login
« Respuesta #8 en: 14 Marzo 2021, 04:54 am »

Buenas! Como dice nsigned, esta muy bien el contador de intentos de login fallidos, pero también, a parte de eso, pondría un Captcha, que lo que haría, es que un robot, no pueda enviar el formulario, porque necesita rellenar un campo cuyo texto que tiene que copiar es un Imagén. Puedes crear el tuyo propio o mediante la API de Google

https://developers.google.com/recaptcha/docs/display

Hola!
Sí, ya lo uso también en todos los formularios de la aplicación. Pero igual quería meterle este sistema que me pareció interesante para poder programarlo desde cero.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
cual es el mejor sistema para calculo por B.F. (fuerza bruta)??
Hacking
roberth780 1 3,100 Último mensaje 15 Marzo 2012, 16:57 pm
por el-brujo
Que puertos y protocolos usar en hydra para ataques de fuerza bruta
Hacking
Mister12 6 10,332 Último mensaje 15 Noviembre 2013, 04:53 am
por Mister12
Conseguir login por fuerza bruta con Medusa.
Hacking
CloudswX 4 22,354 Último mensaje 3 Febrero 2014, 17:37 pm
por CloudswX
Diccionarios para realizar ataques de fuerza bruta
Hacking
joanch 2 32,855 Último mensaje 10 Mayo 2015, 07:53 am
por scott_
Programas para hacer ataques de fuerza bruta
Hacking
nerviosus 1 3,709 Último mensaje 8 Agosto 2018, 22:05 pm
por CybeRoot
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines