id: "SC-39" title: "Process Isolation" family: "SC" family_name: "System and Communications Protection" sort_id: "sc-39" priority: "P1" implementation_level: "system" enhancements: - sc-39.1 - sc-39.2


Statement

Maintain a separate execution domain for each executing system process.

Guidance

Systems can maintain separate execution domains for each executing process by assigning each process a separate address space. Each system process has a distinct address space so that communication between processes is performed in a manner controlled through the security functions, and one process cannot modify the executing code of another process. Maintaining separate execution domains for executing processes can be achieved, for example, by implementing separate address spaces. Process isolation technologies, including sandboxing or virtualization, logically separate software and firmware from other software, firmware, and data. Process isolation helps limit the access of potentially untrusted software to other system resources. The capability to maintain separate execution domains is available in commercial operating systems that employ multi-state processor technologies.

Assessment Objective

a separate execution domain is maintained for each executing system process.

System design documentation

system architecture

independent verification and validation documentation

testing and evaluation documentation

other relevant documents or records

System developers/integrators

system security architect

Mechanisms supporting and/or implementing separate execution domains for each executing process