静的分析のセキュリティー・テスト

静的分析のセキュリティー・テスト (SAST) は、プログラム内の潜在的なセキュリティー欠陥を特定するのに便利な方法です。

技術に違いはありますが、SAST ツールでは、プログラムのソース・コードを通じて潜在的にリスクのあるパスを示すセキュリティー警告を生成します。通常、リスクのあるパスはユーザー制御のデータを受信したあと、ソース・コードを通過してプログラム外に出ることが多く、購入を行うための Web サイト・フォームからデータベース・テーブルに侵入する例などが挙げられます。場合によっては、その逆もあります。データがデータベースからユーザーへ流れる場合です。

SAST ツールからは、攻撃を削除するためにユーザー・データが変更されなかった (サニテーション) 場合、または既知の適切な文字列リストとの照合 (検証またはホワイトリスト) が行われなかった場合に、セキュリティー警告または検出結果が表示されます。サニタイズや検証が行われなかった場合は、検出結果が潜在的な損傷としてフラグ付けされます。SAST ツールは、このように損傷している可能性のあるパスと検出結果をソース・コード内で検出しようとします。

SAST ツールでは、評価が徹底的に詳しく行われます。これはこのツールの強みでもあり、課題でもあります。1 つのプログラムで数千件が見つかることも珍しくなく、それらを包括的に確認するのは大きな負担です。これまでは、以下の 2 つの方法でこのような大量の結果を管理していました。
  • スキャンするプログラムの攻撃対象領域を減らす。これにより確認すべき結果の数は減りますが、重要な結果が見落とされるリスクが高まります。
  • 結果を確認する人員を増やす。

Intelligent Finding Analysis (IFA) では、SAST 評価からの大量の結果を管理するための新しいアプローチを提供しています。

IFA を利用するには、scan.ozsettings 内のプロパティー use_ifa"true" に設定されていることを確認します。