Introducción

En mayo de 2024, una ladrona profesional despojó a una mujer de 84 años de 30.000 dólares de sus cuentas bancarias. El banco no detectó los movimientos fraudulentos hasta que la víctima recibió una llamada sobre una transacción sospechosa en su fondo de jubilación —no en su cuenta principal—. Para cuando notó el robo, los atacantes ya habían transferido fondos y configurado filtros en su Gmail para ocultar las alertas del banco y de la administradora de su retiro. El detalle clave: ni Google ni sus instituciones financieras exigían autenticación multifactor (MFA).

Este caso no es aislado. Según datos del Consumer Financial Protection Bureau (CFPB) de EE.UU., en 2023 se reportaron más de 300.000 incidentes de fraude financiero en cuentas corrientes, con un 78% de las víctimas sin recuperación total de los fondos sustraídos. La razón principal: el 62% de los bancos estadounidenses aún deja el MFA como opción voluntaria, según un relevamiento de Nomadic Soft en 2024. Los atacantes explotan esta debilidad con técnicas que van desde credenciales reutilizadas hasta ingeniería social para interceptar códigos de un solo uso (OTP). En este artículo, desglosamos cómo ocurre, qué tecnologías están en riesgo y qué pasos concretos pueden tomar los equipos de DevOps, Seguridad y SRE para mitigar el problema sin afectar la usabilidad.

Qué ocurrió

Los atacantes siguieron un patrón documentado en múltiples incidentes de account takeover (ATO) contra instituciones financieras:

  1. Recolección de credenciales: Usaron datos expuestos en brechas previas (como las de 2023 en First American o Flagstar Bank) para probar credenciales en sistemas bancarios y de correo. El 76% de los usuarios reutiliza contraseñas, según un estudio de Google en 2023. En el caso de la víctima, al menos una de sus cuentas había sido parte de la brecha de Expedia en 2020, donde se filtraron 8 millones de registros con emails y contraseñas.
  1. Ingeniería social para OTP: Los atacantes contactaron al proveedor de su teléfono (carrier) y, con datos personales obtenidos de la brecha, convencieron al operador de emitir una SIM swap: un duplicado de la tarjeta SIM asociada al número de la víctima. Así interceptaron los SMS con OTP enviados por el banco. Según el NCSC del Reino Unido, el 84% de los fraudes con OTP en 2023 involucraron SIM swapping.
  1. Saturación de alertas: Configuraron filtros en Gmail para mover automáticamente los emails del banco y la administradora de retiro a la papelera. Esto bloqueó las notificaciones de transacciones y los intentos de recuperación. Google confirmó en su Transparency Report de 2024 que el 33% de los usuarios no revisa sus bandejas de spam, exponiendo aún más las cuentas sin MFA.
  1. Transacciones automatizadas: Los atacantes conocían el límite diario de retiros de la víctima (1.500 dólares) y usaron transferencias interbancarias a cuentas mule en el extranjero. El banco no validó el MFA porque la víctima no lo tenía activado, y su política solo requería contraseña para transacciones web.

Impacto para DevOps / Infraestructura / Cloud / Seguridad

El modelo de autenticación actual en bancos tiene tres frentes críticos:

Para equipos de Seguridad

  • Riesgo de fraude con costo directo: Según el CFPB, las instituciones financieras en EE.UU. perdieron 1.200 millones de dólares en reembolsos por fraude en 2023. Los bancos que no exigen MFA dejan sus sistemas expuestos a ataques de credential stuffing, donde bots prueban credenciales robadas en múltiples APIs bancarias. En 2024, el CVE-2024-3412 (una vulnerabilidad en librerías de autenticación de bancos europeos) permitió a atacantes evadir controles de MFA basados en OTP en un 18% de los casos testeados.
  • Cumplimiento regulatorio en riesgo: Normativas como PSD2 en Europa exigen MFA para transacciones de alto riesgo. Bancos que no implementan controles equivalentes pueden enfrentar multas de hasta el 4% de sus ingresos anuales, según el EBA (European Banking Authority). En Latinoamérica, la Ley de Protección de Datos Personales en México y Argentina obliga a implementar medidas técnicas adecuadas, lo que incluye MFA para datos sensibles.

Para equipos de DevOps y Cloud

  • APIs expuestas a ataques automatizados: Muchos bancos implementan MFA solo en sus apps móviles, dejando las APIs web sin protección adicional. Esto permite a atacantes usar herramientas como Burp Suite o OWASP ZAP para explotar endpoints no protegidos. En 2023, el CVE-2023-45678 afectó a APIs de bancos en Latinoamérica, permitiendo a atacantes saltarse autenticaciones con OTP mediante inyección de headers maliciosos.
  • Sostenibilidad de servicios en la nube: Los bancos que usan EKS (Amazon Elastic Kubernetes Service) para sus plataformas de autenticación deben garantizar que los pods que manejan OTP estén aislados y con network policies estrictas (ej: solo permitir tráfico desde balanceadores de carga). En 2024, un error de configuración en un clúster EKS de un banco brasileño permitió a atacantes extraer OTPs en texto plano, según un reporte de Kubernetes SIG Security.

Para equipos de SRE

  • Disponibilidad vs. seguridad: Los bancos argumentan que el MFA reduce conversiones en un 12-15% (según datos de la FIDO Alliance). Esto lleva a equipos de SRE a priorizar la experiencia de usuario sobre controles de seguridad, exponiendo sistemas a denegación de servicio (DoS) por ataques de fuerza bruta. En 2024, un banco canadiense que implementó MFA opcional vio un aumento del 22% en intentos de login fallidos, saturando sus sistemas de autenticación.

Detalles técnicos

Vectores de ataque explotados

  1. Credential stuffing con leaked passwords:
Fuente: Brecha de Expedia (2020) con 8M de credenciales.

Herramientas: Bots basados en Sentry MBA o OpenBullet, que prueban credenciales en APIs bancarias a 5.000-10.000 req/seg.

Impacto: En 2023, el 45% de los intentos de login en APIs bancarias correspondieron a este tipo de ataques, según Akamai’s State of the Internet Report.

  1. SIM swapping para interceptar OTP:
Técnica: Ingeniería social sobre operadores de carriers para emitir SIM duplicada.

Herramientas: Scripts como simswapper (usado en ataques a bancos en EE.UU. en 2024) para automatizar el proceso.

Mitigación fallida: El estándar GSMA’s FS.18 recomienda autenticación adicional para cambios de SIM, pero solo el 30% de los carriers lo implementa, según un informe de ENISA.

  1. Filtros de correo para ocultar alertas:
Técnica: Uso de la API de Gmail para crear filtros con reglas como:
     {
       "addLabelIds": ["SPAM"],
       "criteria": {
         "from": "[email protected] OR [email protected]"
       }
     }
     

Impacto: El 67% de los usuarios no revisa su spam, según Google’s Security Blog (2024).

  1. Falta de phishing-resistant MFA:
Opción actual: OTP por SMS/email (CWE-308).

Alternativa segura: Passkeys (FIDO2/WebAuthn), que usan pares de claves criptográficas y requieren autenticación biométrica o PIN.

Bancos afectados: Chase, Bank of America y Citibank ofrecen passkeys solo en apps móviles, no en web. Según la FIDO Alliance, solo el 12% de los bancos en EE.UU. los implementan de forma completa.

Componentes vulnerables

  • Bibliotecas de autenticación:
Spring Security 5.8.0 (usada en APIs bancarias) fue reportada con CVE-2024-22263, que permitía bypass de MFA en ciertas configuraciones.

AWS Cognito (usado por bancos en Latam) tiene un comportamiento por defecto que no fuerza MFA, requiriendo configuración manual en el User Pool.

  • Infraestructura en la nube:
Azure AD B2C: Configuraciones por defecto permiten autenticación con OTP sin validar el dispositivo, lo que facilita ataques de session hijacking.

Google Identity Platform: Permite MFA opcional, con OTP como opción por defecto. En 2024, se reportaron 1.200 incidentes de OTP interceptados en cuentas de usuarios de bancos que lo usaban.

Qué deberían hacer los administradores y equipos técnicos

Para equipos de Seguridad

  1. Exigir MFA phishing-resistant por defecto:
– Para sistemas nuevos, implementar passkeys (FIDO2) con políticas de:

– Requerir biometría o PIN para liberar la clave privada.

– Bloquear tras 5 intentos fallidos (evitar brute force).

Ejemplo en AWS Cognito:

     UserPool:
       Policies:
         PasswordPolicy:
           MinimumLength: 12
           RequireLowercase: true
           RequireNumbers: true
           RequireSymbols: true
           RequireUppercase: true
       MfaConfiguration: "ONLY_REQUIRED"
       SoftwareTokenMfaConfiguration:
         Enabled: false  # Deshabilitar OTP
       PasskeyConfiguration:
         Enabled: true
     
  1. Bloquear OTP por SMS/email:
– Usar herramientas como Twilio Verify o AWS SNS para forzar MFA basada en apps (Google Authenticator, Authy) o hardware (YubiKey).

Comando para validar en Kubernetes:

     kubectl apply -f mfa-policy.yaml
     

Donde mfa-policy.yaml define:

     apiVersion: security.istio.io/v1beta1
     kind: AuthorizationPolicy
     metadata:
       name: deny-sms-otp
     spec:
       selector:
         matchLabels:
           app: banking-api
       action: DENY
       rules:
       - to:
         - operation:
             methods: ["POST"]
             paths: ["/auth/otp/sms"]
     
  1. Monitorear SIM swapping:
– Integrar con APIs de carriers (ej: AT&T’s API de SIM swap detection) para alertar en tiempo real.

Ejemplo en Python:

     import requests
     def check_sim_swap(phone_number, last_imei):
         response = requests.post(
             "https://api.att.com/sim-swap/v1/check",
             headers={"Authorization": "Bearer TOKEN"},
             json={"phone": phone_number, "imei": last_imei}
         )
         return response.json().get("swapped", False)
     

Para equipos de DevOps

  1. Endurecer APIs bancarias:
– Usar Istio o Linkerd para aplicar network policies que limiten el tráfico a endpoints de autenticación solo desde balanceadores de carga.

Ejemplo en EKS:

     apiVersion: networking.k8s.io/v1
     kind: NetworkPolicy
     metadata:
       name: restrict-auth-api
     spec:
       podSelector:
         matchLabels:
           app: auth-service
       ingress:
       - from:
         - namespaceSelector:
             matchLabels:
               name: ingress-nginx
         ports:
         - protocol: TCP
           port: 443
     
  1. Automatizar respuestas a incidentes:
– Configurar Falco o Datadog para detectar:

– Múltiples intentos de login fallidos desde IPs no conocidas.

– Cambios en configuración de filtros de correo (usando la API de Gmail).

Regla Falco:

     - rule: MultipleFailedLogins
       desc: "Múltiples intentos de login fallidos en autenticación"
       condition: >
         evt.type = login_failed and
         evt.value[attempts] > 5 and
         not evt.value[ip] in trusted_ips
       output: "Posible ataque de credential stuffing (user=%user.name ip=%fd.ip)"
       priority: WARNING
     

Para equipos de SRE

  1. A/B testear MFA sin sacrificar conversiones:
– Usar Google Optimize o Optimizely para medir el impacto de MFA en la retención de usuarios.

Métrica clave: Si la tasa de abandono aumenta más del 5%, evaluar alternativas como:

– MFA progresiva (solo para transacciones > $500).

– Autenticación adaptativa con AWS Cognito Risk Detection.

  1. Redundancia en alertas:
– Implementar múltiples canales (email, SMS secundario, notificaciones push) para alertas de transacciones.

Ejemplo en Node.js:

     const nodemailer = require("nodemailer");
     const sms = new TwilioClient(process.env.TWILIO_SID);

     async function sendAlerts(transaction) {
       await nodemailer.sendMail({
         to: user.email,
         subject: "Transacción sospechosa",
         text: `Se detectó un retiro de $${transaction.amount}`
       });
       await sms.messages.create({
         body: `Alerta: retiro de $${transaction.amount}`,
         from: "+1234567890",
         to: user.phone
       });
     }
     

Conclusión

El caso de la víctima de 84 años no es un outlier: es la consecuencia directa de un modelo de autenticación que prioriza la comodidad sobre la seguridad. Los equipos técnicos tienen herramientas para cambiar este paradigma:

  • Passkeys (FIDO2) eliminan el riesgo de phishing y SIM swapping, con una adopción del 92% de usuarios satisfechos, según la FIDO Alliance.
  • Autenticación adaptativa (AWS Cognito, Google Identity) puede reducir la fricción para el 85% de los usuarios mientras mantiene controles estrictos para transacciones riesgosas.
  • Monitoreo en tiempo real (Falco, carrier APIs) permite detectar y responder a SIM swapping antes de que los atacantes actúen.

La pregunta no es si los bancos deberían exigir MFA phishing-resistant, sino cuánto costará no hacerlo. Con pérdidas por fraude que superan los 1.000 millones de dólares anuales solo en EE.UU. y normativas que evolucionan hacia penalidades por incumplimiento, la inacción ya no es una opción —es una negligencia técnica con consecuencias tangibles.

Fuentes

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *