このセクションの内容:

はじめに

Parasoft OWASP Compliance アーティファクトは、OWASP コーディング ガイドラインへの準拠を証明できる、DTP インフラストラクチャのアセットの集合です。このアーティファクトは Security Compliance Pack の一部として提供されています。 

以下の OWASP 標準をサポートします。

  • OWASP Top 10 2021
  • OWASP API Security Top 10 2019

要件

以下のいずれかの Parasoft ツールからのコード解析データが必要です。

  • 適切な Security Compliance Pack ライセンスがある Parasoft dotTEST
  • 適切な Security Compliance Pack ライセンスがある Parasoft Jtest

前提条件の詳細については「Security Compliance Pack」を参照してください。

基本的な操作手順

  1. DTP Extension Designer に Security Compliance Pack をインストールします。
  2. DTP 環境に OWASP Compliance アーティファクトをデプロイします。
  3. OWASP テスト コンフィギュレーション (Security Compliance Pack に同梱) を使ってコードを解析し、DTP に違反をレポートします。
  4. OWASP Compliance ダッシュボードとウィジェットを DTP インターフェイスに追加します。このダッシュボードは、OWASP ガイドラインのコンテキストでレポートされた違反を表示します。
  5. ウィジェットとレポートを利用して、コンプライアンス目標を達成するために修正が必要なコードを特定します。

100% 準拠の達成

DTP は、Parasoft 静的解析ルールにマッピングされているすべての OWASP ガイドラインに対して 100% の準拠を報告します。

OWASP Compliance アセットのデプロイ

OWASP Compliance は、Security Compliance Pack の一部としてインストールされます (操作手順については「インストール」を参照してください)。

OWASP Compliance アセットをデプロイするには:

  1. DTP の設定メニュー (歯車のアイコン) から [Extension Designer] を選択します。
  2. [サービス] タブをクリックし、DTP ワークフロー サービス カテゴリを選択します。アセットはどのサービス カテゴリにもデプロイできますが、Parasoft のアセットのカテゴライズに合うように DTP ワークフロー カテゴリを使用することを推奨します。[カテゴリの追加] をクリックして独自のサービス カテゴリを作成することもできます (詳細については「サービスの使用」を参照)。
     
  3. 既存のサービスにアーティファクトをデプロイするか、新しいサービスを追加できます。サービスにデプロイしたアーティファクトの数は、全般的なパフォーマンスに影響します。詳細については「Extension Designer のベスト プラクティス」を参照してください。既存のサービスを選択し、ステップ 5 まで継続するか、または  [サービスの追加] をクリックします。
  4. サービスの名前を指定して [確認] をクリックします。
  5. タブ化されたインターフェイスは、サービス内でアーティファクトを配置するのに役立ちます。複数のタブにまたがってアーティファクトを配置してもシステムのパフォーマンスには影響しません。タブをクリックし (または [+] ボタンをクリックして新しいタブを追加し)、縦の三点メニューから [読み込み] を選択します。
  6. OWASP Security API Top 10 2019 の場合は、[ローカル] > [フロー] > [ワークフロー] > [Security] > [OWASP Compliance] に移動し、[インポート] をクリックします。
  7. OWASP Top 10 2021 の場合は、[ローカル] > [フロー] > [ワークフロー] > [Security] > [OWASP Compliance 2021] に移動し、[インポート] をクリックします。
  8. 空いている任意の箇所をクリックしてサービスにアーティファクトを追加します。
  9. [デプロイ] をクリックし、DTP 環境へのアーティファクトのデプロイを完了します。 
  10. DTP に戻ってダッシュボードをリフレッシュします。

これで、OWASP ダッシュボードおよびウィジェットを追加できるようになりました。

OWASP ダッシュボードの追加

OWASP ダッシュボード テンプレートを使用すると、OWASP コンプライアンスを監視する、あらかじめ構成されたウィジェット セットをすばやく追加できます。OWASP Compliance アーティファクトに同梱のプロファイルの一覧については「Dashboard Templates」を参照してください。 

ダッシュボード テンプレートは、Security Compliance Pack のインストールの一部として DTP 環境にデプロイされます。

  1. DTP ツールバーから [ダッシュボードの追加] をクリックして名前を指定します。
  2. [テンプレートからダッシュボードを作成] オプションを有効化し、ドロップダウン メニューからいずれかの OWASP テンプレートを選択します。
     
  3. [作成] をクリックしてダッシュボードの追加を完了します。

既存のダッシュボードに OWASP ウィジェットを手動で追加する 

アーティファクトに同梱された OWASP ウィジェットは、既存のダッシュボードに追加できます。ダッシュボードにウィジェットを追加する方法については「ウィジェットの追加」を参照してください。アーティファクトのデプロイ後、[ウィジェットの追加] ダイアログの [OWASP] または [OWASP 2021] カテゴリに OWASP ウィジェットが表示されます。

以下の設定を使用できます。

タイトルデフォルトのタイトルの代わりにダッシュボードに表示する新しいタイトルを入力します。
フィルタードロップダウン メニューから特定のフィルターまたはダッシュボード設定を選択します。詳細については「フィルターの作成と管理」を参照してください。
ターゲット ビルドドロップダウン メニューから特定のビルドを選択します。ダッシュボード全体について選択されたビルドがデフォルトで選択されます。ビルドの詳細については「ビルド管理の使用」を参照してください。 
コンプライアンス プロファイルコンプライアンス プロファイルを指定します (「Profile Configuration」を参照)。コンプライアンス プロファイル データはコンプライアンス レポートで使用されます。
Exploitability (悪用のしやすさ)API Security 2019 のみ。表示したい攻撃容易性カテゴリ (1 - 3) を選択します。詳細については OWASP ガイドラインを参照してください。OWASP Compliance - Weakness by Status ウィジェットにのみ適用されます。
Prevalence (弱点の蔓延度)API Security 2019 のみ。表示したい拡散度カテゴリ (1 - 3) を選択します。詳細については OWASP ガイドラインを参照してください。OWASP Compliance - Weakness by Status ウィジェットにのみ適用されます。
Detectability (弱点の検出しやすさ)API Security 2019 のみ。表示したい検出可能性カテゴリ (1 - 3) を選択します。詳細については OWASP ガイドラインを参照してください。OWASP Compliance - Weakness by Status ウィジェットにのみ適用されます。
Impact (技術面への影響)API Security 2019 のみ。表示したい影響レベル (1 - 3) を選択します。詳細については OWASP ガイドラインを参照してください。OWASP Compliance - Weakness by Status ウィジェットにのみ適用されます。

OWASP Compliance ウィジェット

この Compliance アーティファクトに同梱されているダッシュボード テンプレートのリストについては「Dashboard Templates」を参照してください。次のウィジェットは、1 つ以上のダッシュボードに含まれています。

OWASP Compliance - Status

このウィジェットは OWASP Compliance アーティファクトに含まれます。OWASP Top 10 への準拠の現在のステータスを表示します。

7 種類のステータスがあります。

  • No rules enabled (有効化されたルールなし): DTP にコード解析がレポートされていないか、または OWASP Top 10 テスト コンフィギュレーションが Jtest または dotTEST で実行されませんでした。
  • N/A: OWASP アセットがサービスにデプロイされていないか、サービスが実行されていません。「Deploying the OWASP Compliance Assets」を参照してください。  
  • Compliant With Deviations (逸脱があるが準拠): レポートされた違反は許容範囲であり、抑制されています。逸脱/抑制の詳細については「Deviations Report」を参照してください。
  • Compliant With Violations (違反があるが準拠): レポートされた違反は、重大なリスクを示すものではありません。
  • Compliant (準拠): 違反はまったくレポートされていません。抑制は適用されていません。 
  • Not Compliant (準拠していない): 重大なリスクを示す違反がレポートされました。 
  • Missing Rule(s) in Analysis (見つからないルールが解析に存在): プロファイル で文書化された Parasoft コード解析ルールが、指定のビルドに含まれていませんでした。すべてのルールが Jtest または dotTEST で有効化されていることを確認し、解析を再実行してください。

ウィジェットをクリックすると、OWASP Compliance Report が開きます。 

OWASP Compliance Risk Matrix

このウィジェットは OWASP Compliance アーティファクトに含まれます。悪用のしやすさおよび弱点の蔓延度のリスクごとに違反と逸脱の密度を表示します。

グラフのセルにマウス ポインタを置くと、指定のリスク レベルについて違反および抑制の数が表示されます。セルをクリックすると、リスクでフィルタリングされた OWASP Compliance Report が開きます。

OWASP Compliance - Risk

このウィジェットは OWASP Compliance アーティファクトに含まれます。OWASP 標準で定義されたリスクに従って違反の分布を示すグラフを表示します。

グラフのセルにマウス ポインタを置くと、指定のリスク レベルについて違反および抑制の数が表示されます。セルをクリックすると、リスクでフィルタリングされた OWASP Compliance Report が開きます。

OWASP Compliance - Percentage

このウィジェットは OWASP Compliance アーティファクトに含まれます。コードが準拠している OWASP 脆弱性の割合を表示します。ウィジェットをクリックすると、OWASP Compliance Report が開きます。

ウィジェットをクリックすると、CWE Compliance Report が開きます (詳細については CWE Compliance を参照)。

OWASP Compliance - Weaknesses by Status

このウィジェットは OWASP Compliance アーティファクトに含まれます。円グラフの赤い部分は、コードが準拠していない脆弱性を表します。緑の部分は、コードが準拠している脆弱性を表します。このウィジェットは、違反と逸脱の数も表示します。

以下の操作を行うことができます。

  • 円グラフ中をクリックすると、選択したステータスでフィルタリングされた OWASP Compliance Report が開きます。
  • Violations セクションをクリックすると、OWASP Compliance Report が開きます。
  • Deviations セクションをクリックすると、Deviations Report が開きます。 

Rules in Compliance

このウィジェットは、DTP 標準の [違反がないルール] ウィジェットの実装です。違反をレポートしていない (準拠している) OWASP 脆弱性にマッピングされた Parasoft ルールの割合を表示します。このウィジェットの詳細については「違反がないルール - サマリー」を参照してください。 

Categories - Top 5 Table

ダッシュボードは、OWASP Top 10 用に設定された [カテゴリ - 上位 5 表] ウィジェットのインスタンスを含みます。最も違反の多い OWASP カテゴリを上位 5 つ表示します。このウィジェットの詳細については「カテゴリ - 上位 5 表」を参照してください。

Rules - Top 5 Table

ダッシュボードは、OWASP Top 10 用に設定された [ルール - 上位 5 表] ウィジェットのインスタンスを含みます。最も違反の多い OWASP カテゴリにマッピングされた Parasoft ルールを上位 5 つ表示します。このウィジェットの詳細については「ルール - 上位 5 表」を参照してください。

Violations by Weakness - Treemap

このウィジェットは、脆弱性別にグループ化した違反をツリー マップで表示します。各タイルは色分けされ、OWASP ガイドラインの 1 つの脆弱性を表します。このウィジェットの設定方法については「Configuring Security Compliance Pack Widgets」を参照してください。

OWASP Compliance レポートの表示

メインの OWASP Compliance Report は、OWASP コンプライアンス ステータスの詳細を提供し、準拠を証明するための主要文書の役割を果たします。 

以下の操作を行うことができます。

  • ドロップダウン メニューを使って脆弱性プロパティでソートします。
  • 違反エクスプローラー で違反を確認するには、[違反の数] 列のリンクをクリックします。
  • 違反エクスプローラー で違反を確認するには、[逸脱の数] 列のリンクをクリックします。
  • [Weakness] 列のリンクをクリックして Weakness Detection Plan を開きます。脆弱性を検出する Parasoft コード解析ルールをレビューできるように、リンクから特定の脆弱性に直接移動します。 
  • OWASP Compliance サブ レポートの 1 つを開きます (Weakness Detection PlanDeviations ReportBuild Audit Report)。
  • プリンター印刷に適した PDF 形式のレポートをエクスポートするには、[Download PDF] をクリックします。「ナビゲーション バーへの画像の追加」で説明するように DTP にカスタム グラフィックを追加した場合、PDF にもカスタム グラフィックが表示されます。 

Weakness Detection Plan

Weakness Detection Plan は、OWASP ガイドラインを推進するために使用される静的解析ルールを表示し、各ガイドラインがどのように推進されているかを説明します。このレポートは、コンプライアンス プロファイルで指定されたデータを使用します (「Profile Configuration」を参照)。プロジェクトに関係する特定の問題をより反映するために、プロファイルで各脆弱性プロパティに関連する値を設定できます。  

Deviations Report

標準からの逸脱が文書化され、ソフトウェアの安全性に影響しない限り、コードは違反があっても OWASP 準拠であることができます。逸脱とは、コード中で直接抑制されたコード解析ルール、または DTP の違反エクスプローラーで抑制されたコード解析ルールです。コード中で違反を抑制する方法については、dotTEST または Jtest のドキュメントを参照してください。DTP で違反を抑制する方法については、違反エクスプローラーのドキュメントの「違反の抑制」を参照してください。

OWASP Compliance Report で Deviation Report リンクをクリックすると、Deviation Report が開きます。

Deviations Report は、すべてのガイドラインの ID とヘッダーを表示しますが、抑制されたガイドラインには追加情報を表示します。以下の操作を行うことができます。

  • [Only Deviations] オプションを有効化して、逸脱がない違反を非表示にします。
  • [Hide Modification History] オプションを有効化して、逸脱の変更履歴を非表示にします。

ビルド監査レポート

このレポートは、コード解析違反の概要を表示するほか、ビルドに関連したテスト結果とカバレッジ情報も表示します。また、データのアーカイブをダウンロードすることもできます。これは、定期的な監査で OWASP への準拠を証明するために使用できるアーティファクトです。

アーカイブをダウンロードするには、ビルドがロックされていなければなりません。このレポートの詳細については「ビルド監査レポート」を参照してください。  

プロファイルのカスタム設定

モデルとプロファイルは、DTP Enterprise Pack を有効にしてカスタムの計算とデータ処理タスクを実行するアセットです。モデルは、計算で使用される属性を定義し、プロファイルのテンプレートの役割を果たします。モデルとプロファイルの詳細については「モデル プロファイルの使用」を参照してください。 

OWASP Compliance アーティファクトには、Parasoft dotTEST および Jtest のコード解析結果用のデフォルトのモデルとプロファイルが同梱されています。モデル/プロファイルは、検出された脆弱性の攻撃容易性、拡散度、および検出可能性に値を割り当てます。また、Parasoft ルールを OWASP および OWASP API の脆弱性にマッピングするためのカテゴリ情報を持ちます。  

このプロファイルには、コンプライアンス レポートを生成するために必要な情報、および OWASP アーティファクトと共に出荷されたウィジェット内のデータを表示するために必要な情報が含まれています。ユーザー独自の目標を達成するためにガイドラインを再分類したい場合、または独自のレポート用に追加メタデータを指定したい場合、このプロファイルを変更できます。変更は Weakness Detection Plan で反映されます。

デフォルト プロファイルの複製を作成して複製を変更することを推奨します。

  1. [プロファイルのエクスポート] をクリックして複製をダウンロードします。
  2. 複製の名前を変更し、[プロファイルのインポート] をクリックします。
  3. 複製を選択してアップロードします。
  4. [編集] をクリックして変更を加えます。 
  5. [保存] をクリックします。

OWASP アーティファクトに同梱のウィジェットを構成する際に、別のプロファイルを選択できます。

OWASP Compliance アセット

以下のアーティファクトはパッケージに含まれており、Security Compliance Pack のインストール時に DTP 環境に追加されます。

テスト コンフィギュレーション

ツールに付属のテスト コンフィギュレーションまたは Security Compliance Pack と共にインストールされたテスト コンフィギュレーションを実行するようにツールを設定できます。詳細については、ご使用のツールのドキュメントを参照してください。この Compliance Pack には以下のテスト コンフィギュレーションが含まれています。

  • OWASP Top 10-2021
  • OWASP API Security Top 10-2019
  • UL 2900 (OWASP Top 10-2021 と CWE Top 25 + On the Cusp を組み合わせたもの)

ダッシュボード テンプレート

ダッシュボード テンプレートには定義済みのウィジェットが含まれており、プロジェクトについての具体的な情報をすぐに確認することができます。

  • OWASP Top 10 2021 - .NET
  • OWASP Top 10 2021 - Java
  • OWASP API Top 10 2019 - .NET
  • OWASP API Top 10 2019 - Java

Security Compliance Pack には次の UL 2900 ダッシュボード テンプレートが付属しており、これは CWE Top 25 + On the Cusp および OWASP Top 10 2021 コンプライアンスを表示するように構成されたウィジェットを含むます。  CWE と OWASP 2021 の両方のコンプライアンス アーティファクトをデプロイする必要があることに注意してください。 

  • UL 2900 - Java
  • UL 2900 - .NET

コンプライアンス カテゴリ

個々のコード解析ルールは、「セキュリティ」や「例外」といったカテゴリに属します。OWASP Compliance アーティファクトには、OWASP 固有のカテゴリ (つまり脆弱性タイプまたは影響) にコード解析ルールをマッピングするファイルが含まれています。以下のファイルで定義されたカテゴリに従って違反をレポートするようにウィジェットを構成して、OWASP カテゴリに従って違反を確認できます。 

  • OWASP Top 10 2021 - Java
  • OWASP Top 10 2021 - .NET
  • OWASP API Security Top 10 2019 - Java
  • OWASP API Security Top 10 2019 - .NET

モデルとプロファイル

プロファイルは、DTP インフラストラクチャでさまざまな機能を提供します。たとえば、拡張によって実行されるカスタム計算の入力や、コンプライアンス レポートのためのデータなどです。プロファイルはモデルからその構造を取ります。これはフィールド、ヘッダー、あるいはプロファイルで使用される他のコンポーネントを定義します。DTP Enterprise Pack のプロファイルの詳細については「モデル プロファイルの使用」を参照してください。

アーティファクトには以下のプロファイル ファイルが含まれています。

  • OWASP Top 10 2021 - Java
  • OWASP Top 10 2021 - .NET
  • OWASP API Security Top 10 2019 - Java
  • OWASP API Security Top 10 2019 - .NET

PDF の提供

Parasoft ルールと OWASP ガイドラインとの関連を示す PDF が次の場所に用意されています: <PACK>/rules/jtest および <PACK>/rules/dottest ディレクトリ

  • No labels