Tamper Protection

Tamper protection encompasses physical and logical controls that detect, deter, and respond to unauthorized modification of mission hardware and software throughout the acquisition, transit, storage, integration, and operational phases of the mission lifecycle. Physical tamper protection requires inspection of hardware at defined custody transfer points to detect evidence of unauthorized access or modification, and requires the use of tamper-evident packaging and sealing mechanisms during shipping and receiving to ensure that any interference with equipment in transit is detectable upon arrival. Logical tamper protection addresses the integrity of software and firmware through layered techniques including code obfuscation, integrity checks that verify software has not been altered from its approved state, and runtime integrity monitoring mechanisms such as self-checking code. Watchdog processes may supplement these controls by detecting abnormal execution or failure to complete expected processing, but do not by themselves verify software integrity. Physical and logical tamper protections are complementary and should be applied together where warranted by system criticality, threat exposure, and lifecycle conditions. Physical access to hardware can enable logical tampering, while failure to verify software integrity can reduce the assurance provided by physical controls.

Sources

ID: CM0028
Tier: II
Onboard SV CM 
Created: 2022/10/19
Last Modified: 2026/08/06

Pre-Operations Government

Acquisition requirements should address both physical and logical tamper protection as distinct but related design and procedural requirements, with specifications covering tamper-evident packaging standards for shipment and receipt, physical inspection requirements at defined custody transfer points, and the software integrity mechanisms to be implemented in deliverable systems. Contract language should require contractors to document and implement tamper-evident handling and inspection procedures for hardware based on its criticality, custody exposure, and supply-chain risk. Inspection records should document required examinations for signs of tampering at designated receipt or custody-transfer points. Requirements for software tamper protection should specify the techniques to be employed, such as integrity checking, runtime monitoring, and obfuscation where appropriate, and should require that these mechanisms be verified through adversarial testing that attempts to modify software and confirms that the protection mechanisms detect and respond correctly. Flow-down provisions should require that subcontractors and suppliers apply equivalent tamper-evident handling and inspection procedures to components and assemblies before they are delivered to the prime contractor. Evaluation criteria should assess offerors' proposed tamper protection approaches for both hardware and software, their experience implementing runtime integrity monitoring in constrained embedded environments, and their procedures for handling and investigating discovered tampering evidence.

Pre-Operations Developer/Supplier

Physical tamper protection should be specified as a handling and logistics requirement from the earliest procurement planning activities, with tamper-evident sealing, packaging standards, and chain-of-custody documentation requirements defined before hardware begins moving through the supply chain. Inspection procedures at each custody transfer point should be documented, specifying what physical evidence of tampering is to be examined, who is authorized to conduct the inspection, and what actions are required if tampering is detected, including quarantine, forensic preservation, and escalation procedures. Software tamper protection mechanisms should be selected and architected during the system design phase, with the combination of techniques chosen based on the criticality of the software, the threat environment, and the computational constraints of the target platform. Runtime integrity monitoring mechanisms must be designed so that they do not adversely affect mission-critical timing, resource availability, or safety-related processing. The mechanisms, their configuration, and their integrity reference values must be protected from unauthorized modification or disablement. Code obfuscation, where applied, should be treated as a defense-in-depth measure that increases the effort required for adversarial analysis and modification. It does not establish software integrity and should not impede authorized maintenance, debugging, or verification.