V1 Architecture
⚠️ WARNING: This document is not finished. The details in this document are subject to change.
V1.1 Secure Software Development Lifecycle
| # | Description | L1 | L2 | L3 | CWE | Notes |
|---|---|---|---|---|---|---|
| 1.1.1 | Verify the use of a secure software development lifecycle that addresses security in all stages of development. (C1) | ✓ | ✓ | |||
| 1.1.2 | Verify the use of threat modeling for every design change or sprint planning to identify threats, plan for countermeasures, facilitate appropriate risk responses, and guide security testing. | ✓ | ✓ | 1053 | ||
| 1.1.3 | Verify that all user stories and features contain functional security constraints, such as "As a user, I should be able to view and edit my profile. I should not be able to view or edit anyone else's profile" | ✓ | ✓ | 1110 | ||
| 1.1.4 | Verify documentation and justification of all the application's trust boundaries, components, and significant data flows. | ✓ | ✓ | 1059 | ||
| 1.1.5 | Verify definition and security analysis of the application's high-level architecture and all connected remote services. (C1) | ✓ | ✓ | 1059 | ||
| 1.1.6 | Verify implementation of centralized, simple (economy of design), vetted, secure, and reusable security controls to avoid duplicate, missing, ineffective, or insecure controls. (C10) | ✓ | ✓ | 637 | ||
| 1.1.7 | Verify availability of a secure coding checklist, security requirements, guideline, or policy to all developers and testers. | ✓ | ✓ | 637 |
V1.2 Authentication Architecture
| # | Description | L1 | L2 | L3 | CWE | Notes |
|---|---|---|---|---|---|---|
| 1.2.1 | Verify the use of unique or special low-privilege operating system accounts for all application components, services, and servers. (C3) | ✓ | ✓ | 250 | ||
| 1.2.2 | Verify that communications between application components, including APIs, middleware and data layers, are authenticated. Components should have the least necessary privileges needed. (C3) | ✓ | ✓ | 306 | ||
| 1.2.3 | Verify that the application uses a single vetted authentication mechanism that is known to be secure, can be extended to include strong authentication, and has sufficient logging and monitoring to detect account abuse or breaches. | ✓ | ✓ | 306 | ||
| 1.2.4 | Verify that all authentication pathways and identity management APIs implement consistent authentication security control strength, such that there are no weaker alternatives per the risk of the application. | ✓ | ✓ | 306 |
V1.3 Session Management Architecture
This is a placeholder for future architectural requirements.
V1.4 Access Control Architecture
| # | Description | L1 | L2 | L3 | CWE | Notes |
|---|---|---|---|---|---|---|
| 1.4.1 | Verify that trusted enforcement points, such as access control gateways, servers, and serverless functions, enforce access controls. Never enforce access controls on the client. | ✓ | ✓ | 602 | ||
| 1.4.2 | [DELETED, NOT ACTIONABLE] | |||||
| 1.4.3 | [DELETED, DUPLICATE OF 4.1.3] | |||||
| 1.4.4 | Verify the application uses a single and well-vetted access control mechanism for accessing protected data and resources. All requests must pass through this single mechanism to avoid copy and paste or insecure alternative paths. (C7) | ✓ | ✓ | 284 | ||
| 1.4.5 | Verify that attribute or feature-based access control is used whereby the code checks the user's authorization for a feature/data item rather than just their role. Permissions should still be allocated using roles. (C7) |