Vemos este tipo de intentos con cierta frecuencia. Normalmente se ha producido una fuga de algún otro tercero, y un atacante tiene una gran lista de combinaciones conocidas de cuenta + contraseña que pueden probar contra otros sistemas. Luego llegan a nuestro sistema (en este caso, un formulario de inicio de sesión en el sitio web) probando todas las credenciales que tienen para una coincidencia.
Dado que las personas no son confiables en el uso de credenciales únicas, y que no todos en nuestra plataforma han optado por usar 2FA (y no queremos forzarlo), ¿hay pasos adicionales que podamos tomar para ayudar a proteger a los usuarios? ¿O los esfuerzos que podemos emprender para combatir el uso como un campo de pruebas para listas filtradas?
(¡También es muy molesto tener que escalar grandes cantidades de casos porque un atacante está lanzando un gran número de intentos simultáneos por segundo en nuestra infraestructura!)
Precauciones obvias que ya implementamos:
- Intentos de limitación de tasa por cuenta, combinados con un bloqueo temporal, pero eso no ayuda contra una lista de entradas individuales.
- Intentos de limitación de velocidad por dirección IP, pero eso no se detiene cuando la prueba se distribuye en un gran número de nodos. Por lo general, vemos enumeraciones que suceden desde 5k + de direcciones, y eso significa que se pueden probar al menos 25k cuentas antes de que comencemos a filtrar esas direcciones.
Estamos evaluando la idea de usar confirmaciones de correo electrónico como 2FA (para los usuarios que no están habilitados para usar un dispositivo 2FA con nosotros), cuando vemos un inicio de sesión desde un dispositivo que no conocemos, pero primero necesitamos para medir el impacto en el cliente.
¿Podemos (y deberíamos) realizar esfuerzos adicionales para proteger a los usuarios?