Authentication (ATJ)
Mark può accedere a risorse o servizi perché non c'è alcun requisito di autenticazione, o perché l'autenticazione è assente a causa di configurazione errata, progettazione o implementazione impropria, oppure si è pensato erroneamente che l'autenticazione sarebbe stata effettuata da qualche altro sistema o eseguita in qualche azione precedente
The key concept for this card is missing authentication. See AT Q for inconsistent authentication and AT K for changing the executing authentication code.
Scenario: Mark’s Access Without Authentication
Imagine a situation where Mark gains access to resources or services in a system that lacks proper authentication controls. This occurs because:
- Absence of Authentication Requirements: Certain resources or services don’t have any authentication checks in place.
- Misplaced Assumptions About Authentication: The system mistakenly assumes that authentication is handled by another system or was already performed in a previous action.
Example
Mark discovers that an internal reporting tool in a corporate network doesn’t require users to authenticate themselves. This tool, designed for ease of access within the network, is mistakenly left accessible without any login procedure. Mark accesses this tool and retrieves sensitive company data. The system was assumed to be secure as it was only accessible internally, but this oversight allowed for unauthorized access without any form of identity verification.
Threat Modeling
STRIDE
This scenario maps directly to STRIDE: Spoofing.
Spoofing is about pretending to be a legitimate user or entity. Even though no credentials are provided, Mark gains access to the system without authentication, effectively being treated as a valid user. The system’s failure is that it assumes authentication is done elsewhere or not needed — this lets an attacker bypass identity verification entirely.
What can go wrong?
Such an absence of authentication exposes the system to unauthorized access, potentially leading to data breaches and exploitation of sensitive resources.
For more things that can go wrong, see the Common Attack Patterns related to this card in the table below.
What are we going to do about it?
- Implement authentication requirements for all resources and services, regardless of their perceived security level.
- Clearly define and document authentication responsibilities to ensure no system component is left unprotected due to assumptions about other systems’ security measures.
- Regularly audit the entire system to identify and rectify any areas lacking proper authentication controls.
- For each entry point, verify that the correct degree of authentication is required and occurs. Ensure this includes:
- Access to remote systems.
- APIs.
- Non HTML content (e.g. files, images).
- Reporting.
- Any other 'internal' functionality.
For detailed advice on how to mitigate threats related to the card, see the ASVS and OWASP Developer Guide requirements in the table below.
Mappings
STRIDE: Spoofing
OWASP ASVS: 4.4.4,6.1.3,6.3.3,6.3.4,6.4.3,6.4.4,7.5.1,7.5.3,8.4.2,12.3.5,13.2.1,13.2.3
CAPEC: 115
OWASP DevGuide: SC1,A1,A2,AC1,AC2,AC3
CAPEC™ Map
| Code | Title | ASVS |
|---|---|---|
| 115 | Authentication Bypass | 4.4.4,6.1.3,6.3.3,6.3.4,6.4.3,6.4.4,7.5.1,7.5.3,8.4.2,12.3.5,13.2.1,13.2.3 |