Validation and encoding
Validation is the process of checking input data to ensure
that it is well-formed. A Validation.Required
finding
indicates that no validation occurred along a given data path from
source to sink. Validation can be as simple as bounding the data to
a maximum length and as complex as checking for well-formed names
and addresses. Validation can also check for attacks such as SQL Injection
by detecting illegal character sequences that enable these attacks.
Encoding is the process of transforming the data into a
well-formed state. A Validation.EncodingRequired
finding
indicates that no encoding occurred along a given data path from source
to sink. Encoding could be as simple as escaping characters or as
complex as encrypting the data. Encoding can also prevent attacks
such as Cross-Site Scripting by escaping the characters that lead
to these attacks.
When you first scan, AppScan® Source may identify a finding as a suspect security finding. When you create a validation or encoding routine that applies to a specific source, AppScan Source for Analysis reports the finding as definitive (instead of suspect) if the specified validation or encoding routine is not called after it receives data from the source.
Assessments track data from known sources throughout a project. If data can be tracked from a known source to a known sink, specified validation and encoding routines can ensure that a malicious attack could not occur with unbounded input data.