Information Input Validation
LOW ✓ MODERATE ✓ HIGHRequirements NIST SOURCE
Check the validity of the following information inputs: [information inputs].
Discussion (NIST Supplemental Guidance)
Checking the valid syntax and semantics of system inputs—including character set, length, numerical range, and acceptable values—verifies that inputs match specified definitions for format and content. For example, if the organization specifies that numerical values between 1-100 are the only acceptable inputs for a field in a given application, inputs of "387,""abc," or "%K%" are invalid inputs and are not accepted as input to the system. Valid inputs are likely to vary from field to field within a software application. Applications typically follow well-defined protocols that use structured messages (i.e., commands or queries) to communicate between software modules or system components. Structured messages can contain raw or unstructured data interspersed with metadata or control information. If software applications use attacker-supplied inputs to construct structured messages without properly encoding such messages, then the attacker could insert malicious commands or special characters that can cause the data to be interpreted as control information or metadata. Consequently, the module or component that receives the corrupted output will perform the wrong operations or otherwise interpret the data incorrectly. Prescreening inputs prior to passing them to interpreters prevents the content from being unintentionally interpreted as commands. Input validation ensures accurate and correct inputs and prevents attacks such as cross-site scripting and a variety of injection attacks.
Enhancements NIST SOURCE
SI-10(1) Manual Override Capability LOW MODERATE HIGH
- (a) Provide a manual override capability for input validation of the following information inputs: [information inputs];
- (b) Restrict the use of the manual override capability to only [authorized individuals] ; and
- (c) Audit the use of the manual override capability.
Discussion
In certain situations, such as during events that are defined in contingency plans, a manual override capability for input validation may be needed. Manual overrides are used only in limited circumstances and with the inputs defined by the organization.
SI-10(2) Review and Resolve Errors LOW MODERATE HIGH
Review and resolve input validation errors within [organization-defined time period].
Discussion
Resolution of input validation errors includes correcting systemic causes of errors and resubmitting transactions with corrected input. Input validation errors are those related to the information inputs defined by the organization in the base control ( SI-10).
SI-10(3) Predictable Behavior LOW MODERATE HIGH
Verify that the system behaves in a predictable and documented manner when invalid inputs are received.
Discussion
A common vulnerability in organizational systems is unpredictable behavior when invalid inputs are received. Verification of system predictability helps ensure that the system behaves as expected when invalid inputs are received. This occurs by specifying system responses that allow the system to transition to known states without adverse, unintended side effects. The invalid inputs are those related to the information inputs defined by the organization in the base control ( SI-10).
SI-10(4) Timing Interactions LOW MODERATE HIGH
Account for timing interactions among system components in determining appropriate responses for invalid inputs.
Discussion
In addressing invalid system inputs received across protocol interfaces, timing interactions become relevant, where one protocol needs to consider the impact of the error response on other protocols in the protocol stack. For example, 802.11 standard wireless network protocols do not interact well with Transmission Control Protocols (TCP) when packets are dropped (which could be due to invalid packet input). TCP assumes packet losses are due to congestion, while packets lost over 802.11 links are typically dropped due to noise or collisions on the link. If TCP makes a congestion response, it takes the wrong action in response to a collision event. Adversaries may be able to use what appear to be acceptable individual behaviors of the protocols in concert to achieve adverse effects through suitable construction of invalid input. The invalid inputs are those related to the information inputs defined by the organization in the base control ( SI-10).
SI-10(5) Restrict Inputs to Trusted Sources and Approved Formats LOW MODERATE HIGH
Restrict the use of information inputs to [trusted sources] and/or [formats].
Discussion
Restricting the use of inputs to trusted sources and in trusted formats applies the concept of authorized or permitted software to information inputs. Specifying known trusted sources for information inputs and acceptable formats for such inputs can reduce the probability of malicious activity. The information inputs are those defined by the organization in the base control ( SI-10).
SI-10(6) Injection Prevention LOW MODERATE HIGH
Prevent untrusted data injections.
Discussion
Untrusted data injections may be prevented using a parameterized interface or output escaping (output encoding). Parameterized interfaces separate data from code so that injections of malicious or unintended data cannot change the semantics of commands being sent. Output escaping uses specified characters to inform the interpreter’s parser whether data is trusted. Prevention of untrusted data injections are with respect to the information inputs defined by the organization in the base control ( SI-10).
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-10 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
- information inputs to the system requiring validity checks are defined;
- the validity of the <SI-10_ODP information inputs> is checked.
Examine
[SELECT FROM: System and information integrity policy; system and information integrity procedures; access control policy and procedures; separation of duties policy and procedures; procedures addressing information input validation; documentation for automated tools and applications to verify the validity of information; list of information inputs requiring validity checks; system design documentation; system configuration settings and associated documentation; system audit records; system security plan; other relevant documents or records].
Interview
[SELECT FROM: Organizational personnel responsible for information input validation; organizational personnel with information security responsibilities; system/network administrators; system developer].
Test
[SELECT FROM: Mechanisms supporting and/or implementing validity checks on information inputs].
Overlays
STIGs & CCIs
No STIG checks or CCI mappings are currently loaded for SI-10. 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
- access control policy and procedures
- separation of duties policy and procedures
- system security plan
Configuration
- system design documentation
- system configuration settings and associated documentation
Testing
- Mechanisms supporting and/or implementing validity checks on information inputs
Other Records
- system and information integrity procedures
- procedures addressing information input validation
- documentation for automated tools and applications to verify the validity of information
- list of information inputs requiring validity checks
- system audit records
- other relevant documents or records