...
- Security Compliance Pack を DTP Extension Designer にインストールします。
- DTP 環境に CERT C Compliance アーティファクトをデプロイします。この操作は CERT C Compliance 拡張のアセット拡張アセット もデプロイします。
- SEI CERT C Standard テスト コンフィギュレーションを使って C/C++test でコードを解析し、違反を DTP にレポートします。ローカル テスト コンフィギュレーションまたは Security Compliance Pack に同梱のテスト コンフィギュレーションを使用するように C/C++test を設定できます。
- DTP インターフェイスに CERT C Compliance ダッシュボードおよびウィジェットを追加し、レポートされた違反を CERT C ガイドラインのコンテキストで確認します。
- ウィジェットとレポートを利用して、修正が必要なコードを特定したり、監査のためにレポートを出力したりします。
...
Parasoft 静的解析/テスト ツールまたは Security Compliance Pack に同梱のテスト コンフィギュレーションを実行するように C/C++test を設定できます。詳細については C/C++test のドキュメントを参照してください。Security Compliance Pack には以下のテスト コンフィギュレーションが含まれています。
...
Info | ||
---|---|---|
| ||
通常、Parasoft の静的解析およびフロー解析ルールは、カテゴリ (たとえばバグの可能性、相互運用性など) と 1 から 5 の重要度に従って違反をレポートします。CERT C ガイドライン違反としてコード解析違反を表示するために、DTP はルール マップ ファイルを必要とします。ルール マップ ファイルは、CERT C ガイドラインに従って違反をレポートするために Parasoft ルールを再編成します。さらに、コード解析ツール (C/C++test) は再マッピングされた CERT C ルールに関連するルールだけを実行するテスト コンフィギュレーション ファイルを必要とします。これらのファイルは C/C++test に同梱されています。 |
CERT Compliance アセットのデプロイ
...
SEI CERT C テスト コンフィギュレーションを使ってプロジェクトに対して C/C++test を実行したことがある場合、ダッシュボードを追加するとすぐに、ほとんどのウィジェットがデータを表示します。すぐにデータを使って作業できるため、コンプライアンス ゴールを追跡するのに役立ちます (「Viewing CERT C Compliance Widgetsウィジェットの表示」を参照)。
手動による CERT C ウィジェットの追加
...
タイトル | [タイトル] フィールドでウィジェット名を変更できます。この設定はすべてのウィジェットで可能です。 |
---|---|
フィルター | メニューから特定のフィルターまたはダッシュボード設定を選択します。詳細については「Configuring Filters」を参照してください。この設定はすべてのウィジェットで可能です。 |
ターゲット ビルド | メニューから特定のビルドを選択します。ダッシュボード全体について選択されたビルドがデフォルトで選択されます。ビルドの詳細については「Using Build Administration」を参照してください。この設定はすべてのウィジェットで可能です。 |
種類 | このルールはウィジェットで表示するガイドラインの種類を指定します。メニューから [ルール]、[レコメンデーション]、または [すべて] を選択します。ガイドラインの種類の詳細については「Background背景」を参照してください。この設定は以下のウィジェットで利用可能です:
|
レベル | このルールはウィジェットで表示する優先度レベルを指定します。メニューから L1、L2、または L3 を選択します。ガイドラインの優先度の詳細については「Background背景」を参照してください。この設定は以下のウィジェットで利用可能です:
|
コンプライアンス プロファイル | データの表示に使用するコンプライアンス プロファイルを指定します。ほとんどの場合、これは拡張に同梱されたデフォルト プロファイルにするべきです (「About the CERT Compliance Profileプロファイルについて」を参照)。この設定はすべてのウィジェットで可能です。 |
...
指定のビルドに、プロファイル に記述された Parasoft コード解析ルールが含まれていなかった場合、または許容できない違反がレポートされた場合、ステータスは Not Compliant に設定されます。すべてのルールが C/C++test で有効化されていることを確認し、解析を再実行してください。
...
CERT Compliance by Priority
このウィジェットは、DTP に付属する標準の Compliance By Category カテゴリ別コンプライアンス ウィジェットの実装です。コンプライアンスに準拠するルールの数と割合を、ルールのカテゴリ別に表示します。
...
Top 5 CERT Categories
このウィジェットは、DTP に付属する標準の Categories カテゴリ - Top 上位 5 Table表 Compliance ウィジェットの実装です。最も違反の多い CERT ガイドライン カテゴリを上位 5 つ表示します。
...
Top 5 CERT Guidelines
このウィジェットは、DTP に付属する標準の Categories カテゴリ - Top 上位 5 Table表 ウィジェットの実装です。最も違反の多い CERT ガイドラインを上位 5 つ表示します。
...
Table of Content Zone | ||||||
---|---|---|---|---|---|---|
| ||||||
Conformance Testing PlanConformance Testing Plan は、コンプライアンス プロファイルで指定された CERT ガイドラインを Parasoft 静的解析ルールと相互参照します。プロファイルを構成 することによって、プロジェクトの目標を達成するために重要度、可能性、修正コスト、および他の値を変更できます。 Deviation Report標準からの逸脱が文書化され、ソフトウェアの安全性に影響しない限り、コードは違反があっても CERT 準拠であることができます。逸脱とは、コード中で直接抑制されたコード解析ルール、または DTP の違反エクスプローラーで抑制されたコード解析ルールです。コード中で違反を抑制する方法については、Cコード中で違反を抑制する方法については、C/C++test のドキュメントを参照してください。DTP で違反を抑制する方法については、違反エクスプローラーのドキュメントの「違反の抑制」を参照してください。 CERT Compliance Report で Deviation Report リンクをクリックすると、Deviation Report が開きます。 Deviations Report は、すべてのガイドラインの ID とヘッダーを表示しますが、抑制されたガイドラインには追加情報を表示します。以下の操作を行うことができます。
ビルド監査レポートBuild Audit Report は DTP のネイティブ機能です。このレポートは、コード解析違反の概要を表示するほか、ビルドに関連したテスト結果とカバレッジ情報も表示します。また、データのアーカイブをダウンロードすることもできます。これは、定期的な監査で CERT への準拠を証明するために使用できるアーティファクトです。 アーカイブをダウンロードするには、ビルドがロックされていなければなりません。このレポートの詳細については「Build Audit Report」を参照してください。 |
...
必要に応じて、デフォルト プロファイルの複製を作成し、ソフトウェアの品質とコンプライアンスの目標を達成するために、Parasoft コード解析ルールと CERT C ガイドラインの相関関係を変更できます。
- Extension Designer を開き、[プロファイル] タブをクリックします。
- CERT Compliance モデルを展開し、SEI CERT C 2018 プロファイルを選択します。
- [プロファイルのエクスポート] をクリックして複製をダウンロードします。
- [プロファイルの追加] をクリックし、名前を入力します。
- [確認] をクリックして空のプロファイルを作成します。
- エクスポートしたデフォルト プロファイルの複製の名前を変更し、[プロファイルのインポート] を選択します。
- 複製を選択してアップロードします。
- [編集] をクリックして必要な変更を加えます。 をクリックして必要な変更を加えます。
- [保存] をクリックします。