...
CWE Compliance アーティファクトは、以下の具体的な CWE 実装をサポートします。
- 2023 CWE Top 25 Most Dangerous Software Errors (Jtest と dotTEST) および 2022 CWE Top 25 Most Dangerous Software Errors (C/C++test)
- CWE List Version 4.10 13 (Jtest と dotTEST のみ)
- CWE Top 25 + On the Cusp
...
- DTP Extension Designer に Security Compliance Pack をインストールします。
- Extension Designer を使用して CWE Compliance アーティファクトをデプロイします。このアクションにより、CWE Compliance アセット も DTP 環境にデプロイされます。
- 使用しているコード解析ツールを DTP のプロジェクトに接続します。DTP 解析結果を相関させることができる設定 (すなわちビルド ビルド ID、ソース管理設定など) を行います。詳細については、ご使用のコード解析ツールのドキュメントを参照してください。 を行います。詳細については、ご使用の解析ツールのドキュメントを参照してください。
- いずれかの CWE テスト コンフィギュレーションを使って、コード解析ツールでプロジェクトを解析します。
- (オプション) 自動ビルド プロセスの一部として KPI ワークフローを実行して、CWE への準拠に関連するメトリクス データを生成します。
- DTP ダッシュボード テンプレート、ウィジェット、およびレポートを使って、セキュリティ標準への準拠をモニタリングします。
...
これは、DTP のデータ処理機能を拡張する主要アセットであり、CWE ウィジェットとレポートを生成します。DTP ワークフローを使用するには、Extension Designer を使ってデプロイする必要があります (「Deploying the CWE Assetsアセットのデプロイ」を参照)。
テスト コンフィギュレーション
ツールに付属のテスト コンフィギュレーションまたは Security Compliance Pack と共にインストールされたテスト コンフィギュレーションを実行するようにツールを設定できます。詳細については、ご使用のツールのドキュメントを参照してください。この Compliance Pack には以下のテスト コンフィギュレーションが含まれています。
...
dotTEST:
- CWE Top 25 + On the Cusp 20222023
- CWE Top 25 20222023
- CWE 4.1013
Jtest:
- CWE Top 25 + On the Cusp 20222023
- CWE Top 25 20222023
- CWE 4.1013
Security Compliance Pack には、CWE および OWASP コンプライアンスのための次のテスト コンフィギュレーションが付属しています。
...
ダッシュボード テンプレートには定義済みのウィジェットが含まれており、プロジェクトについての具体的な情報をすぐに確認することができます。DTP のダッシュボードの詳細については、「Dashboards 」を参照してください。ダッシュボード テンプレートに表示されるウィジェットの詳細については「Adding the CWE Dashboardsダッシュボードの追加」を参照してください。CWE Compliance アーティファクトには以下のテンプレート ファイルが含まれています。
...
- CWE Top 25 2022- C/C++
- CWE Top 25 2022+ On the Cusp - C/C++
.NET コードのダッシュボード:
- CWE 4.10 13 - .NET
- CWE Top 25 2022 2023 - .NET
- CWE Top 25 2022 2023 + On the Cusp - .NET
Java コードのダッシュボード:
- CWE 4.10 13 - Java
- CWE Top 25 2022 2023 - Java
- CWE Top 25 2022 2023 + On the Cusp - Java
Security Compliance Pack には次の UL 2900 ダッシュボード テンプレートが付属しており、これは CWE Top 25 + On the Cusp および OWASP Top 10 2021 コンプライアンスを表示するように構成されたウィジェットを含むます。 コンプライアンスを表示するように構成されたウィジェットを含むます。CWE と OWASP 2021 の両方のコンプライアンス アーティファクトをデプロイする必要があることに注意してください。
...
プロファイルは、DTP インフラストラクチャでさまざまな機能を提供します。たとえば、拡張によって実行されるカスタム計算の入力や、コンプライアンス レポートのためのデータなどです。プロファイルはモデルからその構造を取ります。これはフィールド、ヘッダー、あるいはプロファイルで使用される他のコンポーネントを定義します。DTP Enterprise Pack のプロファイルの詳細については「Working with Model Profiles」を参照してください。CWE アーティファクトには以下のプロファイル ファイルが含まれています。
モデル:
- CWE Compliance model (cwe-compliance.json)
- KPI model (KPI.json)
...
- CWE Security Impact - C++
- CWE Top 25 - C++
- CWE Top 25+Cusp - C++
.NET コードのプロファイル:
- CWE 4.10 13 - .NET profile
- CWE Security Impact - .NET profile
- CWE Top 25 - .NET profile
- CWE Top 25+Cusp - .NET
Java コードのプロファイル:
- CWE 4.10 13 - Java profile
- CWE Security Impact - Java profile
- CWE Top 25 - Java profile
- CWE Top 25+Cusp - Java
...
- CWE Top 25 - C++
- CWE Top 25+Cusp - Software Development - C++
- CWE Top 25+Cusp - C++
- CWE Top 25+Cusp - Technical Impact - C++
- CWE Top 25 - Software Development - C++
- CWE Top 25 - Technical Impact - C++
.NET コードのカテゴリ:
- CWE 4.10 13 - .NET
- CWE 4.10 13 - Software Development - .NET
- CWE 4.10 13 - Technical Impact - .NET
- CWE Top 25 - .NET
- CWE Top 25 - Software Development - .NET
- CWE Top 25 - Technical Impact - .NET
- CWE Top 25+Cusp - .NET
- CWE Top 25+Cusp - Technical Impact - .NET
- CWE Top 25+Cusp - Software Development - .NET
Java コードのカテゴリ:
- CWE 4.10 13 - Java
- CWE 4.10 13 - Software Development - Java
- CWE 4.10 13 - Technical Impact - Java
- CWE Top 25 - Java
- CWE Top 25 - Software Development - Java
- CWE Top 25 - Technical Impact - Java
- CWE Top 25+Cusp - Java
- CWE Top 25+Cusp - Technical Impact - Java
- CWE Top 25+Cusp - Software Development - Java
...
この DTP ワークフローは、さらに計算を実行して CWE 特有のメトリクス データを提供します。KPI ワークフローはオプションであり、CWE Compliance アーティファクトに固有のものではありません。このワークフローを使用するには、このワークフローを DTP 環境にデプロイし、標準の [環境にデプロイし、標準の メトリクス - サマリー] ウィジェットのインスタンスをダッシュボードに手動で追加してデータを表示します。詳細については「Calculating Security Impact ウィジェットのインスタンスをダッシュボードに手動で追加してデータを表示します。詳細については「セキュリティ上の影響の計算」を参照してください。
PDF の提供
Parasoft ルールと CWE ガイドラインとの関連を示す PDF が以下の場所に用意されています:
<PACK>/rules/jtest
<PACK>/rules/dottest
<PACK>/rules/cpptest
CWE アセットのデプロイ
Security Compliance Pack をインストールする際に CWE Compliance アセットはインストールされます (「インストール」を参照)。アーティファクトをインストールした後、DTP 環境にアセットをデプロイする必要があります。
- DTP の設定メニュー (歯車のアイコン) から [Extension Designer] を選択します。
- [サービス] タブをクリックし、DTP ワークフロー サービス カテゴリを選択します。アセットはどのサービス カテゴリにもデプロイできますが、Parasoft のアセットのカテゴライズに合うように DTP ワークフロー カテゴリを使用することを推奨します。[カテゴリの追加] をクリックして独自のサービス カテゴリを作成することもできます (詳細については「Working with Services」を参照)。
- 既存のサービスにアーティファクトをデプロイするか、新しいサービスを追加できます。サービスにデプロイしたアーティファクトの数は、全般的なパフォーマンスに影響します。詳細については「Extension Designer Best Practices」を参照してください。既存のサービスを選択し、ステップ 5 まで継続するか、または [サービスの追加] をクリックします。
- サービスの名前を指定して [確認] をクリックします。
- タブ化されたインターフェイスは、サービス内でアーティファクトを配置するのに役立ちます。複数のタブにまたがってアーティファクトを配置してもシステムのパフォーマンスには影響しません。タブをクリックし (または [+] ボタンをクリックして新しいタブを追加し アイコンをクリックして新しいタブを追加し)、縦の三点メニューから [読み込み] を選択します。
- [Local] > [Flows] > [Workflows] > [Security] > [CWE Compliance] を選択し、[読み込み] をクリックします。
- 空いている任意の箇所をクリックしてサービスにアーティファクトを追加します。
- [デプロイ] をクリックし、DTP ダッシュボードに戻ります。
- ブラウザーを更新します。
...
CWE ダッシュボード テンプレートは、Security Compliance Pack をインストールした後に利用可能になります。ダッシュボード テンプレートが表示されない場合、DTP を再起動してください (「Stopping DTP Services」および「Starting DTP Applications」を参照)。
- DTP ツールバーの [ダッシュボードの追加] をクリックして名前を指定します。
- (オプション) 以下の情報を指定して、ダッシュボードのデフォルト ビューを設定できます。
- [フィルター] ドロップダウン メニューから、プロジェクトに関連するフィルターを選択します。フィルターは、DTP に格納されたデータをカスタマイズして表示できるラン コンフィギュレーション セットを表します。詳細については「Creating and Managing Filters」を参照してください。
- [期間] ドロップダウン メニューで時間の範囲を指定します。
- [ベースライン ビルド] および [ターゲット ビルド] ドロップダウン メニューで、ビルド範囲を指定します。
- [テンプレートからダッシュボードを作成] オプションを有効にし、いずれかの を有効にし、関連するメニューからいずれかの CWE テンプレートを選択します。
- [作成] をクリックしてダッシュボードの追加を完了します。
...
この Compliance アーティファクトに同梱されているダッシュボード テンプレートのリストについては「Dashboard Templatesダッシュボード テンプレート」を参照してください。次のウィジェットは、Security Compliance Pack に同梱されている 1 つ以上のダッシュボードに含まれています:
...
ダッシュボードには、CWE ガイドラインに従って違反を表示するように構成された、 DTP 標準の [標準の カテゴリ - 上位 5 表] ウィジェットのインスタンスが含まれます。 ウィジェットのインスタンスが含まれます。
各インスタンスは、コンプライアンス カテゴリ構成に従ってデータを表示します (「Compliance Categoriesコンプライアンス カテゴリ」を参照)。
[Name] 列のカテゴリ リンクをクリックすると、[ルール別の違反] レポートが表示されます。5 レポートが表示されます。5 以上のカテゴリに違反がある場合、[さらに表示] リンクをクリックすると、Violations by Compliance Category レポートが表示されます。
Rules in Compliance
ダッシュボードは、CWE 用に設定された DTP 標準の [標準の 違反がないルール - サマリー] ウィジェットのインスタンスを含みます。このウィジェットは、準拠しているルールの割合、準拠しているルールの数、有効なルール、および違反の数を表示します。ウィジェットをクリックすると、 ウィジェットのインスタンスを含みます。このウィジェットは、準拠しているルールの割合、準拠しているルールの数、有効なルール、および違反の数を表示します。ウィジェットをクリックすると、Violations by Compliance Category レポートが表示されます。
...
Compliance by Category
ダッシュボードは、CWE 用に設定された DTP 標準の [標準の カテゴリ別コンプライアンス] ウィジェットのインスタンスを含みます。このウィジェットは、コンプライアンス ウィジェットのインスタンスを含みます。このウィジェットは、コンプライアンス コンフィギュレーションのカテゴリごとに、コンプライアンスの状況の概要を表示します。
ウィジェットをクリックすると、
[ウィジェットをクリックすると、 ルール別の違反] レポートが表示されます。 レポートが表示されます。
CWE Weakness by Technical Impact - TreeMap
...
タイトル | [タイトル] フィールドでウィジェット名を変更できます。 | ||||||
---|---|---|---|---|---|---|---|
フィルター | ドロップダウン メニューから特定のフィルターまたはダッシュボード設定を選択します。詳細については「Creating and Managing Filters」を参照してください。 フィルターは、選択した コンプライアンス プロファイル の種類 (Java、.NET、C++) に一致するデータを含む必要があります。たとえば、フィルターに .NET プロジェクトのコード解析データが含まれている場合は、.NET コンプライアンス プロファイルのいずれかを選択する必要があります。 | ||||||
ターゲット ビルド | ドロップダウン メニューから特定のビルドを選択します。ダッシュボード全体について選択されたビルドがデフォルトで選択されます。ビルドの詳細については「Using Build Administration」を参照してください。この設定はすべてのウィジェットで可能です。 | ||||||
コンプライアンス プロファイル
| ドロップダウンメニューからコンプライアンス メニューからコンプライアンス プロファイルを選択して、サポートされている CWE 固有のガイドラインの 1 つに対するコード解析データを表示します。以下のプロファイルのいずれかを選択できます。
コンプライアンス プロファイルの種類 (Java、.NET、C++) は、選択したフィルターのデータと一致する必要があります。たとえば、フィルターに .NET プロジェクトのコード解析データが含まれている場合は、.NET コンプライアンス プロファイルのいずれかを選択します。 |
CWE Compliance アーティファクトには、検出された脆弱性のセキュリティ上の影響を計算するために使用できるプロファイルが含まれています。この機能を利用するには、追加操作が必要です。詳細については「Calculating Security Impactセキュリティ上の影響の計算」を参照してください。
セキュリティ上の影響の計算
Key Performance Indicator (KPI) DTP ワークフローは、静的解析ルールに関連する KPI を定義します。ユーザーは結果を測定して数値化することができます。計算を実行するには、KPI 拡張のための静的解析データとメトリクス解析データがビルドになければなりません。コード解析ツールは、同じビルド ID で Metrics および CWE のテスト コンフィギュレーションを使用してすでに実行されているはずです。メトリクス解析には、Logical Lines of Code メトリクスの (metricId METRIC.NOLLOCIF
) のデータも含まれていなければなりません。ビルド ID の設定 Metrics テスト コンフィギュレーションの実行の詳細については、ツールのドキュメントを参照してください。
このアーティファクトを使用するには、手動でデプロイする必要があります。
- Extension Designer を開き、[サービス] タブをクリックします。
- サービス カテゴリから、KPI アーティファクトを実行するためのサービスを選択します。Parasoft のアセットのカテゴライズに合うように DTP ワークフロー カテゴリのサービスを使用することを推奨します。既存のサービスにアーティファクトをデプロイするか、新しいサービスを追加できます。サービスにデプロイしたアーティファクトの数は、全般的なパフォーマンスに影響します。
- タブ化されたインターフェイスは、サービス内でアーティファクトを配置するのに役立ちます。複数のタブにまたがってアーティファクトを配置してもシステムのパフォーマンスには影響しません。タブをクリックし (または [+] ボタンをクリックして新しいタブを追加し アイコンをクリックして新しいタブを追加し)、縦の三点メニューをクリックします。
- [読み込み] > [ライブラリ] > [Workflows] > [Security] > [Key Performance Indicator] を選択し、空いている任意の箇所をクリックしてサービスにアーティファクトをドロップします。
- [デプロイ] をクリックし、KPI アーティファクトがデプロイされるサービス カテゴリをクリックします。
- Key Performance Indicator セクションを展開し、エンドポイントをコピーします。Extension Designer はエンドポイント用の 2 種類のパスを表示します。API Endpoint Path は、すべての API ディレクトリを含みます。ほとんどの場合にエンドポイントを実行するために使用できます。Direct Endpoint Path は、サーバー上のエンドポイントへの直接のパスであり、API エンドポイント パスがブロックされていたりアクセス不能である場合 (たとえば認証を必要とするサード パーティとの統合などの場合) に使用できます。
- 必須パラメーターと共に、REST リクエストをエンドポイントに送ります。「Execution Details実行の詳細」を参照してください。
- DTP ダッシュボードを開き、[ウィジェットの追加] をクリックします。
- [メトリクス] > [メトリクス - サマリー] ウィジェットを選択します。
- [Metric] ドロップダウン メニューから CWE Security Impact/Logical Lines in Files を選択します。
- [集合] ドロップダウン メニューから、表示したいメトリクス集合を選択し、[作成] をクリックします。
ウィジェットがダッシュボードに表示されます。
...
filterId | 計算を実行するプロジェクトのフィルター ID。ダッシュボードの URL から素早くフィルター ID を取得できます。 また、DTP のフィルター設定からフィルター ID を取得することもできます (Creating and Managing Filters を参照)。 |
---|---|
profile | ルールおよび計算用の重み付けを含むプロファイルの名前。セキュリティ影響度を計算するには、以下のいずれかのプロファイルを指定します。
プロファイルの名前は Extension Designer の [モデル プロファイル] タブから取得できます。 |
buildId | 計算を実行するビルド。ビルド ID を指定しない場合、このパラメーターのデフォルトは最新ビルドです。 |
...
Code Block | ||||
---|---|---|---|---|
| ||||
{ "success":{ "title":"KPI", "message":"Calculation has started for filter 'CWE dotTEST' using profile 'CWE Security Impact - .NET'. Check debug output for any errors during calculation." } } |
デフォルトのプロファイル設定は CWE 標準に基づいていますが、プロファイルでルールを削除または追加したり、デフォルトの重み付けを変更したりできます。カスタム プロファイルを作成すると、目的ごとに異なる KPI を実行したり、ルールの異なるサブセットごとに異なるプロファイルを実行したりできます。カスタム KPI を計算する場合は、必要に応じてデフォルト プロファイルを保持し、カスタム プロファイルを Extension Designer にアップロードする必要があります。詳細については「Profilesプロファイル」を参照してください。
Info | ||
---|---|---|
| ||
解析するデータの量によっては、コア データを取得するために KPI の計測を複数回実行する必要があり、非常に時間がかかることがあります。したがって、KPI の計測の実行はビルド プロセスの一部として行うか、KPI スライスのトリガー ノードを使って手動で行うべきです。 |
...
このレポートには、レポートにアクセスするためにクリックしたウィジェットで設定されたビルド ID とフィルターのデータが含まれています。プロジェクトのコンプライアンス ステータスは、レポートにアクセスするためにクリックしたウィジェットで指定されたコンプライアンス プロファイル設定によっても決まります (「CWE Widget Configuration Settingsウィジェットの設定」を参照)。
以下の操作を行うことができます。
- 以下のいずれかのリンクをクリックしてサブ レポートを表示します。
- [Compliance] ドロップダウン メニューからステータスを選択して、現在のステータスで脆弱性をフィルタリングします。
- 列ヘッダーをクリックしてレポートをソートします。
- [Weakness] 列でリンクをクリックして、Weakness Detection Plan レポートの脆弱性に直接移動します。
- Violations Explorer で違反を確認するには、[# of Violations] 列のリンクをクリックします。
- Violations Explorer で違反を確認するには、[逸脱の数] 列の値をクリックします。
- プリンター印刷に適した PDF 形式のレポートをエクスポートするには、[Download PDF] をクリックします。「Adding a Custom Graphic to the Navigation Bar」で説明するように DTP にカスタム グラフィックを追加した場合、PDF にもカスタム グラフィックが表示されます。
...
Weakness Detection Plan は、どのように Parasoft コード解析ルールを脆弱性にマッピングするかを表示します。このレポートには選択したコンプライアンス プロファイルのデータが表示されます (「Models and Profilesモデルとプロファイル」を参照)。
Deviation Report
Deviation Report は、プロジェクトで抑制された違反についての情報を表示します。DTP での抑制の詳細については「違反の抑制」を参照してください。コード内での抑制については、ご使用の解析ツールのドキュメントを参照してください。
...
デフォルトでは、このレポートはすべてのガイドラインを表示しますが、[Only Deviations] オプションを有効化することで、関連する抑制がないガイドラインを除外できます。を有効化することで、関連する抑制がないガイドラインを除外できます。[Hide Modification History] オプションを有効化して、逸脱の変更履歴を非表示にすることもできます。 を有効化して、逸脱の変更履歴を非表示にすることもできます。
ビルド監査レポート
Build Audit Report は DTP のネイティブ機能です。このレポートは、コード解析違反の概要を表示するほか、ビルドに関連したテスト結果とカバレッジ情報も表示します。また、データのアーカイブをダウンロードすることもできます。これは、定期的な監査で CWE への準拠を証明するために使用できるアーティファクトです。
...
プロファイルは、カスタム計算を可能にする追加の入力を提供します。Security Compliance Pack には、CWE 規格のコンテキストでデータを表示できるようにする一連のプロファイルが含まれています。CWE への準拠に使用されるプロファイルのリストについては「Models and Profilesモデルとプロファイル」を参照してください。DTP が CWE データをレポートする方法をカスタマイズしたい場合、カスタム プロファイルを作成することができます。
...
必要に応じて、デフォルト プロファイルの複製を作成し、ソフトウェアの品質とコンプライアンスの目標を達成するために、Parasoft コード解析ルールと CWE ガイドラインの相関関係を変更できます。
- Extension Designer を開き、[プロファイル] タブをクリックします。
- CWE Compliance モデルを展開して、いずれかのプロファイルを選択します。
- [プロファイルのエクスポート] をクリックして複製をダウンロードします。
- [プロファイルの追加] をクリックし、名前を入力します。
- [確認] をクリックして空のプロファイルを作成します。
- エクスポートしたデフォルト プロファイルの複製の名前を変更し、[プロファイルのインポート] を選択します。
- 複製を選択してアップロードします。
- [編集] をクリックして必要な変更を加えます。
- [保存] をクリックします。
CWE KPI プロファイル
Security Compliance Pack に付属する KPI アーティファクトには、次のプロファイルが含まれています。
...
通常のほとんどの使用にデフォルト プロファイルは適していますが、必要に応じて各メトリクス ルールの重みを変更できます。
- Extension Designer を開き、[プロファイル] タブをクリックします。
- KPI モデルを展開し、プロファイルを選択します。
- [プロファイルのエクスポート] をクリックして複製をダウンロードします。
- [プロファイルの追加] をクリックし、名前を入力します。
- [確認] をクリックして空のプロファイルを作成します。
- エクスポートしたデフォルト プロファイルの複製の名前を変更し、[プロファイルのインポート] を選択します。
- 複製を選択してアップロードします。
- [編集] をクリックして必要な変更を加えます。
- [保存] をクリックします。