web-dev-qa-db-ja.com

IBM AppScanの誤検知

IBM AppScanを使用してWebサイトをスキャンしたところ、複数の脆弱性が報告されましたが、手動でテストすると、正確な問題を見つけることができません。

AppScanに表示されているBurp Suiteで同じリクエストを手動で渡すと、AppScanは脆弱性を見つけることができませんが、それらを見つけることができますか?.

4
Newbie1

考えられる答えは2つあります。

どちらか:脆弱性スキャナーは本質的に「ダム」である、つまり、事前構成されたロジックに基づいて動作しているため、内部に組み込まれたロジックを使用して何かが間違っている可能性があると推測しますスキャナーのコードと間違いをする可能性があります。

たとえば、スキャナーがヘッダー(またはその他)の特定の文字列をチェックしている場合は、一致するすべてのヘッダーの潜在的な問題にフラグが付けられます。これには、脆弱性/脆弱性が関連付けられていないヘッダーが含まれる場合があります。

スキャナーは一般に「明らかな」弱点を特定するのに非常に優れていますが、効果的(つまり、見逃しすぎない)であるためには、不足しているものと誤検知の報告のバランスをとる必要があります。私はIBMスキャナーに精通していません...誤検知の数を減らすようにスキャナーを構成できる場合があります(これにより、脆弱性を見逃すリスクが増加する場合と増加しない場合があります)。

Or:スキャナーの結果を確認するために使用されているプロキシ:

  • 利用可能な機能がありません(BURPの場合とは異なります)
  • データをキャプチャするように正しく構成されていない(新規ユーザーは完全に可能)
  • プロキシからのデータが正しく解釈されていません(脆弱性の複雑さとユーザーの知識によって異なります)
4
R15

単純な事実は、すべての自動化されたWebアプリケーションスキャンツールは、誤検知(存在しないときに問題を報告する)と誤検出(存在する問題を報告しない)の間にトレードオフがあり、2つのバランスを取る必要があることです。製品開発の一環として。

あなたが説明するような問題が一般的にコード化される方法は、/ etc/passwdへのディレクトリトラバーサルのリクエストを作成し、通常、passwdファイルに存在するものの応答で文字列を一致させることです。

したがって、単純なアプローチは、rootのようなものを探すことかもしれません。これは、passwdファイルでrootユーザーになる可能性がありますが、他のファイルでも発生する可能性があります。

スキャナーがより正確な文字列と一致できることをアドレス指定しますが、文字列が正確にpasswdファイルにない場合、検出結果を見逃す可能性があります。そのため、いくつかの文字列のセットに確率を割り当て、レポートする確率のレベルを決定できます。問題。

結局のところ、スキャンはすべての問題に対して100%正確ではありません。そのため、セキュリティテスターはまだ仕事をしています...

2
Rory McCune