SC-3: Security Function Isolation

Threats Addressed:

Baselines:

  • Low

    N/A

  • Moderate

    N/A

  • High
    • SC-3
  • Privacy

    N/A

Previous Version:

Control Statement

Isolate security functions from nonsecurity functions.

Supplemental Guidance

Security functions are isolated from nonsecurity functions by means of an isolation boundary implemented within a system via partitions and domains. The isolation boundary controls access to and protects the integrity of the hardware, software, and firmware that perform system security functions. Systems implement code separation in many ways, such as through the provision of security kernels via processor rings or processor modes. For non-kernel code, security function isolation is often achieved through file system protections that protect the code on disk and address space protections that protect executing code. Systems can restrict access to security functions using access control mechanisms and by implementing least privilege capabilities. While the ideal is for all code within the defined security function isolation boundary to only contain security-relevant code, it is sometimes necessary to include nonsecurity functions as an exception. The isolation of security functions from nonsecurity functions can be achieved by applying the systems security engineering design principles in SA-8, including SA-8(1), SA-8(3), SA-8(4), SA-8(10), SA-8(12), SA-8(13), SA-8(14), and SA-8(18).

Control Enhancements

SC-3(1): Hardware Separation

Baseline(s):

(Not part of any baseline)

Employ hardware separation mechanisms to implement security function isolation.

SC-3(2): Access and Flow Control Functions

Baseline(s):

(Not part of any baseline)

Isolate security functions enforcing access and information flow control from nonsecurity functions and from other security functions.

SC-3(4): Module Coupling and Cohesiveness

Baseline(s):

(Not part of any baseline)

Implement security functions as largely independent modules that maximize internal cohesiveness within modules and minimize coupling between modules.

SC-3(5): Layered Structures

Baseline(s):

(Not part of any baseline)

Implement security functions as a layered structure minimizing interactions between layers of the design and avoiding any dependence by lower layers on the functionality or correctness of higher layers.