利用過濾器分類

AppScan® Source for Analysis 會報告所有潛在的安全漏洞,對於中型到大型程式碼庫,可能會產生數千個發現項目。掃描時,您可能會看到發現項目清單包含無關緊要的項目。如果要從「發現項目」視圖中移除特定發現項目,您可以選擇預先定義的過濾器,也可以建立自己的過濾器。過濾器用來指定一些準則,以決定要從視圖中移除哪些發現項目。

過濾器概觀

過濾器會移除或限制符合過濾器規則所決定之準則的項目,並協助您在分類或產生報告期間管理掃描結果。過濾器有助於引導工作流程,使安全分析師能夠集中精力來處理發現項目子集的最重要的區域。例如,在檢查程式碼期間,分析師可以建立一個過濾器來避免檢視嚴重性低的發現項目。另外,分析師也可能偏好排除系統程式庫 include 檔案中的漏洞。過濾器可以從視圖中刪除這些項目,也可以排除個別檔案或先前調查的檔案。

可在掃描之前或之後套用過濾器:

  • 如果要在掃描之前套用過濾器,請在專案或應用程式內容中設定廣域過濾器 - 或者,您可以使用包含過濾器的掃描配置來進行掃描。當您在掃描之前套用過濾器時,無法顯示未過濾的發現項目,或沒有重新掃描就移除過濾器。
  • 各種視圖(尤其是「過濾器編輯器」視圖)可讓您在掃描之後套用過濾器。當這些視圖用於過濾時,所有過濾的項目都會保留在掃描結果中,唯有選取顯示過濾的發現項目顯示過濾的發現項目圖示)切換之後,它們才會出現在「發現項目」視圖中。

AppScan® 來源 包含數個預先定義的過濾器,可選取它們來過濾掃描結果。

有了過濾器,您就可以設定內容,使過濾器成為排除項目。排除項目會影響掃描,刪除所有符合過濾器的發現項目,或刪除所有不符合過濾器的發現項目。

過濾器規則

每個過濾器都由若干規則組成,這些規則定義發現項目表格中的結果要限制(併入)或移除(排除)哪些發現項目(如果是追蹤規則,您可以根據追蹤內容同時限制及移除)。

  • 限於規則(併入規則)會排除沒有指定準則的發現項目,且會從發現項目表格的可見結果中移除這些發現項目。
  • 移除規則(排除規則)會從掃描結果中,移除包含準則的發現項目。移除規則會排除任何具有指定準則的發現項目,且會從可見結果中移除這些發現項目。

過濾器規則可能包含下列特點:

  • 嚴重性:指出個別發現項目的潛在影響或風險。嚴重性規則是「僅限制」。
    • :造成資料在機密性、完整性或可用性方面的風險,以及/或造成處理資源在完整性或可用性方面的風險。高度嚴重性狀況應該優先立即補救。
    • :造成資料安全和資源完整性的風險,但在此狀況下遭到攻擊的機率較低。中度嚴重性狀況應該儘可能檢查及補救。
    • :造成最低的資料安全或資源完整性風險。
    • 參考資訊:發現項目本身不容易產生危害。它說明程式碼中使用的技術、架構性質或安全機制。
  • 分類:根據這個主題所說明的分類來過濾發現項目。分類規則是「僅限制」。
  • 漏洞類型:依特定漏洞種類來過濾,例如 BufferOverflow。當您新增漏洞類型時,您可以從所有可能的漏洞類型中選取,也可以只從在現行評量中找到的類型中選擇。如果要從現行評量中所找到的漏洞類型中選擇,請在「選取值」對話框中,選取只顯示已開啟評量中的值

    當您建立過濾器供未來的掃描使用時,從所有可能的漏洞類型中選取很有用。如果要顯示所有漏洞類型,請取消選取只顯示已開啟評量中的值(如果沒有已開啟的評量,依預設,會顯示所有漏洞類型,只顯示已開啟評量中的值勾選框無法使用)。

  • API:過濾特定 API 的所有漏洞。
  • 檔案:過濾特定檔案中的所有漏洞。
  • 目錄:過濾特定目錄中的所有漏洞。
  • 專案:過濾特定專案中的所有漏洞。
  • 追蹤:可讓您根據追蹤內容來過濾發現項目(請參閱來源和接收槽,以進一步瞭解追蹤內容)。過濾器可包括根據追蹤內容而同時限制及移除的追蹤規則。當您按一下任一區段(限制或移除)的新增時,將會開啟「追蹤規則項目」對話框。在這裡,您可以指定:
    • 來源:在「來源」區段的 API RegEx 欄位中,指定追蹤來源或涵蓋多重來源的正規表示式(預設項目是 .* - 將會傳回全部的正規表示式或萬用字元)。如果您使用正規表示式,請在正規表示式類型欄位功能表中選取類型(預設正規表示式類型是 PERL)。如果沒有使用正規表示式,請在正規表示式類型欄位功能表中選取完全相符

      如果 API RegEx 項目是有效的表示式,欄位旁會出現一個綠色勾號圖示。如果項目不是有效的表示式,欄位旁會出現一個紅色 X 圖示,對話框的確定按鈕會停用。將游標停在任一圖示上,會提供驗證結果的相關資訊。如果您建立的不是有效表示式的項目,但想要繼續使用它,請選取對話框底端的忽略上述的驗證錯誤勾選框。如此便能啟用對話框的確定按鈕(只要表示式不是空白),無效表示式旁的圖示也會變成綠色勾號,浮動說明為已停用驗證

      您也可以使用「來源內容」區段中的新增 VMAT 內容按鈕,依機制或技術來精簡過濾器(以下提供 VMAT 內容的相關資訊)- 不過,使用此特性來依漏洞限制,不會達到想要的效果,因為漏洞類型是由接收槽決定,而非來源。

    • 接收槽:在「接收槽」區段中,您可以依照指定來源的相同方式,新增接收槽作為過濾器。

      您可以精簡過濾器,將它限制於特定的漏洞類型(將追蹤規則項目的效果僅限於特定類型的漏洞、機制或技術)。如果要這麼做,請按一下「接收槽內容」區段中的新增 VMAT 內容按鈕,然後在「選擇內容」對話框中選取內容。內容清單可以利用過濾器欄位來過濾。

      VMATAppScan® 來源 套用於應用程式設計介面 (API) 的四個主要內容類型的分類。VMAT 內容種類包括:

      • 漏洞:會造成安全違規的不當使用或攻擊方向類型
      • 機制:用來防止漏洞的安全控制
      • 屬性:在「選擇內容」對話框中,目前無法使用這些內容
      • 技術:API 提供之功能類型的一般說明

      過濾器範例:如果要過濾來自 HTTP(最高風險來源)的所有 SQL 注入和 XSS,請建立限於追蹤規則,此追蹤規則在「來源內容」區段中包含 Technology.Communications.HTTP 過濾器,而在「接收槽內容」區段中包含 Vulnerability.Injection.SQLVulnerability.CrossSiteScripting 規則。

    • 必要的呼叫:在「必要的呼叫」區段中,新增必須出現在來源至接收槽路徑上的特定 API 呼叫。必要的呼叫會將發現項目限制為,其追蹤資料會通過所指定之必要呼叫的發現項目。當您按一下新增中間呼叫時,將會開啟「配置 API」對話框。在這個對話框中,請依照指定來源和接收槽的相同方式來指定呼叫。
    • 禁止的呼叫:在「禁止的呼叫」區段中,新增不能出現在來源至接收槽路徑上的特定 API 呼叫。禁止的呼叫會將發現項目限制為,其追蹤資料沒有通過所指定之禁止呼叫的發現項目。請依照新增必要的呼叫的相同方式來新增禁止的呼叫。
    提示:
    • 當依漏洞類型API檔案目錄專案來過濾時,您可以在「選取值」對話框頂端的過濾器欄位中,輸入型樣來過濾對話框中所顯示的清單。
    • 在任何發現項目表格中,查看來源接收槽直欄,體驗一下您想要濾除的來源和接收槽。
    • 如果要體驗您想要過濾的來源、接收槽和呼叫內容,請查看任何發現項目表格中的漏洞類型直欄。
    • 如果要查看您可以過濾的呼叫,請檢視任何發現項目表格中的 API 直欄項目。

過濾器範例

1. 過濾器範例
發現項目表格中的過濾器行為 過濾器編輯器中的「過濾器設定」視圖
發現項目表格只包含高度嚴重性可疑安全發現項目。
  • 在「嚴重性」區段中,選取勾選框,然後取消選取所有其他勾選框。
  • 在「分類」區段中,選取可疑勾選框,然後取消選取所有其他勾選框。
發現項目表格包括名稱為 ProjectA 的專案中,除了資訊漏洞類型以外的所有發現項目。
  • 在「漏洞類型」區段中,選取移除圓鈕,然後按一下新增。在「選取值」對話框中,選取 Vulnerability.Info
  • 在「專案」區段中,選取限於圓鈕,然後按一下新增。在「選取值」對話框中,選取 ProjectA
只會顯示含有追蹤的發現項目。 在「追蹤」區段中,按一下限於區段中的新增。接受「追蹤規則項目」對話框中的預設項目,然後按一下確定。對話框中的預設值如下:
  • 來源 API RegEx 欄位是 .*,正規表示式類型是 PERL。這會告訴 AppScan® 來源 過濾含有來源的任何發現項目(使用 Perl 正規表示式語法)。
  • 接收槽 API RegEx 欄位是 .*,正規表示式類型是 PERL。這會告訴 AppScan® 來源 過濾含有接收槽的任何發現項目(使用 Perl 正規表示式語法)。
發現項目表格會顯示沒有通過 java.lang.Integer.parseInt 的「HTTP 相關來源至 SQL 注入相關接收槽」。 在「追蹤」區段中,按一下限於區段中的新增。在「追蹤規則項目」對話框中,完成下列步驟:
  • 在「來源」區段中,按一下新增 VMAT 內容。在「選擇內容」對話框中,選取 Technology.Communications.HTTP。按一下確定來新增 VMAT 內容,然後返回「追蹤規則項目」對話框。
  • 在「接收槽」區段中,按一下新增 VMAT 內容。在「選擇內容」對話框中,選取 Vulnerability.Injection.SQL。按一下確定來新增 VMAT 內容,然後返回「追蹤規則項目」對話框。
  • 在「禁止的呼叫」區段中,按一下新增中間呼叫。在「配置 API」對話框的 API RegEx 欄位中,輸入 java.lang.Integer.parseInt.*。按一下確定來新增中間呼叫,然後返回「追蹤規則項目」對話框,按一下確定來新增追蹤規則項目。