Software, Firmware, and Information Integrity
LOW ✓ MODERATE ✓ HIGHRequirements NIST SOURCE
Requirement Context
This element is part of SI-7 — Software, Firmware, and Information Integrity. See the Assessment section below for the related SP 800-53A examine/interview/test procedures. No engineering interpretation has been authored for this control yet.
Requirement Context
This element is part of SI-7 — Software, Firmware, and Information Integrity. See the Assessment section below for the related SP 800-53A examine/interview/test procedures. No engineering interpretation has been authored for this control yet.
Discussion (NIST Supplemental Guidance)
Unauthorized changes to software, firmware, and information can occur due to errors or malicious activity. Software includes operating systems (with key internal components, such as kernels or drivers), middleware, and applications. Firmware interfaces include Unified Extensible Firmware Interface (UEFI) and Basic Input/Output System (BIOS). Information includes personally identifiable information and metadata that contains security and privacy attributes associated with information. Integrity-checking mechanisms—including parity checks, cyclical redundancy checks, cryptographic hashes, and associated tools—can automatically monitor the integrity of systems and hosted applications.
Enhancements NIST SOURCE
SI-7(1) Integrity Checks LOW ✓ MODERATE ✓ HIGH
Perform an integrity check of [organization-defined software, firmware, and information][one of: at startup; at; ].
Discussion
Security-relevant events include the identification of new threats to which organizational systems are susceptible and the installation of new hardware, software, or firmware. Transitional states include system startup, restart, shutdown, and abort.
SI-7(2) Automated Notifications of Integrity Violations LOW MODERATE ✓ HIGH
Employ automated tools that provide notification to [personnel or roles] upon discovering discrepancies during integrity verification.
Discussion
The employment of automated tools to report system and information integrity violations and to notify organizational personnel in a timely matter is essential to effective risk response. Personnel with an interest in system and information integrity violations include mission and business owners, system owners, senior agency information security official, senior agency official for privacy, system administrators, software developers, systems integrators, information security officers, and privacy officers.
SI-7(3) Centrally Managed Integrity Tools LOW MODERATE HIGH
Employ centrally managed integrity verification tools.
Discussion
Centrally managed integrity verification tools provides greater consistency in the application of such tools and can facilitate more comprehensive coverage of integrity verification actions.
SI-7(4) Tamper-evident Packaging WITHDRAWN
Withdrawn. Incorporated into SR-9.
SI-7(5) Automated Response to Integrity Violations LOW MODERATE ✓ HIGH
Automatically [one of: shut down the system; restart the system; implement] when integrity violations are discovered.
Discussion
Organizations may define different integrity-checking responses by type of information, specific information, or a combination of both. Types of information include firmware, software, and user data. Specific information includes boot firmware for certain types of machines. The automatic implementation of controls within organizational systems includes reversing the changes, halting the system, or triggering audit alerts when unauthorized modifications to critical security files occur.
SI-7(6) Cryptographic Protection LOW MODERATE HIGH
Implement cryptographic mechanisms to detect unauthorized changes to software, firmware, and information.
Discussion
Cryptographic mechanisms used to protect integrity include digital signatures and the computation and application of signed hashes using asymmetric cryptography, protecting the confidentiality of the key used to generate the hash, and using the public key to verify the hash information. Organizations that employ cryptographic mechanisms also consider cryptographic key management solutions.
SI-7(7) Integration of Detection and Response LOW ✓ MODERATE ✓ HIGH
Incorporate the detection of the following unauthorized changes into the organizational incident response capability: [changes].
Discussion
Integrating detection and response helps to ensure that detected events are tracked, monitored, corrected, and available for historical purposes. Maintaining historical records is important for being able to identify and discern adversary actions over an extended time period and for possible legal actions. Security-relevant changes include unauthorized changes to established configuration settings or the unauthorized elevation of system privileges.
SI-7(8) Auditing Capability for Significant Events LOW MODERATE HIGH
Upon detection of a potential integrity violation, provide the capability to audit the event and initiate the following actions: [one of: generate an audit record; alert current user; alert; ].
Discussion
Organizations select response actions based on types of software, specific software, or information for which there are potential integrity violations.
SI-7(9) Verify Boot Process LOW MODERATE HIGH
Verify the integrity of the boot process of the following system components: [system components].
Discussion
Ensuring the integrity of boot processes is critical to starting system components in known, trustworthy states. Integrity verification mechanisms provide a level of assurance that only trusted code is executed during boot processes.
SI-7(10) Protection of Boot Firmware LOW MODERATE HIGH
Implement the following mechanisms to protect the integrity of boot firmware in [system components]: [mechanisms].
Discussion
Unauthorized modifications to boot firmware may indicate a sophisticated, targeted attack. These types of targeted attacks can result in a permanent denial of service or a persistent malicious code presence. These situations can occur if the firmware is corrupted or if the malicious code is embedded within the firmware. System components can protect the integrity of boot firmware in organizational systems by verifying the integrity and authenticity of all updates to the firmware prior to applying changes to the system component and preventing unauthorized processes from modifying the boot firmware.
SI-7(11) Confined Environments with Limited Privileges WITHDRAWN
Withdrawn from the catalog.
SI-7(12) Integrity Verification LOW MODERATE HIGH
Require that the integrity of the following user-installed software be verified prior to execution: [user-installed software].
Discussion
Organizations verify the integrity of user-installed software prior to execution to reduce the likelihood of executing malicious code or programs that contains errors from unauthorized modifications. Organizations consider the source of the software, ensuring the software and updates come from authorized sources and/or sites, and the practicality of approaches to verifying software integrity, including the availability of trustworthy checksums from software developers and vendors.
SI-7(13) Code Execution in Protected Environments WITHDRAWN
Withdrawn from the catalog.
SI-7(14) Binary or Machine Executable Code WITHDRAWN
Withdrawn from the catalog.
SI-7(15) Code Authentication LOW MODERATE ✓ HIGH
Implement cryptographic mechanisms to authenticate the following software or firmware components prior to installation: [software or firmware components].
Discussion
Cryptographic authentication includes verifying that software or firmware components have been digitally signed using certificates recognized and approved by organizations. Code signing is an effective method to protect against malicious code. Organizations that employ cryptographic mechanisms also consider cryptographic key management solutions.
SI-7(16) Time Limit on Process Execution Without Supervision LOW MODERATE HIGH
Prohibit processes from executing without supervision for more than [time period].
Discussion
Placing a time limit on process execution without supervision is intended to apply to processes for which typical or normal execution periods can be determined and situations in which organizations exceed such periods. Supervision includes timers on operating systems, automated responses, and manual oversight and response when system process anomalies occur.
SI-7(17) Runtime Application Self-protection LOW MODERATE HIGH
Implement [controls] for application self-protection at runtime.
Discussion
Runtime application self-protection employs runtime instrumentation to detect and block the exploitation of software vulnerabilities by taking advantage of information from the software in execution. Runtime exploit prevention differs from traditional perimeter-based protections such as guards and firewalls which can only detect and block attacks by using network information without contextual awareness. Runtime application self-protection technology can reduce the susceptibility of software to attacks by monitoring its inputs and blocking those inputs that could allow attacks. It can also help protect the runtime environment from unwanted changes and tampering. When a threat is detected, runtime application self-protection technology can prevent exploitation and take other actions (e.g., sending a warning message to the user, terminating the user's session, terminating the application, or sending an alert to organizational personnel). Runtime application self-protection solutions can be deployed in either a monitor or protection mode.
Implementation Guidance
Original engineering commentary written for this explorer — not NIST source text and not authoritative guidance.
No engineering interpretation has been authored for SI-7 yet. This section is architected to receive it — see the Requirements and Assessment sections above for the authoritative NIST source content in the meantime.
Assessment
Assessment Objectives
- software requiring integrity verification tools to be employed to detect unauthorized changes is defined;
- firmware requiring integrity verification tools to be employed to detect unauthorized changes is defined;
- information requiring integrity verification tools to be employed to detect unauthorized changes is defined;
- actions to be taken when unauthorized changes to software are detected are defined;
- actions to be taken when unauthorized changes to firmware are detected are defined;
- actions to be taken when unauthorized changes to information are detected are defined;
- integrity verification tools are employed to detect unauthorized changes to <SI-07_ODP[01] software>;
- integrity verification tools are employed to detect unauthorized changes to <SI-07_ODP[02] firmware>;
- integrity verification tools are employed to detect unauthorized changes to <SI-07_ODP[03] information>;
- <SI-07_ODP[04] actions> are taken when unauthorized changes to the software, are detected;
- <SI-07_ODP[05] actions> are taken when unauthorized changes to the firmware are detected;
- <SI-07_ODP[06] actions> are taken when unauthorized changes to the information are detected.
Examine
[SELECT FROM: System and information integrity policy; system and information integrity procedures; procedures addressing software, firmware, and information integrity; personally identifiable information processing policy; system design documentation; system configuration settings and associated documentation; integrity verification tools and associated documentation; records generated or triggered by integrity verification tools regarding unauthorized software, firmware, and information changes; system audit records; system security plan; privacy plan; other relevant documents or records].
Interview
[SELECT FROM: Organizational personnel responsible for software, firmware, and/or information integrity; organizational personnel with information security and privacy responsibilities; system/network administrators].
Test
[SELECT FROM: Software, firmware, and information integrity verification tools].
Overlays
STIGs & CCIs
No STIG checks or CCI mappings are currently loaded for SI-7. This section is architected to display, per product: STIG ID, Finding ID, Severity, Title, Description, Check, Fix, CCI, and NIST control mapping — but nothing is populated here until a real DISA STIG/CCI dataset is ingested.
Learn more about STIG/CCI integration →Evidence
Categorized from the SP 800-53A "Examine"/"Test" artifact list above by keyword — not an authoritative NIST evidence list.
Policy
- System and information integrity policy
- personally identifiable information processing policy
- system security plan
- privacy plan
Configuration
- system design documentation
- system configuration settings and associated documentation
Testing
- Software, firmware, and information integrity verification tools
Other Records
- system and information integrity procedures
- procedures addressing software, firmware, and information integrity
- integrity verification tools and associated documentation
- records generated or triggered by integrity verification tools regarding unauthorized software, firmware, and information changes
- system audit records
- other relevant documents or records