このセクションの内容:
Parasoft CWE Compliance アーティファクトは、CWE (Common Weakness Enumeration : 共通脆弱性タイプ一覧) ガイドラインへの準拠を直ちに証明できる、DTP インフラストラクチャのアセットの集合です。このアーティファクトは Security Compliance Pack の一部として提供されています。ダウンロードおよびライセンス情報については Parasoft 製品テクニカル サポート センターまでお問い合わせください。
CWE Compliance アーティファクトは、以下の具体的な CWE 実装をサポートします。
サポートされている CWE ガイドラインの詳細については、以下のリンク先の情報を参照してください。
適切な Security Compliance ライセンスのある、以下のいずれかの Parasoft コード解析ツールが必要です。
以下のアーティファクトはパッケージに含まれており、Security Compliance Pack のインストール時に DTP 環境に追加されます。
これは、DTP のデータ処理機能を拡張する主要アセットであり、CWE ウィジェットとレポートを生成します。DTP ワークフローを使用するには、Extension Designer を使ってデプロイする必要があります (「Deploying the CWE Assets」を参照)。
ツールに付属のテスト コンフィギュレーションまたは Security Compliance Pack と共にインストールされたテスト コンフィギュレーションを実行するようにツールを設定できます。詳細については、ご使用のツールのドキュメントを参照してください。この Compliance Pack には以下のテスト コンフィギュレーションが含まれています。
C/C++test:
dotTEST:
Jtest:
Security Compliance Pack には、CWE および OWASP コンプライアンスのための次のテスト コンフィギュレーションが付属しています。
OWASP Compliance のドキュメントも参照してください。
ダッシュボード テンプレートには定義済みのウィジェットが含まれており、プロジェクトについての具体的な情報をすぐに確認することができます。DTP のダッシュボードの詳細については、「ダッシュボード 」を参照してください。ダッシュボード テンプレートに表示されるウィジェットの詳細については「Adding the CWE Dashboards」を参照してください。CWE Compliance アーティファクトには以下のテンプレート ファイルが含まれています。
C および C++ コードのダッシュボード:
.NET コードのダッシュボード:
Java コードのダッシュボード:
Security Compliance Pack には次のダッシュボード テンプレートが付属しており、これは CWE および OWASP コンプライアンスを表示するように構成されたウィジェットを含むます。
OWASP Compliance のドキュメントも参照してください。
プロファイルは、DTP インフラストラクチャでさまざまな機能を提供します。たとえば、拡張によって実行されるカスタム計算の入力や、コンプライアンス レポートのためのデータなどです。プロファイルはモデルからその構造を取ります。これはフィールド、ヘッダー、あるいはプロファイルで使用される他のコンポーネントを定義します。DTP Enterprise Pack のプロファイルの詳細については「モデル プロファイルの使用」を参照してください。CWE アーティファクトには以下のプロファイル ファイルが含まれています。
モデル:
C および C++ コードのプロファイル:
.NET コードのプロファイル:
Java コードのプロファイル:
個々のコード解析ルールは、「セキュリティ」や「例外」といったカテゴリに属します。CWE Compliance アーティファクトには、CWE 固有のカテゴリ (つまり脆弱性タイプまたは影響) にコード解析ルールをマッピングするファイルが含まれています。以下のファイルで定義されたカテゴリに従って違反をレポートするようにウィジェットを構成して、CWE カテゴリに従って違反を確認できます。
C および C++ コードのカテゴリ:
.NET コードのカテゴリ:
Java コードのカテゴリ:
DTP のルール カテゴリの詳細については「カスタム コンプライアンス カテゴリ」を参照してください。
この DTP ワークフローは、さらに計算を実行して CWE 特有のメトリクス データを提供します。KPI ワークフローはオプションであり、CWE Compliance アーティファクトに固有のものではありません。このワークフローを使用するには、このワークフローを DTP 環境にデプロイし、標準の [メトリクス - サマリー] ウィジェットのインスタンスをダッシュボードに手動で追加してデータを表示します。詳細については「Calculating Security Impact」を参照してください。
Parasoft ルールと CWE ガイドラインとの関連を示す PDF が以下の場所に用意されています:
Security Compliance Pack をインストールする際に CWE Compliance アセットはインストールされます (「インストール」を参照)。アーティファクトをインストールした後、DTP 環境にアセットをデプロイする必要があります。
これで、CWE ウィジェットを追加し、CWE コンプライアンス カテゴリを利用し、CWE レポートを確認できるようになりました。
CWE ダッシュボード テンプレートは、Security Compliance Pack をインストールした後に利用可能になります。ダッシュボード テンプレートが表示されない場合、DTP を再起動してください (「DTP サービスの停止」および「DTP アプリケーションの開始」を参照)。
DTP ビューに追加したい CWE ダッシュボードについて同じ操作を繰り返します。
対応する CWE テスト コンフィギュレーションを使ってコード解析ツールを実行したことがある場合、ダッシュボードを追加すると直ちにウィジェットにデータが表示されます。これらのウィジェットの使用をすぐに開始してデータを確認して作業できるため、コンプライアンス ゴールを追跡するのに役立ちます。
この Compliance アーティファクトに同梱されているダッシュボード テンプレートのリストについては「Dashboard Templates」を参照してください。次のウィジェットは、Security Compliance Pack に同梱されている 1 つ以上のダッシュボードに含まれています:
このウィジェットは、プロジェクトの全般的なコンプライアンス ステータスを表示します。結果を表示するために使用されるビルド ID とコンプライアンス カテゴリの設定が含まれます。
このウィジェットは以下のステータスを表示できます:
ウィジェットをクリックして CWE Compliance Report を表示します。
Java または .NET の UL 2900 ダッシュボードをデプロイすると、OWASP Top 10 の OWASP Compliance - Status ウィジェットも含まれます。
ウィジェットをクリックすると、OWASP Compliance Report が開きます (詳細については OWASP Compliance を参照)。
このウィジェットは、どの程度プロジェクトが CWE ガイドラインに準拠しているかを表示します。
ウィジェットをクリックして CWE Compliance Report を表示します。
Java または .NET の UL 2900 ダッシュボードを展開すると、OWASP Compliance - Percentage も含まれます。
ウィジェットをクリックすると、OWASP Compliance Report が開きます (詳細については OWASP Compliance を参照)。
このウィジェットは、成功、違反、逸脱 (抑制されたコード解析違反) のルール数を表示します。円グラフ中、緑の部分は成功のルールを、赤の部分は違反のルールを表します。ウィジェットには、結果を表示するために使用されるビルド ID とコンプライアンス カテゴリの設定も含まれています。
以下の操作を行うことができます。
Java または .NET の UL 2900 ダッシュボードには、OWASP Compliance - Weakness by Status ウィジェットも含まれています。
Java または .NET の UL 2900 ダッシュボードには、 OWASP Violation by Risk ウィジェットが含まれます。
このウィジェットの詳細については、OWASP Compliance のドキュメントを参照してください
ダッシュボードには、CWE ガイドラインに従って違反を表示するように構成された、 DTP 標準の [カテゴリ - 上位 5 表] ウィジェットのインスタンスが含まれます。
各インスタンスは、コンプライアンス カテゴリ構成に従ってデータを表示します (「Compliance Categories」を参照)。
[Name] 列のカテゴリ リンクをクリックすると、 [ルール別の違反] レポートが表示されます。5 以上のカテゴリに違反がある場合、[さらに表示] リンクをクリックすると、コンプライアンス カテゴリ別の違反 レポートが表示されます。
Java または .NET の UL 2900 ダッシュボードには、CWE および OWASP の Categories - Top 5 Table ウィジェットが含まれています。
UL 2900 ダッシュボード ウィジェットのリンクは、CWE ダッシュボード ウィジェットと同じレポートにリンクします。
ダッシュボードは、CWE 用に設定された DTP 標準の [違反がないルール - サマリー] ウィジェットのインスタンスを含みます。このウィジェットは、準拠しているルールの割合、準拠しているルールの数、有効なルール、および違反の数を表示します。ウィジェットをクリックすると、コンプライアンス カテゴリ別の違反 レポートが表示されます。
Java または .NET の UL 2900 ダッシュボードをデプロイすると、OWASP Compliance 対応の Rules in Compliance ウィジェットも含まれます。
ウィジェットをクリックすると、OWASP Compliance Report が開きます (詳細については OWASP Compliance を参照)。
ダッシュボードは、CWE 用に設定された DTP 標準の [カテゴリ別コンプライアンス] ウィジェットのインスタンスを含みます。このウィジェットは、コンプライアンス コンフィギュレーションのカテゴリごとに、コンプライアンスの状況の概要を表示します。
ウィジェットをクリックすると、 [ルール別の違反] レポートが表示されます。
このウィジェットは、技術的インパクトに従って静的解析違反の集中度合いを表示します。
ウィジェットのセクション上にマウス ポインタを置くと、その詳細が表示されます。ウィジェット上のセクションをクリックすると、コンプライアンス カテゴリでフィルタリングされた 違反エクスプローラー が開きます。
Java または .NET の UL 2900 ダッシュボードには、CWE および OWASP のツリーマップ ウィジェットが含まれています。両方のウィジェットが 違反エクスプローラー を開きます。
既存のダッシュボードに CWE ウィジェットを手動で追加できます。ダッシュボードにウィジェットを追加する方法については「ウィジェットの追加」を参照してください。アーティファクトをデプロイした後、ウィジェットが CWE カテゴリに表示されます。
タイトル | [タイトル] フィールドでウィジェット名を変更できます。 |
---|---|
フィルター | ドロップダウン メニューから特定のフィルターまたはダッシュボード設定を選択します。詳細については「フィルターの作成と管理」を参照してください。 フィルターは、選択した コンプライアンス プロファイル の種類 (Java、.NET、C++) に一致するデータを含む必要があります。たとえば、フィルターに .NET プロジェクトのコード解析データが含まれている場合は、.NET コンプライアンス プロファイルのいずれかを選択する必要があります。 |
ターゲット ビルド | ドロップダウン メニューから特定のビルドを選択します。ダッシュボード全体について選択されたビルドがデフォルトで選択されます。ビルドの詳細については「ビルド管理の使用」を参照してください。この設定はすべてのウィジェットで可能です。 |
コンプライアンス プロファイル | ドロップダウンメニューからコンプライアンス プロファイルを選択して、サポートされている 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 テスト コンフィギュレーションの実行の詳細については、ツールのドキュメントを参照してください。
このアーティファクトを使用するには、手動でデプロイする必要があります。
ウィジェットがダッシュボードに表示されます。
ウィジェットをクリックすると、単一メトリクスの概要 レポート が表示されます。
ブラウザーでリクエストを実行したり、cURL コマンドを使用したり、リクエストをスクリプトに追加したりすることができます。以下の表で必須パラメーターについて説明します。
filterId | 計算を実行するプロジェクトのフィルター ID。ダッシュボードの URL から素早くフィルター ID を取得できます。 また、DTP のフィルター設定からフィルター ID を取得することもできます (フィルターの作成と管理 を参照)。 |
---|---|
profile | ルールおよび計算用の重み付けを含むプロファイルの名前。セキュリティ影響度を計算するには、以下のいずれかのプロファイルを指定します。
プロファイルの名前は Extension Designer の [モデル プロファイル] タブから取得できます。 |
buildId | 計算を実行するビルド。ビルド ID を指定しない場合、このパラメーターのデフォルトは最新ビルドです。 |
http://framemaker.parasoft.com:8314/api/v1/services/5c0f0cae5d018e0630ae2789/slices/9acaecb1.7eb78?filterId=9&profile=CWE%20Security%20Impact%20-%20.NET |
{ "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」を参照してください。
解析するデータの量によっては、コア データを取得するために KPI の計測を複数回実行する必要があり、非常に時間がかかることがあります。したがって、KPI の計測の実行はビルド プロセスの一部として行うか、KPI スライスのトリガー ノードを使って手動で行うべきです。 |
CWE Compliance Report を使用すると、コンプライアンスを実証し、コンプライアンス ポリシーに向けた進捗状況をモニタリングできます。次の CWE ウィジェットは CWE Compliance Report にリンクしています。
このレポートには、レポートにアクセスするためにクリックしたウィジェットで設定されたビルド ID とフィルターのデータが含まれています。プロジェクトのコンプライアンス ステータスは、レポートにアクセスするためにクリックしたウィジェットで指定されたコンプライアンス プロファイル設定によっても決まります (「CWE Widget Configuration Settings」を参照)。
以下の操作を行うことができます。
Weakness Detection Plan は、どのように Parasoft コード解析ルールを脆弱性にマッピングするかを表示します。このレポートには選択したコンプライアンス プロファイルのデータが表示されます (「Models and Profiles」を参照)。
Deviation Report は、プロジェクトで抑制された違反についての情報を表示します。DTP での抑制の詳細については「違反の抑制」を参照してください。コード内での抑制については、ご使用の解析ツールのドキュメントを参照してください。
デフォルトでは、このレポートはすべてのガイドラインを表示しますが、[Only Deviations] オプションを有効化することで、関連する抑制がないガイドラインを除外できます。[Hide Modification History] オプションを有効化して、逸脱の変更履歴を非表示にすることもできます。
ビルド監査レポート は DTP のネイティブ機能です。このレポートは、コード解析違反の概要を表示するほか、ビルドに関連したテスト結果とカバレッジ情報も表示します。また、データのアーカイブをダウンロードすることもできます。これは、定期的な監査で CWE への準拠を証明するために使用できるアーティファクトです。
アーカイブをダウンロードするには、ビルドがロックされていなければなりません。詳細については「ビルド監査レポート」を参照してください。
プロファイルは、カスタム計算を可能にする追加の入力を提供します。Security Compliance Pack には、CWE 規格のコンテキストでデータを表示できるようにする一連のプロファイルが含まれています。CWE への準拠に使用されるプロファイルのリストについては「Models and Profiles」を参照してください。DTP が CWE データをレポートする方法をカスタマイズしたい場合、カスタム プロファイルを作成することができます。
デフォルト プロファイルは、CWE ガイドラインと Parasoft コード解析ルールの相関関係を示し、通常のほとんどの使用に適しています。
デフォルトの CWE プロファイルを変更しないことを強く推奨します。なぜなら、デフォルト プロファイルの変更は監査目的で生成するレポートに影響するからです。 |
必要に応じて、デフォルト プロファイルの複製を作成し、ソフトウェアの品質とコンプライアンスの目標を達成するために、Parasoft コード解析ルールと CWE ガイドラインの相関関係を変更できます。
Security Compliance Pack に付属する KPI アーティファクトには、次のプロファイルが含まれています。
プロファイルは、ビルドの KPI 値を計算するために、メトリクス解析ルールに重みを付けます。
通常のほとんどの使用にデフォルト プロファイルは適していますが、必要に応じて各メトリクス ルールの重みを変更できます。