SI-10: Information Input Validation
Control Family:
CSF v1.1 References:
Threats Addressed:
Baselines:
- Low
N/A
- Moderate
- SI-10
- High
- SI-10
- Privacy
N/A
Previous Version:
- NIST Special Publication 800-53 Revision 4:
- SI-10: Information Input Validation
Control Statement
Check the validity of the following information inputs: [Assignment: organization-defined information inputs to the system].
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.
Control Enhancements
SI-10(1): Manual Override Capability
Baseline(s):
Provide a manual override capability for input validation of the following information inputs: [Assignment: organization-defined inputs defined in the base control (SI-10)]; Restrict the use of the manual override capability to only [Assignment: organization-defined authorized individuals]; and Audit the use of the manual override capability.
SI-10(2): Review and Resolve Errors
Baseline(s):
Review and resolve input validation errors within [Assignment: organization-defined time period].
SI-10(3): Predictable Behavior
Baseline(s):
Verify that the system behaves in a predictable and documented manner when invalid inputs are received.
SI-10(4): Timing Interactions
Baseline(s):
Account for timing interactions among system components in determining appropriate responses for invalid inputs.
SI-10(5): Restrict Inputs to Trusted Sources and Approved Formats
Baseline(s):
Restrict the use of information inputs to [Assignment: organization-defined trusted sources] and/or [Assignment: organization-defined formats].
SI-10(6): Injection Prevention
Baseline(s):
Prevent untrusted data injections.