Operating System Security

The spacecraft operating system (OS) must be subjected to software assurance scrutiny commensurate with its mission criticality and security role. Prior assurance and flight-history evidence may be reused only after its applicability to the selected OS version, configuration, target hardware, operational use, and current mission security requirements has been evaluated. The OS must be analyzed for its attack surface, and all features, services, libraries, and interfaces not required for the mission's defined operational functions must be stripped, disabled, or removed before the OS is integrated into the flight software stack. This hardening requirement is particularly significant for some real-time operating systems (RTOS), which commonly include networking stacks, file systems, shell interfaces, diagnostic services, and other general-purpose capabilities that are unnecessary for spacecraft operations but expand the exploitable attack surface available to an adversary. Only an organization-approved OS product, version, build, and configuration baseline may be used in the delivered spacecraft system. The approved baseline must be enforced through reproducible build controls, configuration management, component inventories, and automated verification where supported.

ID: CM0047
Tier: I
Ground CM 
Created: 2022/10/19
Last Modified: 2026/08/06

Pre-Operations Government

Acquisition requirements should mandate OS software assurance analysis as a program deliverable, requiring contractors to document the attack surface of the selected OS, identify all features and services present in the default or baseline configuration, justify the inclusion of each retained feature against a defined operational need, and demonstrate that all non-required features have been disabled or removed. Requirements should specify that the hardened OS configuration be formally approved and treated as a controlled baseline, with the approval process including government technical review of the attack surface analysis and the hardening rationale. Contract language should require that the approved OS baseline be enforced in all flight software builds through a whitelist or equivalent configuration control mechanism that prevents unauthorized features from being reintroduced during development, integration, or update cycles. Evaluation criteria should assess offerors' experience with OS attack surface analysis and hardening for space or similarly constrained embedded systems, their proposed assurance methodology, and their approach to maintaining OS baseline integrity throughout the development lifecycle. Verification should include independent review of the OS attack surface analysis and confirmation through build inspection or automated configuration checking that the delivered OS baseline matches the approved hardened configuration.

Pre-Operations Developer/Supplier

OS selection should include a security assurance evaluation as a formal criterion alongside functional and performance requirements, assessing the candidate OS's known vulnerability history, the availability of source code or binary analysis capability, the supplier's security support posture, and the existence of prior assurance evidence applicable to the mission's security requirements. Attack surface analysis must be conducted against the specific OS version and configuration to be used, not against a generic characterization of the OS product line, as attack surface varies significantly across versions and build configurations. The analysis should document the disposition of OS components, services, drivers, protocols, and interfaces included or enabled in the proposed build. Items should be classified as required and retained, not required and removed or disabled, or retained by approved exception with documented risk, compensating controls, and operational justification. Unnecessary OS functionality should be excluded from the build where supported and operationally appropriate. Where build-time exclusion is not feasible, the functionality must be securely disabled through protected configuration controls, prevented from starting or being invoked, and verified as inactive in the operational baseline. The mechanism must prevent unauthorized re-enablement. The hardened OS baseline must be version-controlled and reproducible, with the build configuration, toolchain, and hardening steps documented so that any future update to the OS can be applied against the hardened baseline rather than requiring the entire hardening analysis to be repeated from scratch.