検証とエンコード

検証 とは、入力データの形式が正しいことを確認するためのチェック・プロセスです。検出結果 Validation.Required は、指定されたソースからシンクまでのデータ・パスで検証が発生しなかったことを示します。検証は、データを最大長以下に制限するような単純なものにすることも、完全な名前とアドレスをチェックするような複雑なものにすることもできます。また、検証は、SQL インジェクションなどの攻撃を可能にする不正な文字列を検出することによって攻撃を防ぐこともできます。

エンコード とは、データを正しい形式に変換するプロセスのことです。検出結果 Validation.EncodingRequired は、指定されたソースからシンクまでのデータ・パスでエンコードが発生しなかったことを示します。エンコードは、文字をエスケープするような単純なものにすることも、データを暗号化するような複雑なものにすることもできます。また、エンコードは、クロスサイト・スクリプティングなどの攻撃につながる文字をエスケープすることによって攻撃を防ぐこともできます。

最初にスキャンを実行すると、AppScan® ソースにより、検出結果が要注意セキュリティー検出結果として示されることがあります。特定のソースに適用される検証ルーチンまたはエンコード・ルーチンを作成した場合、ソースからデータを受信した後に、指定された検証ルーチンまたはエンコード・ルーチンを呼び出さないと、AppScan® Source for Analysis は、検出結果を確定 (要確認ではなく) として報告します。

評価は、プロジェクトを通して既知のソースからのデータを追跡します。既知のソースから既知のシンクへのデータを追跡可能な場合は、指定された検証ルーチンとエンコード・ルーチンが制限されていない入力データを使用した悪意のある攻撃が発生しないことを保証できます。