脆弱性イベントの分析

Contrastでは、アプリケーションの操作中に観察される情報を提供するために、脆弱性イベントが使用されます。これらのイベントには、脆弱性が検出されたコード内の正確な場所や、コードが使用された方法が含まれます。イベントにはいくつかの種類があります。

  • ソースイベント:ソースイベントは、対象範囲の開始点で発生します。ソースイベントのファイルと行番号を使用して、呼出しが行われた正確な場所を確認できます。そして、ソース内のスタックトレースを使用して、注目すべきメソッドがプログラムでどのように呼び出されているかを理解できます。メソッドに関連する全てのデータ(以下を含む)を表示することもできます。

    • オブジェクト: この呼出しを行っている基本のオブジェクトインスタンス(静的な呼出しでない場合)。

    • リターン: この呼出しから返されるオブジェクト(voidの場合はnull)。

    • パラメータ: この呼出しに渡されたオブジェクト。

  • プロパゲータイベント:各脆弱性には、1つ以上の伝播イベントがある可能性があります。これらのイベントには、ソースイベントと同じ情報が含まれていますが、データが伝播された方法を示すタイプも含まれます。例えば、P2Rプロパゲータイベントは、1つ以上のパラメータ("P2R"の"P")からデータを取得し、それをメソッドの戻り値("P2R"の"R")に転送します。

  • タグイベント:これらのイベントは、validatedやhtml-encodedなどのタグを脆弱性に追加します。これらのタグは、誤検知を排除し、見やすく信頼できる結果を得るのに役立ちます。また、他のイベントタイプと同様のコンテキスト情報も含まれます。タグイベントは脆弱性内で発生する場合がありますが、検出された脆弱性とは無関係です。

  • トリガーイベント:トリガーは脆弱性の最後のイベントです。トリガーとは、Contrast JVMプラグインのルールエンジンが分析を実行し、脆弱性を認識して、トレースを生成する呼出しです。

重要

Contrastでは、アプリケーションの実際の動作のみが検出されます。脆弱性が正当な問題でない場合、管理者は該当するポリシーを更新して、この問題が再び発生しないようにする必要があります。最もよく報告されている誤検知は、Contrastで認識されていないカスタム制御がアプリケーションにある場合です。

オンプレミス版のユーザは、Contrastポリシーで適切なタグリストに対するカスタムメソッド呼出しを登録できます。例えば、文字列を受け取ってHTMLエンコードされた文字列を返すカスタムのHTMLエンコードメソッドは、データにhtml-encodedのタグを追加します。