偽陽性
ウェブアプリの脆弱性スキャンの文脈では、誤検知は、セキュリティスキャナが、存在しない脆弱性を誤って特定した り、正当なアプリケーションの振る舞いをセキュリティ問題として報告したりする場合に発生します。誤検知は、適切に識別され、フィルタリングされなければ、誤解を招き、時間とリソースを浪費するかもしれません。
偽陽性を見分けるには?
- 設定の誤り:時々、セキュリティ・スキャナは、設定ミスを脆弱性とみなすことがある。報告された問題が誤検知かどうかを確認するために、コンフィギュレーション設定を手動でチェックしてください。
- カスタムコードとビジネスロジック:自動化されたスキャナは、アプリケーションのカスタムコードやビジネスロジックを完全に理解していない可能性があります。スキャナが意図した振る舞いを誤認した場合、誤検知が発生する可能性があります。これらの問題を特定するためには、手動テストとコードレビューが不可欠です。
- 入力バリデーションのバイパス:スキャナは多くの場合、SQL インジェクションやクロスサイト・スクリプティングのような一般的な脆弱性を、 ユーザの入力フィールドにペイロードを注入することでテストします。しかし、アプリケーションが強力な入力検証とサニテーションメカニズムを使用している場合、誤検知を引き起こす可能性があります。スキャナの結果を、アプリケーションの入力検証メカニズムとの関連でレビューしてください。
- 認証メカニズム:スキャナがログイン・ページや認証メカニズムに遭遇した場合、誤検出が報告されるかもしれません。実際には通常のアプリケーションの動作の一部であるにもかかわらず、これらを脆弱性として解釈する可能性があります。スキャナの設定を調整して認証を適切に処理するか、特定のパスをスキャン対象から除外してください。
- 動的コンテンツ:動的コンテンツやJavaScriptベースのインタラクションを持つウェブアプリケーションは、スキャナを混乱させ、誤検知につながる可能性があります。スキャン中にアプリケーションの動作を手動で検査することは、報告された脆弱性が正当なものであるかどうかを識別するのに役立ちます。
- 古い情報:セキュリティ・スキャナは脆弱性データベースに依存しており、情報が古いと誤検知を引き起こす可能性がある。スキャナが最新の脆弱性シグネチャとデータベースを使用していることを確認する。
偽陽性の効果的な対処法
- 手動による検証:報告された各脆弱性を手作業で検証し、その妥当性を確認する。これには、実際にセキュリティ上の問題があるかどうかを判断するために、影響を受けるコード、構成、または、動作を検査することが含まれる。
- スキャナ設定のカスタマイズ:Web アプリケーションの仕様に合わせてスキャナ設定を調整します。これには、認証の設定、特定のパスの除外、アプリケーションのテクノロジースタックに合わせたスキャナーのチューニングなどが含まれます。
- 定期的なアップデート:脆弱性スキャナとそのシグネチャを常に最新の状態に保ち、既知の脆弱性に関する最新情報を確実に入手できるようにする。
- コラボレーション:アプリケーションのロジックと振る舞いをよりよく理解するために、セキュリティ専門家と開発者のコラボレーションを促進する。このコラボレーションは、スキャン結果を正確に解釈し、偽陽性と本当の脆弱性を区別するのに役立ちます。
自動スキャンと手作業による検証およびコラボレーションを組み合わせることで、誤検出の発生を最小限に抑え、Web アプリケーションセキュリティ評価の全体的な精度を向上させることができます。
Aikido脆弱性スキャナーは、誤検知を自動的にトリアージします。重要な時だけアラートを受け取ることができます。無料でお試しください。
無料で始める
△GitHub、GitLab、Bitbucket、または Azure DevOps アカウントを接続すると、無料でリポジトリのスキャンを開始できます。
お客様のデータは共有されません - 読み取り専用アクセス