Stopping Account Takeover in CIAM: Bot, Fraud and ATO Defense
How customer accounts actually get taken over, and the four layers of defense a CIAM program needs: bot and stuffing controls, phishing-resistant credentials, risk-based step-up after login, and a recovery flow held to the same bar as sign-in.
- Most customer account takeover is unsophisticated: replayed passwords from other breaches, password spraying, and one-time codes relayed through phishing proxies. Defend the volume attacks first.
- Layer the controls at four points: before the password check (rate limits, bot detection, breached-password screening), at authentication (passkeys), after login (risk scoring and step-up), and at recovery.
- Passkeys stop replay and phishing-proxy attacks because the credential is bound to your domain, but only for accounts where the phishable fallback is removed or gated. Attackers now target the fallback directly.
- Account recovery is an authentication path. A reset or email-change flow weaker than login is the easiest way in, so hold it to the same assurance level and step up before sensitive changes.
Account takeover (ATO) is the attack customer identity systems face most often, and most of it is not clever. Attackers replay passwords leaked somewhere else, spray common passwords across many accounts, relay one-time codes through phishing proxies, or walk in through a weak recovery flow. Stopping it means layering controls at four points: before the password is checked, at authentication, after login, and at recovery.
How customer accounts actually get taken over
- Credential stuffing. Automated replay of leaked username and password pairs. In July 2026 Chick-fil-A disclosed that credential stuffing compromised 13,322 loyalty accounts over three days in June, using credentials from an unrelated source. It was the company's second incident of the same class since 2023.
- Password spraying. One common password tried across thousands of accounts, staying under per-account lockout thresholds. Microsoft's Digital Defense Report counts roughly 600 million identity attacks a day against Microsoft Entra, 97% of them password attacks.
- Phishing proxies and OTP relay. The kit sits between the customer and the real site, captures the password, and forwards the one-time code before it expires. In July 2026 CTM360 described InsureOTP, a kit doing exactly this against insurance portals.
- Session theft. A stolen session skips login entirely. Gyazo's September 2026 breach exposed login session IDs for 23.62 million accounts.
- Recovery abuse. Keycloak patched CVE-2026-18963 on August 19, 2026, a reset-flow flaw that let a crafted request skip the email token and set a new password for any account.
Layer 1: stop automation before the password check
The OWASP Credential Stuffing Prevention Cheat Sheet is explicit that no single control is enough. The practical stack:
- Rate limits by account, IP, and network, with progressive delays rather than hard lockout. Hard lockout hands attackers a way to lock your customers out. NIST SP 800-63B caps consecutive failed attempts per account at 100.
- Bot detection using device and connection fingerprinting, with a challenge shown only when the risk score calls for it, not to every customer.
- Breached-password screening. NIST SP 800-63B requires verifiers to check passwords against lists of commonly used and compromised values. Screen at signup, at password change, and at login, and force a reset when a match appears.
Some platforms build this in. The Stytch profile notes device fingerprinting and bot defense alongside authentication, and Akamai Identity Cloud pairs customer identity with Akamai's edge bot management.
Layer 2: make the credential worthless to replay
Rate limits slow stuffing down. Passkeys end it, because there is no shared secret to replay, and the signature is bound to your domain so a phishing proxy cannot produce one. Amazon says more than 175 million customers have passkeys enabled, an older figure than the 465 million Identity Week reported in May 2026, and Microsoft reports phishing-resistant MFA stops over 99% of password attacks.
The catch is the fallback. In September 2026 CloudSEK found the BigBear phishing service disabling WebAuthn in the victim's browser so users fell back to a factor the proxy could relay, with completed compromises at 258 organizations. A passkey reduces ATO only as far as the weakest remaining login path allows. For accounts holding stored value or payment methods, gate or remove the password and SMS fallback once a passkey is enrolled. The passwordless CIAM guide covers a rollout that does this without hurting conversion.
Layer 3: score the session, not just the login
Login is one moment; fraud happens after it. Risk-based authentication scores each session on signals such as a new device, unfamiliar network, impossible travel, and velocity, then applies step-up authentication before sensitive actions: changing the email or phone number, adding a payment method, changing payout details, or redeeming points. Authsignal is a drop-in layer for exactly this on top of an existing identity stack, and Transmit Security scores sessions natively as part of every flow.
Two cheap controls belong here too. Revoke every active session when a password changes or compromise is suspected, and notify the customer on new-device sign-in and on any change to their contact details, which OWASP also recommends.
Layer 4: treat recovery as login
Every control above is worthless if the reset flow hands over the account on request. Hold recovery to the same assurance level as sign-in. Require step-up before an email or phone change, never allow an email change and a password reset in the same unverified session, and avoid SMS-only recovery for high-value accounts, since SMS codes are the factor OTP relay kits are built to steal.
Choosing a platform
Ask vendors to show, not describe: the bot and stuffing controls at login, breached-password screening, passkey enrollment with fallback gating, step-up hooks at arbitrary actions, and session revocation by API. The how to evaluate CIAM guide turns those into test cases. Compare the field in the best CIAM platforms, best CIAM for fintech, best CIAM for high scale, and best passwordless CIAM providers rankings, and for a capability matrix across platforms, see Deepak Gupta's CIAM Compass.
The goal is asymmetric cost: invisible to the honest customer, expensive for the bot. Stuffing and spraying are volume businesses, and they stop when the volume stops paying.
Frequently asked questions
- How do you prevent account takeover?
- Layer controls at four points. Before the password is checked, rate-limit by account and network, detect bots, and screen passwords against breached lists. At authentication, offer phishing-resistant passkeys. After login, score sessions for risk and require step-up authentication before sensitive actions such as changing the email address or payout details. At recovery, hold reset and email-change flows to the same assurance level as sign-in.
- What is credential stuffing and how do you defend against it?
- Credential stuffing is the automated replay of username and password pairs leaked from other sites, relying on customers reusing passwords. Defend with per-account and per-network rate limiting, bot and device fingerprinting, risk-triggered challenges, screening new and existing passwords against known-compromised lists, and, most effectively, moving customers to passkeys so there is no reusable password to replay.
- Does MFA prevent account takeover?
- It prevents most of it. Microsoft reports that phishing-resistant MFA stops over 99% of password attacks. Phishable factors such as SMS and email one-time codes are weaker, because phishing proxies relay the code in real time. MFA also does not stop theft of an already-issued session, which is why session revocation and post-login risk checks still matter.
- Do passkeys stop account takeover?
- Passkeys stop credential replay and phishing-proxy attacks because the signature is bound to your domain and cannot be produced for a lookalike site. They do not protect an account that still has a password or SMS fallback an attacker can force the user onto, and they do not protect stolen session cookies or a weak recovery flow.
- What is CIAM fraud prevention?
- CIAM fraud prevention is the set of identity-layer controls that stop attackers from taking over or abusing customer accounts: bot detection at signup and login, breached-password screening, phishing-resistant authentication, risk-based step-up at sensitive actions, session revocation, and protected account recovery. Some platforms build fraud signals into every flow; others integrate a separate fraud or risk service.
Related on Start with Identity
- ArticlePodcasts for CIAM Builders: Customer Identity, Fraud and Verification
The podcast episodes and shows worth a CIAM team's time: sign-up and sign-in design, consumer passkeys, consent, fraud and account takeover, identity verificati
- ArticleB2B vs B2C CIAM: Tenancy, Organizations, and Architecture
B2B and B2C customer identity share a name but differ in architecture. This guide explains the organization and tenancy model, who administers users, and why ch
- ArticleCIAM Journey Orchestration Explained: No-Code Auth Flows and Their Limits
Identity orchestration lets teams design login, signup, verification, and step-up journeys as configurable flows instead of hard-coded logic. This guide explain
- CVEKeycloak First Broker Login TOCTOU, account-merge takeover
Keycloak's First Broker Login had a time-of-check/time-of-use gap. A phishing or race could merge an attacker's IdP account onto a victim. CVSS 3.1 on paper. Th
- CVEKeycloak reset-credentials flow skips the email token, full account takeover
Improper state validation in Keycloak's reset-credentials authentication flow let an unauthenticated attacker jump straight to the password-update step, no emai
- Comparisonauth0-vs-clerk
Auth0 is the general-purpose CIAM platform with the widest protocol coverage and enterprise credibility. Clerk is the fastest path to a polished login in a Reac