建立自訂相符性原則

如果您有必要的許可權,就可以建立及刪除自己的自訂相符性原則。

自訂相符性原則是使用 JSON 表示式樹狀結構定義。這可能由單一基本表示式或具有邏輯運算 (And, Or, Not) 的多個表示式組成。每一個基本表示式都由一個預先定義的函數以及其參數(如果需要的話)所組成。您可以在建立相符性原則時設定參數值,或是使用 $ 保留未定義。當參數未定義時,會在將相符性原則與應用程式產生關聯時,要求使用者提供值。
註: 當建立要透過使用者介面使用的相符性原則時,您必須定義所有參數,否則無法與應用程式產生關聯。
建立自訂相符性原則的優點之一,即是參數可以寫入相符性原則中,讓使用者使用此相符性原則時,不需每次重複定義參數。例如,您可以使用預先定義的基準線相符性原則,建立一系列指定「開始日期」的自訂相符性原則。

預先定義的函數

下列預先定義的函數可以在您的相符性原則中使用:
函數 參數 說明
StartDate 以下列其中一個格式表示的日期(可包含時間):
  • yyy-MM-dd
  • yyyy-MM-ddThh:mmZ(世界標準時間)
  • 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 N/A 傳回由 OWASP 定義為前 10 名安全風險的問題。
SansTop25 N/A 傳回由 SANS Institute 定義為前 25 名嚴重錯誤的問題。
EUGdpr_2016 N/A 傳回讓應用程式不符 GDPR 規範的問題。
CWE CWE ID 的清單 傳回對應指定 CWE ID 的問題。
PCI N/A 傳回導致應用程式不符合 PCI 資料安全標準規範的問題。
HIPAA N/A 傳回讓應用程式不符 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:自訂 OWASP 前 10 大相符性原則將排除 CWE 89 和 90

    {
        "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" 
        ]
    } 
}