このセクションの内容:

CVE マッチを使用する理由

同じルールに対して同じ重大度の違反が多数 (あるいは少数) ある場合、どうすれば開発者はどの違反を優先すべきか分かるでしょうか。もっと注意を払うべき違反はどれでしょうか。一連の違反を調べているときに重大なセキュリティ問題をうっかり見逃さないようにするには、どうすればよいでしょうか。  

DTP は、上記のような疑問に直面している開発者を支援するために、違反に関連付けられた CVE マッチを推奨することができます。

CVE マッチとは?

CVE マッチとは、違反を含むメソッドのソースコードと既知のセキュリティ脆弱性を含むソースコードとの間の類似性を定量化する尺度 (0%~100%) です。この確率が高ければ高いほど、違反を含むメソッドにセキュリティ脆弱性が含まれている可能性が高くなります。

CVE マッチは、メソッド (または関数本体) 内で発見された違反に対してのみ計算できます。違反がメソッドの外部で発見された場合は計算できません。

CVE マッチを計算するために、CVE を含むコード サンプルでモデルを学習しました。Java モデルでは、400 を超える CVE がカバーされ、88 の異なる CWE を表します。これには、最も一般的な 18 の CWE が含まれますが、これらに限定されません。

CWE-20CWE-22CWE-74CWE-79CWE-89CWE-94
CWE-190

CWE-200

CWE-287CWE-352

CWE-400

CWE-444
CWE-502CWE-611CWE-770CWE-862CWE-863CWE-918

以下の図は、DTP、CVE マッチ モデル、OpenAI 埋め込み API がどのように連携するかを示しています。

属性

このモデルは、米国国立標準技術研究所 (National Institute of Standards and Technology) が提供する国家脆弱性データベース (National Vulnerability Database) から取得したデータと、GitHub 上の公開リポジトリから抽出したソースコード サンプルを使用して学習されました。

本製品は NVD API のデータを使用していますが、NVD が承認または認定しているものではありません。

サポートされるツール

CVE マッチは、Jtest の静的解析違反に対してのみ計算できます。C/C++test および dotTEST は現在サポートされていません。

要件

OpenAI の設定

違反の CVE マッチを計算するには、OpenAI の設定が必要です。詳細については「OpenAI での DTP の使用」を参照してください。

ソース コード ビューの設定

違反エクスプローラーでソースコードを表示するように DTP を設定する必要があります。詳細については「ソース コード ビューの設定の概要」を参照してください。

Jtest

Jtest の違反の CVE マッチを計算するには、次のいずれかの条件を満たす必要があります。

  1. Jtest は、機械学習用に詳細なメタデータを DTP に送信するように設定されています。この設定はデフォルトでは無効になっていますが、Jtest のテスト コンフィギュレーションの [静的解析の設定] タブの [詳細設定] で有効にすることができます。詳細については、https://docs.parasoft.com/ にある Jtest のドキュメントを参照してください。
  2. 静的解析に加えてメトリクス解析が実行され、両方のレポートが DTP に送信されます。メトリクス解析では、次のいずれかのメトリクスを有効にする必要があります。

OS の要件

古い Linux オペレーティング システム (CentOS 7.x 以前) では、CVE マッチ モデルに必要なライブラリが一部不足している可能性があります。このような状況では、CVE マッチを計算しようとすると、「CVE マッチ モデルがロードされていません。詳細についてはログを参照してください。」という内容のエラー メッセージが表示されることがあります。不足しているライブラリの詳細については、ログを確認してください。注意: このエラーは、不足している最初のライブラリに遭遇したときに発生します。複数のライブラリが不足している場合、このエラーが複数回発生する可能性があります。

Windows 上の CVE マッチ モデルでは、Microsoft Visual C++ 再頒布可能パッケージ (2019 以降) が必要です。Windows の更新プログラムを無効にしていない限り、このパッケージは既にシステムにインストールされているはずです。

CVE マッチの計算

違反の CVE マッチを計算するには、違反エクスプローラーで違反を選択し、[優先度] タブで [推奨の取得] をクリックします。

前提条件 が満たされている場合、CVE マッチが [推奨事項] セクションに追加されます。1 つ以上の前提条件が満たされていない場合、[推奨事項] ラベルの左側に情報アイコンが表示され、マウスポインターを合わせると詳細が表示されます。

注意: CVE マッチは OpenAI LLM API を使用しません。CVE マッチは、メソッド ソース コードの埋め込みの目的でのみ OpenAI 統合を使用します。埋め込み API の呼び出しコストは、LLM API の呼び出しよりもはるかに低くなります。DTP では、一度に 1 つの違反に対してのみ CVE マッチを計算できます。