カスタム・コンプライアンス・ポリシーの作成

必要な権限があれば、独自のカスタム・コンプライアンス・ポリシーを作成したり削除したりできます。

カスタム・コンプライアンス・ポリシーを定義するには、JSON 式ツリーを使用します。式ツリーは、単一の基本式、または論理演算 (And, Or, Not) を含む複数の式で構成できます。各基本式は、事前定義された関数とそのパラメーター (必要な場合) から構成されます。パラメーター値は、コンプライアンス・ポリシーの作成時に設定することも、$ を使用して未定義のままにしておくこともできます。パラメーターを未定義にすると、ユーザーはコンプライアンス・ポリシーをアプリケーションに関連付けるときに値を指定する必要があります。
注: ユーザー・インターフェースで使用するコンプライアンス・ポリシーを作成する場合、すべてのパラメーターを定義する必要があります。そうしなければ、コンプライアンス・ポリシーをアプリケーションに関連付けることができません。
カスタム・コンプライアンス・ポリシーを作成する利点の 1 つは、パラメーターをコンプライアンス・ポリシーにハードコーディングできることです。その結果、ユーザーは毎回パラメーターを定義しなくてもコンプライアンス・ポリシーを使用できます。例えば、事前定義されたベースライン・コンプライアンス・ポリシーを使用して、開始日を指定した一連のカスタム・コンプライアンス・ポリシーを作成できます。

事前定義された関数

コンプライアンス・ポリシーでは、以下の事前定義された関数を使用できます。
関数 パラメーター 説明
StartDate 以下のいずれかの形式で日付を指定します (時刻を含めることもできます)。
  • yyy-MM-dd
  • yyyy-MM-ddThh:mmZ (UTC)
  • yyyy-MM-ddThh:mm+hh:mm (現地時間 +/- UTC オフセット)
指定された日付 (および時刻) 以降に検出された問題を返します。
例:
日付のみ
2018-04-24
UTC 時
2018-04-24T10:30Z
現地時間 +/- UTC オフセット
2018-04-24T11:30+01:00

2018-04-24T07:30-03:00

MinSeverity 以下の形式で重大度を指定します。
  • 情報
  • 重大
パラメーターに指定された重大度以上の問題を返します。
OwaspTop10_2017 該当なし OWASP でトップ 10 のセキュリティー・リスクとして定義されている問題を返します。
SansTop25 該当なし SANS Institute でトップ 25 の重大エラーとして定義されている問題を返します。
EUGdpr_2016 該当なし アプリケーションが GDPR に準拠しない原因となる問題を返します。
CWE CWE ID のリスト 指定された CWE ID に対応する問題を返します。
PCI 該当なし アプリケーションが PCI データ・セキュリティー基準に準拠しない原因となる問題を返します。
HIPAA 該当なし アプリケーションが HIPAA に準拠しない原因となる問題を返します。
Technology 有効な技術:
  • DAST
  • SAST
  • IAST
  • SCA
指定された技術に対応する問題を返します。

ユーザー・インターフェースを使用したカスタム・コンプライアンス・ポリシーの作成

カスタム・コンプライアンス・ポリシーを作成するには、次の手順を実行します。
  1. ダッシュボードで「コンプライアンス・ポリシー」をクリックし、「カスタム・コンプライアンス・ポリシーの追加」をクリックします。
  2. コンプライアンス・ポリシーに名前を付け、JSON 式として定義します。
    注: インターフェースを使用してコンプライアンス・ポリシーをアプリケーションに関連付ける予定の場合、コンプライアンス・ポリシーを関連付けるときにパラメーターを定義することはできないため、コンプライアンス・ポリシーの作成時にすべてのパラメーターを定義する必要があります。API を使用してコンプライアンス・ポリシーをアプリケーションに関連付ける予定の場合は、パラメーターを未定義のままにして、関連付ける際に値を定義できます。

    例 1: カスタム・ベースライン・コンプライアンス・ポリシー

    {  
                                    "Function":"StartDate",
                                    "Parameters":[  
                                    "2017-12-31T13:50Z"
                                    ]
                                    }
                                

    例 2: カスタム CWE コンプライアンス・ポリシー

    {  
                                        "Function":"CWE",
                                        "Parameters":[  
                                        89,
                                        90
                                        ]
                                        }
                                    

    例 3: 複合カスタム・コンプライアンス・ポリシー

    {  
                                            "Operation":"And",
                                            "Expressions":[  
                                            {  
                                            "Function":"StartDate",
                                            "Parameters":[  
                                            "2018-04-24T10:30Z"
                                            ]
                                            },
                                            {  
                                            "Function":"MinSeverity",
                                            "Parameters":[  
                                            "Medium"
                                            ]
                                            }
                                            ]
                                            }
                                        

    例 4: CWE 89 と 90 を除外するカスタム・コンプライアンス・ポリシー

    {
                                                "Operation": "Not",
                                                "Expressions": [
                                                {
                                                "Function": "CWE",
                                                "Parameters": [
                                                89,
                                                90
                                                ]
                                                }
                                                ]
                                                }
                                            

    例 5: CWE 89 と 90 を除外するカスタム OWASP トップ 10 コンプライアンス・ポリシー

    {
                                                    "Operation": "And",
                                                    "Expressions": [
                                                    {
                                                    "Operation": "Not",
                                                    "Expressions": [
                                                    {
                                                    "Function": "CWE",
                                                    "Parameters": [
                                                    89,
                                                    90
                                                    ]
                                                    }
                                                    ]
                                                    },
                                                    {
                                                    "Function": "OwaspTop10_2017"
                                                    }
                                                    ]
                                                    }
                                                

    例 6: 技術に基づいて問題をフィルタリングするカスタム・コンプライアンス・ポリシー

    {
                                                        "Function": "Technology",
                                                        "Parameters": [
                                                        "DAST",
                                                        "SAST"
                                                        ]
                                                        }
                                                    
  3. 完了したら、「閉じる」をクリックします。

REST API を使用したカスタム・コンプライアンス・ポリシーの作成

REST API では、式ツリーを使用してコンプライアンス・ポリシーを定義します。式ツリーは、単一の基本式、または論理演算 (And, Or, Not) を含む複数の式で構成できます。各基本式は、事前定義された関数とそのパラメーター (必要な場合) から構成されます。パラメーター値は、コンプライアンス・ポリシーの作成時に設定することも、$ を使用して未定義のままにしておくこともできます。パラメーターを未定義にすると、ユーザーはコンプライアンス・ポリシーをアプリケーションに関連付けるときに値を指定する必要があります。

例 1: カスタム・ベースライン・コンプライアンス・ポリシー

{
                "Name": "Baseline",
                "Predefined": true,
                "Expression": {
                "Function": "StartDate",
                "Parameters": [
                "$DATE"
                ]
                }
                }

例 2: カスタム CWE コンプライアンス・ポリシー

{
                "Name": "CWE policy",
                "Expression": {
                "Function": "CWE",
                "Parameters": [
                89,
                90
                ]
                }
                }

例 3: 複合カスタム・コンプライアンス・ポリシー

このカスタム・コンプライアンス・ポリシーの例では、関数 StartDateMinSeverity が演算 And で組み込まれており、指定された日付以降に検出され、指定された最小重大度の問題のみが含まれるようになっています。

  {
                "Name": "MyPolicy",
                "Predefined": false,
                "Expression": {
                "Operation": "And",
                "Expressions": [
                {
                "Function": "StartDate",
                "Parameters": [
                "2018-04-24T10:30Z"
                ]
                },
                {
                "Function": "MinSeverity",
                "Parameters": [
                "$minseverity"
                ]
                }
                ]
                }
                }
            

例 3: 技術に基づいて問題をフィルタリングするカスタム・コンプライアンス・ポリシー。DAST スキャンと SAST スキャンの問題のみがリスト表示されます。

{ 
                    "Name": "Tech Filter", 
                    "Expression": { 
                    "Function": "Technology", 
                    "Parameters": [ 
                    "DAST", 
                    "SAST" 
                    ]
                    } 
                    }