Authentication (ATA)
How to play?Players can discuss any type of Authentication (AT) attack they think might be possible against the assessment target. It does not matter if the attack relates to another AT card, but if possible try to identify an attack that is fairly unique to the application/functionality/users.
Scenario: Invent your own Authentication threat
Inventing an authentication threat can lead to:
- User Impersonation: Attackers access other users’ accounts and perform actions as them.
- Unauthorized Privilege Access: Exploit weak authentication to perform higher-privileged actions.
- Credential Theft: Capture passwords, API keys, or session tokens.
- Bypassing Multi-Factor Authentication: Circumventing 2FA or step-up authentication.
- Session Hijacking: Exploit predictable or weak session tokens obtained during authentication.
- Account Enumeration: Gain information about valid usernames or system structure.
- Denial of Service: Flood login systems or trigger authentication failures to lock out users.
- Audit/Repudiation Issues: Actions may be performed without proper identity attribution.
Threat Modeling
STRIDE
Any of the STRIDE categories may be applicable, but the primary concern is usually Spoofing.
Authentication’s main purpose is to verify identity. If you can invent a new way to bypass or manipulate authentication, the attacker can impersonate legitimate users. That’s the essence of a Spoofing threat.
What can go wrong?
User impersonation, privilege escalation, credential theft, MFA bypass, session hijacking, account enumeration, denial of service, audit gaps.
What are we going to do about it?
Strong centralized auth, MFA, secure credential storage, rate limiting, fail-secure defaults, session security, re-authentication, logging, testing, protection of auth routines.
- Use Strong, Centralized Authentication: Standard frameworks, tested libraries, and MFA support.
- Enforce Multi-Factor Authentication: Especially for high-privilege accounts or sensitive actions.
- Credential Protection: Store hashed & salted passwords; protect secrets in transit and at rest.
- Account Lockout / Rate Limiting: Prevent brute-force, dictionary, and credential-stuffing attacks.
- Fail Secure: Deny access by default if authentication fails or system malfunctions.
- Session Management: Secure session identifiers; rotate tokens after login or privilege change.
- Re-authentication: Require identity verification for sensitive or privileged operations.
- Logging & Monitoring: Log all authentication attempts and detect anomalies.
- Regular Testing & Review: Penetration testing, fuzzing, and reviewing authentication flows.
- Protect Authentication Routines:Prevent tampering with login code, libraries, and API endpoints.
Mappings
STRIDE:
OWASP ASVS: -
CAPEC: -
OWASP DevGuide:
OWASP AppSensor: -
SAFECode: -