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