Parasoft OWASP Compliance アーティファクトは、OWASP コーディング ガイドラインへの準拠を証明できる、DTP インフラストラクチャのアセットの集合です。このアーティファクトは Security Compliance Pack for DTP 5.4.1 の一部として提供されています。Security Compliance Pack のダウンロードおよびライセンス情報については、Parasoft 製品テクニカル サポート センターまでお問い合わせください。 

このセクションの内容:

OWASP Top 10 について

OWASP Top 10: Ten Most Critical Web Application Security Risks (最も重大なウェブ アプリケーション リスク トップ 10) は、Web アプリケーションのセキュリティを確保するためのコーディング ガイドラインの集合です。OWASP Top 10 は、多くの組織に影響する最も重大な Web アプリケーションのセキュリティ リスクを特定することに特化しています。リスクごとに、OWASP Risk Rating Methodology (OWASP リスク格付手法) に基づいた格付けを用いて、OWASP は違反に起因するセキュリティ脆弱性の可能性およびその技術的インパクトについての情報を提供します。

一般的に受け入れられる命名規則を促進して混乱を避けるために、可能な限り、OWASP Top 10 のリスクの名称は Common Weakness Enumeration (CWE) の脆弱性に沿ったものになっています。 

OWASP Top 10 の詳細については https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project を参照してください。

このドキュメントは、OWASP Top 10 ガイドライン、CWE、および関連する用語について知識があることを前提とします。 

前提条件

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

  • 適切な Security Compliance Pack ライセンスがある Parasoft dotTEST 10.4.1 以降
  • Parasoft Jtest 10.4.x

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

基本的な操作手順

  1. OWASP Top 10 2017 テスト コンフィギュレーション (コード解析ツールに同梱) を使ってコードを解析し、DTP に違反をレポートします。このテスト コンフィギュレーションと rulemap.xml ファイル (ツールに同梱) は、OWASP ガイドラインに従って違反をレポートする解析ルールを構成します。
  2. Extension Designer を使って Security Compliance Pack (security-compliance-<version>.zip) をインストールします。このデプロイによって、DTP はコード解析データを処理しコンプライアンス成果物に出力することができます。
  3. OWASP Compliance ダッシュボードとウィジェットを DTP インターフェイスに追加します。このダッシュボードは、OWASP ガイドラインのコンテキストでレポートされた違反を表示します。
  4. ウィジェットとレポートを利用して、コンプライアンス目標を達成するために修正が必要なコードを特定します。

OWASP Compliance アセット

  • OWASP-Top10-dotTEST.xml: この構成ファイルは、dotTEST のコード解析結果用の OWASP に合わせたコンプライアンス カテゴリを DTP インターフェイスで提供します。 
  • OWASP-Top10-Jtest.xml: この構成ファイルは、Jtest のコード解析結果用の OWASP に合わせたコンプライアンス カテゴリを DTP インターフェイスで提供します。 
  • OWASP-Top10-Score-dotTEST.xml: この構成ファイルは、dotTEST のコード解析結果用の OWASP スコア コンプライアンス カテゴリを DTP インターフェイスで提供します。 
  • owaspTop10-dotTEST.json: このファイルは、dotTEST コード解析用の OWASP Top 10 2017 ダッシュボード テンプレートを追加します。ダッシュボードの詳細については「カスタム ダッシュボード テンプレート」を参照してください。 
  • owaspTop10-Jtest.json: このファイルは、Jtest コード解析用の OWASP Top 10 2017 ダッシュボード テンプレートを追加します。
  • owaspTop10Compliance.def.json: このファイルには OWASP 固有のウィジェット定義があります。 
  • OWASP Compliance.json: このファイルは Extension Designer 用のカスタム ロジック フローです。Security Compliance Pack をインストールすると、Extension Designer ライブラリにこのフローが追加されます。サービスにフローを追加し、DTP インフラストラクチャにデプロイできます。   
  • owasp-top10-dottest.json: 標準に従って OWASP 脆弱性の値を割り当てるプロファイルです。 
  • owasp-compliance.model.json: このファイルは owasp-top10-dottest.json プロファイルのモデル タイプを定義します。モデルとプロファイルの詳細については「モデル プロファイルの使用」を参照してください。

OWASP Compliance アセットのデプロイ

OWASP Compliance は、Security Compliance Pack の一部としてインストールされます (操作手順については「インストール」を参照してください)。アーティファクトをインストールした後、DTP 環境にアセットをデプロイする必要があります。

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

OWASP ダッシュボードの追加

Security Compliance Pack をインストールした後、dotTEST/Jtest のコード解析結果用に OWASP ダッシュボード テンプレートが追加されます。ダッシュボード テンプレートが表示されない場合、DTP サービスを再開始してください (「DTP サービスの停止」および「DTP サービスの開始」を参照)。

  1. DTP ツールバーから [ダッシュボードの追加] をクリックして名前を指定します。
  2. (オプション) 以下の情報を指定して、ダッシュボードのデフォルト ビューを設定できます:
    1. [フィルター] ドロップダウン メニューで、プロジェクトに関連するフィルターを選択します。フィルターは、DTP に格納されたデータをカスタマイズして表示できるラン コンフィギュレーション セットを表します。詳細については「DTP の概念」を参照してください。
    2. [期間] ドロップダウン メニューで時間の範囲を指定します。 
    3. [ベースライン ビルド] および [ターゲット ビルド] ドロップダウン メニューで、ビルド範囲を指定します。  
  3. [テンプレートからダッシュボードを作成] オプションを有効化し、ドロップダウン メニューから OWASP Top 10 2017 - .NET または Java テンプレートを選択します。
     
  4. [作成] をクリックしてダッシュボードの追加を完了します。

Jtest のコード解析結果用のダッシュボード テンプレートは、dotTEST のダッシュボード テンプレートとは異なります。それぞれのダッシュボードに表示されるウィジェットについては、「Jtest ダッシュボード」および「dotTEST ダッシュボード」を参照してください。

Jtest ダッシュボード

Jtest のダッシュボード テンプレートには、OWASP-Top10-Jtest.xml に従って OWASP 固有のコンプライアンス カテゴリに合わせて再配置されたネイティブの DTP ウィジェットがあります (「OWASP Compliance アセット」を参照)。 

OWASP Top 10 2017 - Compliance Widget

このウィジェットは、OWASP Top 10 2017 ガイドラインへのプロジェクトの準拠について、その概要を提供します。有効化されて成功した OWASP 対応ルールの数が表示されるほか、アプリケーションの重要度レベルに対する違反の数がレポートされます。特定の重要度レベルで違反がレポートされなかった場合、そのレベルの列は表示されません。リンクされるレポートを含め、ウィジェットの詳細については 「カテゴリ/重要度別のコンプライアンス」を参照してください。

違反がないルール

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

違反 - サマリーの傾向

このウィジェットは、DTP 標準の [違反 - サマリーの傾向] ウィジェットの実装です。現在ターゲット ビルド (デフォルトは最新ビルド) として設定されたビルドにおける違反の数を表示します。傾向の線によって、違反が増加しているのか減少しているのかについて、おおよその所を一目で把握できます。このウィジェットの詳細については「違反 - サマリーの傾向」を参照してください。

重要度 - 円

このダッシュボードには、標準の [重要度 - 円] ウィジェットのインスタンスがあります。Parasoft の重要度における違反の分布を表示します。このウィジェットの詳細については「重要度 - 円」を参照してください。

作成者 - 上位 5 棒

このダッシュボードには、標準の [作成者 - 上位 5 棒] ウィジェットのインスタンスがあります。コードの作成者における違反の分布を表示します。このウィジェットの詳細については「作成者 - 上位 5 棒」を参照してください。

カテゴリ - 上位 5 表

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

ルール - 上位 5 表

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

dotTEST ダッシュボード

dotTEST ダッシュボード テンプレートには、アーティファクトに同梱の OWASP 固有のウィジェットがあるほか、OWASP-Top10-dotTEST.xml ファイル (「OWASP Compliance アセット」を参照) で指定された OWASP コンプライアンス カテゴリを表示するように構成された DTP 標準のウィジェットがあります。 

OWASP Compliance - Risk

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

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

OWASP Compliance - Percentage

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

OWASP Compliance - Status

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

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

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

OWASP Compliance - Weaknesses by Status

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

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

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

OWASP Violations by Weakness - TreeMap

このウィジェットは、コンプライアンス別にグループ化した違反をツリー マップで表示します。各タイルは色分けされ、1 つのコンプライアンス カテゴリを表します。このウィジェットの設定方法については「Security Compliance Pack ウィジェットの構成」を参照してください。

違反がないルール

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

カテゴリ - 上位 5 表

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

ルール - 上位 5 表

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

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

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

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

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

OWASP Compliance レポートの表示

すべてのレポートは、dotTEST コード解析に関連するコンプライアンス データでのみ利用できます。メインの OWASP Compliance Report は、OWASP コンプライアンス ステータスの詳細を提供し、準拠を証明するための主要文書の役割を果たします。 

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

  • ドロップダウン メニューを使って脆弱性プロパティでソートします。
  • 違反エクスプローラー で違反を確認するには、[違反の数]、[コード内抑制]、[DTP 抑制] 列のリンクをクリックします。
  • [Weakness] 列のリンクをクリックして Weakness Detection Plan を開きます。脆弱性を検出する Parasoft コード解析ルールをレビューできるように、リンクから特定の脆弱性に直接移動します。 
  • OWASP Compliance サブ レポートの 1 つを開きます (Weakness Detection PlanDeviations ReportBuild Audit Report)。
  • プリンター印刷に適した PDF 形式のレポートをエクスポートするには、[Download PDF] をクリックします。

Weakness Detection Plan

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


Deviations Report

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

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

Deviations Report は、すべてのガイドラインの ID とヘッダーを表示しますが、抑制されたガイドラインには追加情報を表示します。[Only Deviations] オプションを有効化して、逸脱だけを表示することができます。

ビルド監査レポート

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

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

プロファイルの設定

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

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

モデル プロファイルは、dotTEST コード解析に関連するデータにのみ適用されます。 

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

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

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

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

  • No labels