web-dev-qa-db-ja.com

デフォルトのスキャナーでは特定できない種類の脆弱性は何ですか?

Webアプリケーションをテストしようとしている場合。

アプリケーションスキャナーがスキャンできない脆弱性の種類と、アプリケーションスキャナーが最も「力」でスキャンできない場所(たとえば、どのプロパティ内)ですか?

Vega、Nikto、Burpなどのスキャナー。

1
Shell

自動スキャナーは、特にすぐに使用できる構成では、せいぜい低いぶら下がり果物しか識別できません。カバーされる攻撃ベクトルの種類は、個々のツールによって異なります。

これにより、カバーされない広範囲の攻撃ベクトルが残ります。これは、おそらく次のカテゴリのいずれかに分類されます。

  • ビジネスロジックの脆弱性

    Security Scannerはビジネスロジックを理解していません。典型的な例は、チェックアウト時に攻撃者が価格を操作できるWebショップです。スキャナーは、この特定の値を変更すると、製品を販売する会社に損失が生じることを認識できません。


  • マルチステージの脆弱性

    一部の脆弱性は、実際にトリガーする前にいくつかの異なるステップを必要とします。特定の脆弱性を利用するためにアプリケーションを適切な状態にするために複数のステップを実行する必要がある場合、自動化スキャナーはおそらくそれを見逃します。 OAuthOpenID Connect のような複雑な認証および承認プロトコルもこのカテゴリに分類されます。それらを悪用するには、多くの場合、いくつかの複雑な手順が必要です。


  • コンプライアンス違反

    セキュリティの問題は、必ずしも純粋に技術的なものであるとは限りませんが、コンプライアンスによって引き起こされることもあります。検索フィルターを回避することにより、ユーザーが他のユーザーの [〜#〜] pii [〜#〜] を確認できる脆弱性を取り上げましょう。自動スキャナーはデータの性質を識別できず、このデータへのアクセスが [〜#〜] gdpr [〜#〜] への違反であることも認識していません。


  • セキュリティ設計原則に対する違反

    すぐには悪用できないセキュリティリスクがありますが、星が揃ったら攻撃の可能性を残します。それらは、しばしば無視されたセキュリティ設計原則から生じます。これは、最小特権の原則に違反する可能性があります。必要以上の権限を持つユーザーは、すぐにアプリケーションを危険にさらすことはできないかもしれませんが、適切な状況(たとえば、適切に定義されたアクセス制限でアクセスできないはずのAPIの0日)では、この過失は実際につながりますセキュリティ上の問題。スキャナーは、そのようなシナリオを予測したり、違反したセキュリティ原則を特定したりすることはできません。


  • ソースコードまたは構成へのアクセスを必要とする脆弱性

    多くのセキュリティスキャナーはブラックボックスアプローチを使用しています。彼らはシステムのソースコードや構成を知りません。この内部情報なしでは簡単に見逃される可能性があるため、セキュリティスキャナーでも見逃される可能性のあるさまざまな脆弱性があります。

このリストは必ずしも包括的なものではありません。主なメッセージは、現時点では自動的に検出できない問題がたくさんあるということです。したがって、セキュリティスキャナーを使用してアプリケーションのセキュリティを確認するだけでは、ほとんどのアプリケーションでは不十分です。

5
Demento

アプリケーションセキュリティの自動スキャナーに一般的に困難な課題がいくつかあります。これらは通常、検出に失敗するか、誤検知が発生する可能性があります。

  • さらにスキャンするための隠れたパラメーター検出
  • さらにスキャンするための非表示または比較的参照されているURL検出
  • 潜在的な誤検知から脆弱性を特定するためのビジネス/ロジックセキュリティへの影響。 CSRF攻撃の脅威は、この種の課題に属します。スキャナーには、パラメーターの特定の値が設定されている場合にのみ表示される脆弱性に関する問題もあります。