16.10: Apply Secure Design Principles in Application Architectures
Apply secure design principles in application architectures. Secure design principles include the concept of least privilege and enforcing mediation to validate every operation that the user makes, promoting the concept of “never trust user input.” Examples include ensuring that explicit error checking is performed and documented for all input, including for size, data type, and acceptable ranges or formats. Secure design also means minimizing the application infrastructure attack surface, such as turning off unprotected ports and services, removing unnecessary programs and files, and renaming or removing default accounts.
Asset Type |
Security Function |
Implementation Groups |
---|---|---|
Applications |
Protect |
2, 3 |
Dependencies
Safeguard 16.1: Establish and Maintain a Secure Application Development Process
Inputs
GV49
: Secure Application Development ProcessGV50
: Application Infrastructure Components
Operations
- Use Input 1
GV49
to determine whether the process outlines a secure software framework that includes secure design principles If the framework exists, M1 = 1
If the framework does not exist, M1 = 0
- Use Input 1
- For each application infrastructure component in Input 2
GV50
, determine whether the secure design principles were applied per the framework Identify and enumerate application infrastructure components where design principles are applied (M3)
Identify and enumerate application infrastructure components where design principles are not applied (M4)
- For each application infrastructure component in Input 2
Measures
M1 = Output of Operation 1
M2 = Count of Input 2
GV50
M3 = Count of applications infrastructure components with design principles applied
M4 = Count of applications infrastructure components without design principles applied
Metrics
If M1 is 0, this safeguard receives a failing score. The other metrics don’t apply.