Capability

Account Takeover Protection

Stop credential stuffing, brute-force, low-and-slow and session hijacking attempts based on combined risk decision — not a single signal.

TR7 Account Takeover Protection does not reduce ATO defense to a "lock the account after 5 wrong attempts" rule. Bot score, failed-auth velocity, IP reputation, behavioral traffic signals, session binding mismatch, CAPTCHA and AAM step-up MFA flow are all evaluated together. Different attack classes are caught by different signals. Classic brute-force from a single IP is covered by IP scope; credential stuffing distributed across many IPs is covered by username scope; targeted attempts focused on a specific user are covered by username_ip or composite scope; post-login session hijacking attempts become visible through session binding anomalies. The protection model is not single-stage. First a warning produces an audit trail, then self-hosted CAPTCHA adds friction, and finally lockout or quarantine kicks in. The attacker's attempt capacity is gradually reduced without penalising legitimate users unnecessarily. The result: TR7 WAAP and AAM working together form an integrated defense layer that addresses account takeover attempts in the context of identity, traffic behavior, session consistency and access policy.

4
Risk layers: bot score, failed-auth velocity, IP reputation, session binding
3
Graduated escalation tiers: warning → CAPTCHA → lockout
24h
Default decay window — legitimate users resume cleanly

Account takeover attacks are not uniform — they cannot be caught by a single signal.

Classic brute-force makes many password attempts in a short time from a single IP. Credential stuffing tries the same password list distributed across many IPs. Low-and-slow attacks make a small number of attempts over hours. Session hijacking attempts reveal themselves after a successful login through changes in IP, user agent or behavior. Catching all of these with the same rate-limit rule is not realistic.

Using only IP-based lockout lets distributed credential stuffing slip through and unfairly affects legitimate users on shared networks. Using only user-based lockout lets attackers intentionally trigger account lockout as a denial-of-service. Using only CAPTCHA turns every login attempt into unnecessary friction and degrades user experience.

Many solutions look only at the moment of login. Yet the account takeover risk continues after login: if sensitive actions such as password change, email change, payment method addition, API token generation or fund transfer arrive in a new context, this is a post-login abuse signal. This behavior must be evaluated together with session binding and step-up MFA.

The right approach is to use the appropriate scope and signal combination for each attack class. IP, username, username_ip and composite scopes must work together with bot score, failed-auth velocity, IP reputation and session binding mismatch.

TR7 Account Takeover Protection delivers this model: it combines WAAP traffic signals with AAM access policies and manages ATO risk through a multi-layer policy graph rather than a single rule.

Our approach

TR7 applies ATO defense through multi-signal scoring, attack-class-specific scope selection, graduated escalation and AAM coordination.

Multi-signal decision model combines four distinct risk layers

Bot score, failed-auth velocity, IP reputation and session binding mismatch are all evaluated on the same decision path. Decisions are made based on the actual behavioral form of the attack — not solely on IP or solely on username.

Policy scope is selected to match the attack class

IP scope tracks single-source brute-force attempts, username scope tracks distributed credential stuffing, username_ip scope tracks targeted attacks, and composite scope tracks combinations of IP, user agent and headers. Each scope operates with its own counters and threshold behavior.

Warning, CAPTCHA and lockout create graduated friction

In the first stage the event is written to the audit log, then self-hosted CAPTCHA is activated, and finally lockout is applied. This model slows the attacker while minimizing unnecessary friction for legitimate users.

AAM coordination ties step-up MFA and lockout flow together

WAAP traffic signals can work alongside AAM lockout and step-up MFA policies. Additional verification can be triggered for users approaching the CAPTCHA threshold or exhibiting a session context change.

Capabilities

Account Takeover Protection brings pre-login traffic risk, login failures and post-login session behavior together in the same protection chain.

Three-tier escalation slows the attacker while protecting legitimate users

TR7 makes ATO defense graduated through the warning → CAPTCHA → lockout flow. The warning stage produces an audit trail without presenting friction to the user. The CAPTCHA stage challenges automation and offers legitimate users a controlled verification step. The lockout stage temporarily halts attempt capacity for the specific scope.

IP, username, username_ip and composite scopes can run in parallel

ATO attacks cannot be caught by a single scope. TR7 can run IP-based, username-based, IP+username-based and composite scope policies simultaneously on the same endpoint. Single-IP brute-force, multi-IP credential stuffing and targeted account attacks are each tracked separately. Even if an attacker stays under one scope, the other scope can still detect the behavior.

Failed-auth velocity measures the failed login rate within a time window

The failedAuthAttempts trigger counts failed attempts within a defined time window. This counter can be tracked per user, per IP or per composite scope. Short windows surface fast brute-force attempts; long windows reveal low-and-slow ATO behavior. Both total count and attempt density over time feed the decision.

Bot score converts automation risk on the login surface into a signal

TR7 can factor in user agent analysis, IP reputation, behavior analysis, suspicious path, header fingerprint, protocol anomalies, signal inconsistency, Tor exit node, TLS fingerprint and datacenter IP when computing the bot score. When the score reaches a defined level, a CAPTCHA or block action can be triggered. Login attempts are evaluated not only as password errors but also as automation behavior, bringing traffic quality into the ATO defense.

IP reputation flags bad sources before credential attacks arrive

IP reputation subcategories such as open proxy, bad bot, attack, reconnaissance, spam and VPN IP can be used as risk signals in ATO decisions. These categories do not have to produce mandatory blocking on their own; they are evaluated alongside bot score and lockout policies. Login attempts from known bad infrastructure can be subjected to earlier friction. This approach works in combination with other signals to reduce false-positive risk.

Behavioral traffic signals catch abuse on the login surface

Path hammering, rapid requests, high 404 rate, mutation requests without a referer and unexpected HTTP method usage can all be risk signals on the login surface. These indicators help distinguish credential stuffing, account enumeration and automated scanning behavior. Signals are not evaluated in isolation — they work alongside bot score and failed-auth counters. The attack becomes visible not only from password errors but also from traffic behavior.

Self-hosted CAPTCHA reduces dependency on third-party verification

When the CAPTCHA threshold is exceeded, TR7 can activate its own challenge flow. A controlled challenge is presented to the user without sending data to an external verification service. Incorrect CAPTCHA responses can be added to the failed-attempt counter and accelerate escalation. This provides a more controlled model for organizations with data residency and regulatory sensitivity.

AAM step-up MFA strengthens high-risk login and session actions

TR7 can coordinate WAAP bot and lockout signals with AAM access policies. Step-up MFA can be triggered for users approaching the CAPTCHA threshold, generating a session binding anomaly or performing a sensitive action. This approach carries the login-time risk into post-login operations as well. Even if the attacker knows the correct password, they still face the additional verification barrier.

Session binding mismatch makes post-login ATO signals visible

A session can be associated with IP, IP+user agent or a composite context. If IP, user agent or context changes unexpectedly after login, a session binding anomaly can be generated. This signal is particularly important in session hijacking and token reuse scenarios. Re-authentication or additional controls can be triggered on sensitive endpoints.

Decay window prevents a legitimate user's past mistakes from becoming a permanent penalty

attemptWindowDuration defines how long failed attempts continue to be counted. If a user makes a few password errors today, they can return to clean behavior once the window expires. An attacker who accumulates enough attempts within the same window encounters CAPTCHA or lockout. This model strikes a healthier balance between security and user experience.

Audit trail supports incident investigation with masked records

For each login attempt, timestamp, source IP, user agent, scope, policy ID and outcome can be recorded. Outcomes such as warning, CAPTCHA, lockout or successful pass are distinguished during incident review. Recipient details such as email or phone number are masked so the audit log does not become a secondary data leakage channel. SOC teams track attack flows using structured records.

Quarantine places repeat attackers under extended monitoring after lockout

If a quarantine action is defined after the lockout period expires, the client or scope can be placed under additional scrutiny. This makes it harder for attackers to repeat the same attempts each time the lockout duration ends. Quarantine provides ongoing risk tracking beyond classic lockout behavior and is a useful extra layer in long-running ATO campaigns.

Operational depth

ATO protection is operated together with ready-made policy presets, native counters, bot score curve, pool isolation, composite scope and AAM counter sharing.

01

Ready-made policy presets

TR7 can provide ready-made lockout policy examples for username, IP and username_ip scopes. The username scope focuses on credential stuffing with a longer window; the IP scope focuses on brute-force behavior with a shorter window. All thresholds, durations and actions can be adjusted to the service's needs.

02

Native failed-attempt counters

Failed login attempts are tracked using fast counter structures. This approach reduces dependency on external database calls and provides low latency on the login path. Replicating counters to peer nodes in a cluster environment is important for protection continuity after failover.

03

Bot score curve

The bot score can be interpreted as sensitive at low signal levels and saturating as high risk accumulates. This approach allows many small signals to compound into meaningful risk. When a new signal is added, the need to redesign the entire policy threshold from scratch is reduced.

04

Pool-based isolation

Each pool can be bound to its own traffic protection profile. An ATO signal on one tenant or service does not affect another tenant's counters. This isolation is critical in multi-tenant SaaS and MSP scenarios.

05

Composite scope behavior

Composite scope can combine IP, user agent, accept-language or similar header components into a single tracking key. This model provides more contextual tracking when IP or username alone is not sufficient. It offers additional visibility against rotating user agents or variable client behavior.

06

AAM counter coordination

WAAP failed-auth counters can be coordinated with AAM lockout policies. Even if an attacker targets different login endpoints directly, the same risk behavior can be evaluated on the shared counter and policy path. This makes ATO protection consistent not only at the traffic layer but also throughout the identity flow.

When to use it

Brute-force reduction on banking login and mobile API

Banking teams can monitor login endpoints with IP scope and SSL connection behavior together. When defined thresholds are exceeded, CAPTCHA, lockout or AAM step-up MFA is activated.

Distributed credential stuffing defense in e-commerce

Bots making a small number of attempts from many IPs may not appear under IP scope. Username scope catches failed attempts accumulating on the same account and applies account-level CAPTCHA or lockout.

Targeted administrator account protection in enterprise SaaS

Low-volume but focused attempts against a CFO or administrator account can be tracked with username_ip or composite scope. When risk rises, step-up MFA is triggered through AAM.

Session context check on sensitive post-login actions

If IP or user agent changes unexpectedly immediately after a user logs in, a session binding anomaly can be generated. Re-authentication can be required for actions such as fund transfers, email changes or token generation.

Frequently asked questions

Can credential stuffing and classic brute-force be caught by the same policy?
These attacks require different scopes. Classic brute-force comes from a single IP and is caught by the IP scope counter. Credential stuffing is distributed across thousands of IPs; here the username scope tracks failed attempts accumulating on the same account. TR7 can run both policies in parallel on the same endpoint, so regardless of which scope an attacker stays under, the other scope will detect the behavior.
When does session binding mismatch activate?
After a successful login, if the session's IP, user agent or composite context changes unexpectedly, a session binding anomaly can be generated. This signal is important in session hijacking and token reuse scenarios. Re-authentication or AAM step-up MFA can be triggered on sensitive endpoints.
Does self-hosted CAPTCHA send data to external services?
No. TR7's self-hosted CAPTCHA solution does not send data to external verification services. The challenge flow is handled within the platform. This model offers a more controlled option for organizations with data residency requirements such as GDPR or local data protection regulations.
How do AAM step-up MFA and WAAP lockout work together?
WAAP traffic signals and failed-auth counters can be coordinated with AAM lockout policies. Step-up MFA can be triggered through AAM for users approaching the CAPTCHA threshold or generating a session binding anomaly. Even if the attacker knows the correct password, they still face this additional verification barrier.
What happens if a legitimate user accidentally gets locked out?
The three-tier model reduces this risk. The warning stage first creates an audit trail without showing friction to the user. CAPTCHA then offers controlled verification. Lockout is only applied at the final stage. Additionally, the attemptWindowDuration decay window resets past errors after a defined period, allowing legitimate users to return to clean behavior.
How are low-and-slow ATO attacks detected?
Short-window policies cannot catch low-and-slow attacks. In TR7 the default attemptWindowDuration for username scope is 24 hours. This means that even if an attacker makes only a small number of attempts over hours, failed attempts accumulated during the day will trigger CAPTCHA or lockout once the threshold is crossed.

Leave account takeover risk to four layers — not a single signal

Integrated ATO defense against credential stuffing, brute-force, low-and-slow and session hijacking. Let's walk through a live setup on your own services.