このセクションの内容:

はじめに

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

OWASP Top 10 について

OWASP Top 10: The 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
  • 適切な Security Compliance Pack ライセンスがある Parasoft Jtest

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

基本的な操作手順

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

OWASP Compliance アセット

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

OWASP Compliance.json 

このファイルは Extension Designer 用のカスタム ロジック フローです。Security Compliance Pack をインストールすると、Extension Designer ライブラリにこのフローが追加されます。サービスにフローを追加し、DTP インフラストラクチャにデプロイできます。   

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

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

  • OWASP Top 10-2017 [Parasoft 2021.2].properties 
  • OWASP API Security Top 10-2019 [Parasoft 2021.2].properties
  • UL 2900 [Parasoft 2021.2].properties

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

ダッシュボード テンプレートには定義済みのウィジェットが含まれており、プロジェクトについての具体的な情報をすぐに確認することができます。DTP のダッシュボードの詳細については、「ダッシュボード」を参照してください。ダッシュボード テンプレートに表示されるウィジェットの詳細については「OWASP ダッシュボードの追加」を参照してください。

  • owaspTop10-dotNET.json 
  • owaspTop10-Java.json
  • owaspAPITop10-dotNET.json
  • owaspAPITop10-Java.json

Security Compliance Pack には次のダッシュボード テンプレートが付属しており、これは CWE および OWASP コンプライアンスを表示するように構成されたウィジェットを含むます。 

  • UL 2900 - Java (ul2900-Java.json)
  • UL 2900 - .NET (ul2900-dotNET.json)

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

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

  • OWASP-Top10-dotNET.xml: この構成ファイルは、.NET プロジェクトに対して実行されるコード解析用に、OWASP コンプライアンス カテゴリを DTP インターフェイスで提供します。  
  • OWASP-Top10-Java.xml: この構成ファイルは、Java プロジェクトに対して実行されるコード解析用に、OWASP コンプライアンス カテゴリを DTP インターフェイスで提供します。 
  • OWASP-Top10-Score-dotNET.xml: この構成ファイルは、.NET プロジェクトに対して実行されるコード解析用に、OWASP スコア コンプライアンス カテゴリを DTP インターフェイスで提供します。 
  • OWASP-Top10-Score-Java.xml: この構成ファイルは、Java プロジェクトに対して実行されるコード解析用に、OWASP スコア コンプライアンス カテゴリを DTP インターフェイスで提供します。 
  • OWASP-API-Security-Top10-dotNET.xml: この構成ファイルは、.NET プロジェクトに対して実行されるコード解析用に、OWASP API コンプライアンス カテゴリを DTP インターフェイスで提供します。
  • OWASP-API-Security-Top10-Java.xml: この構成ファイルは、Java プロジェクトに対して実行されるコード解析用に、OWASP API コンプライアンス カテゴリを DTP インターフェイスで提供します。

モデルとプロファイル

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

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

  • owasp-top10-dotnet.json: このファイルは、.NET コード解析用の Extension Designer プロファイルです。規格に従って、OWASP の脆弱性に対する違反に値を割り当てます。 
  • owasp-top10-java.json: このファイルは、Java コード解析用の Extension Designer プロファイルです。規格に従って、OWASP の脆弱性に対する違反に値を割り当てます。
  • owasp-api-top10-java.json: このファイルは、Java コード解析用の Extension Designer プロファイルです。規格に従って、OWASP API の脆弱性に対する違反に値を割り当てます。 
  • owasp-api-top10-dotnet.json: このファイルは、.NET コード解析用の Extension Designer プロファイルです。規格に従って、OWASP API の脆弱性に対する違反に値を割り当てます。 
  • owasp-compliance.model.json: このファイルは owasp-top10-dottest.json プロファイルのモデル タイプを定義します。モデルとプロファイルの詳細については「モデル プロファイルの使用」を参照してください。

PDF の提供

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

  • OWASP_Top_10-2017.pdf

OWASP Compliance アセットのデプロイ

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

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

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

OWASP ダッシュボードの追加

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

ダッシュボード テンプレートは、Security Compliance Pack のインストールの一部として DTP 環境にデプロイされます。ダッシュボード テンプレートが表示されない場合は、DTP サービスを再開始してください (「DTP サービスの停止」および「DTP アプリケーションの開始」を参照)。

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

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

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

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

タイトルデフォルトのタイトルの代わりにダッシュボードに表示する新しいタイトルを入力します。
フィルタードロップダウン メニューから特定のフィルターまたはダッシュボード設定を選択します。詳細については「フィルターの作成と管理」を参照してください。
ターゲット ビルドドロップダウン メニューから特定のビルドを選択します。ダッシュボード全体について選択されたビルドがデフォルトで選択されます。ビルドの詳細については「ビルド管理の使用」を参照してください。 
コンプライアンス プロファイルコンプライアンス プロファイルを指定します (「プロファイルの設定」を参照)。コンプライアンス プロファイル データはコンプライアンス レポートで使用されます。
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 ウィジェット

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

OWASP Compliance - Status

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

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

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

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

CWE Compliance および Java または .NET の UL 2900 ダッシュボードを展開すると、CWE Compliance - Status ウィジェットも含まれます。

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 が開きます。

Java または .NET の UL 2900 ダッシュボードを展開すると、CWE Compliance - Percentage も含まれます。

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

OWASP Compliance - Weaknesses by Status

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

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

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

Java または .NET の UL 2900 ダッシュボードには、CWE Compliance - Weakness by Status ウィジェットも含まれています。

違反がないルール

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

Java または .NET の UL 2900 ダッシュボードをデプロイすると、CWE Compliance 対応の Rules in Compliance ウィジェットも含まれます。

Categories - Top 5 Table

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

Java または .NET の UL 2900 ダッシュボードをデプロイすると、CWE Compliance 対応の Categories - Top 5 Table ウィジェットが含まれます。

Rules - Top 5 Table

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

Violations by Weakness - Treemap

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

Java または .NET の UL 2900 ダッシュボードには、違反エクスプローラー を開く CWE のツリーマップ ウィジェットが含まれています。

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


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 アーティファクトに同梱のウィジェットを構成する際に、別のプロファイルを選択できます。

  • No labels