NIST 800-53 REV 5 • SYSTEM AND SERVICES ACQUISITION

SA-8(21)Self-analysis

Implement the security design principle of self-analysis in {{ insert: param, sa-08.21_odp }}.

CMMC Practice Mapping

No direct CMMC mapping

NIST 800-171 Mapping

No direct NIST 800-171 mapping

Related Controls

Supplemental Guidance

The principle of self-analysis states that a system component is able to assess its internal state and functionality to a limited extent at various stages of execution, and that this self-analysis capability is commensurate with the level of trustworthiness invested in the system. At the system level, self-analysis can be achieved through hierarchical assessments of trustworthiness established in a bottom-up fashion. In this approach, the lower-level components check for data integrity and correct functionality (to a limited extent) of higher-level components. For example, trusted boot sequences involve a trusted lower-level component that attests to the trustworthiness of the next higher-level components so that a transitive chain of trust can be established. At the root, a component attests to itself, which usually involves an axiomatic or environmentally enforced assumption about its integrity. Results of the self-analyses can be used to guard against externally induced errors, internal malfunction, or transient errors. By following this principle, some simple malfunctions or errors can be detected without allowing the effects of the error or malfunction to propagate outside of the component. Further, the self-test can be used to attest to the configuration of the component, detecting any potential conflicts in configuration with respect to the expected configuration.

Practitioner Notes

Self-analysis means designing systems with built-in capabilities to monitor their own security state and report anomalies. Systems should be able to detect when their own security properties have been violated.

Example 1: Enable Windows Measured Boot and Secure Boot so the system checks its own boot integrity on every startup. If the boot process has been tampered with, the system detects and reports it through the TPM (Trusted Platform Module) attestation mechanism.

Example 2: Implement application-level health checks that verify security configuration on startup: are encryption keys loaded, are TLS certificates valid, are required security services running? If any check fails, the application should refuse to start and alert the operations team rather than running in a degraded security state.