What is ATO (Account takeover)?

Updated

An attack outcome where the attacker gains control of a legitimate user's account. Achieved via credential stuffing, phishing, OAuth abuse, password reset abuse, or session hijacking. The most common 'damaging outcome' bucket in incident reporting.

Full explanation

Account takeover is the umbrella term for any path that ends with the attacker authenticated as a legitimate user. Common paths: credential stuffing (reuse of leaked passwords), phishing-driven password capture, OAuth-flow abuse (state-parameter missing, audience claim missing), password-reset abuse (token leak, no expiry, no single-use), session-cookie theft (XSS, missing httpOnly, missing secure), or SIM-swap attacks against SMS-based MFA. Defense: layered controls — MFA enforcement, password-leak detection, anomaly-based session monitoring, and switch to passkeys / WebAuthn where supported.

Example

A user's credentials leak from another service's breach. The attacker tries the same email/password against your login. It works (credential reuse). The attacker now has full account access — reads private data, exports it, transfers funds, sends emails as the user. Defense: enforce MFA so the credential alone is not sufficient; detect logins from new geo/IP and require step-up authentication.

Related

FAQ

Should I require MFA for everyone?

Yes for sensitive actions (admin operations, financial transactions, data export) — at minimum require step-up authentication. Universal MFA is the right default for any app with paying customers; the friction cost is real but small, the breach cost is unbounded. Passkeys reduce the friction further while raising the security floor.

Does Securie detect ATO attempts?

Securie's Ring 1 PR-time scanning catches the bug classes that enable ATO (broken auth, weak password handling, missing MFA enforcement, OAuth state-parameter omission). Ring 3 runtime correlation (L13 SDP + runtime-eBPF) detects ATO attempts in production traffic — anomalous login patterns, session anomalies, geo/IP shifts. The two work together: PR-time prevents the bugs, runtime catches the attacks against bugs that slipped through.