利用過濾器分類
AppScan® Source for Analysis 會報告所有潛在的安全漏洞,對於中型到大型程式碼庫,可能會產生數千個發現項目。掃描時,您可能會看到發現項目清單包含無關緊要的項目。如果要從「發現項目」視圖中移除特定發現項目,您可以選擇預先定義的過濾器,也可以建立自己的過濾器。過濾器用來指定一些準則,以決定要從視圖中移除哪些發現項目。
過濾器概觀
過濾器會移除或限制符合過濾器規則所決定之準則的項目,並協助您在分類或產生報告期間管理掃描結果。過濾器有助於引導工作流程,使安全分析師能夠集中精力來處理發現項目子集的最重要的區域。例如,在檢查程式碼期間,分析師可以建立一個過濾器來避免檢視嚴重性低的發現項目。另外,分析師也可能偏好排除系統程式庫 include 檔案中的漏洞。過濾器可以從視圖中刪除這些項目,也可以排除個別檔案或先前調查的檔案。
可在掃描之前或之後套用過濾器:
- 如果要在掃描之前套用過濾器,請在專案或應用程式內容中設定廣域過濾器 - 或者,您可以使用包含過濾器的掃描配置來進行掃描。當您在掃描之前套用過濾器時,無法顯示未過濾的發現項目,或沒有重新掃描就移除過濾器。
- 各種視圖(尤其是「過濾器編輯器」視圖)可讓您在掃描之後套用過濾器。當這些視圖用於過濾時,所有過濾的項目都會保留在掃描結果中,唯有選取顯示過濾的發現項目()切換之後,它們才會出現在「發現項目」視圖中。
AppScan 來源 包含數個預先定義的過濾器,可選取它們來過濾掃描結果。
有了過濾器,您就可以設定內容,使過濾器成為排除項目。排除項目會影響掃描,刪除所有符合過濾器的發現項目,或刪除所有不符合過濾器的發現項目。
過濾器規則
每個過濾器都由若干規則組成,這些規則定義發現項目表格中的結果要限制(併入)或移除(排除)哪些發現項目(如果是追蹤規則,您可以根據追蹤內容同時限制及移除)。
- 限於規則(併入規則)會排除沒有指定準則的發現項目,且會從發現項目表格的可見結果中移除這些發現項目。
- 移除規則(排除規則)會從掃描結果中,移除包含準則的發現項目。移除規則會排除任何具有指定準則的發現項目,且會從可見結果中移除這些發現項目。
過濾器規則可能包含下列特點:
- 嚴重性:指出個別發現項目的潛在影響或風險。嚴重性規則是「僅限制」。
- 高:造成資料在機密性、完整性或可用性方面的風險,以及/或造成處理資源在完整性或可用性方面的風險。高度嚴重性狀況應該優先立即補救。
- 中:造成資料安全和資源完整性的風險,但在此狀況下遭到攻擊的機率較低。中度嚴重性狀況應該儘可能檢查及補救。
- 低:造成最低的資料安全或資源完整性風險。
- 參考資訊:發現項目本身不容易產生危害。它說明程式碼中使用的技術、架構性質或安全機制。
- 分類:根據這個主題所說明的分類來過濾發現項目。分類規則是「僅限制」。
- 漏洞類型:依特定漏洞種類來過濾,例如
BufferOverflow
。當您新增漏洞類型時,您可以從所有可能的漏洞類型中選取,也可以只從在現行評量中找到的類型中選擇。如果要從現行評量中所找到的漏洞類型中選擇,請在「選取值」對話框中,選取只顯示已開啟評量中的值。當您建立過濾器供未來的掃描使用時,從所有可能的漏洞類型中選取很有用。如果要顯示所有漏洞類型,請取消選取只顯示已開啟評量中的值(如果沒有已開啟的評量,依預設,會顯示所有漏洞類型,只顯示已開啟評量中的值勾選框無法使用)。
- API:過濾特定 API 的所有漏洞。
- 檔案:過濾特定檔案中的所有漏洞。
- 目錄:過濾特定目錄中的所有漏洞。
- 專案:過濾特定專案中的所有漏洞。
- 追蹤:可讓您根據追蹤內容來過濾發現項目(請參閱來源和接收槽,以進一步瞭解追蹤內容)。過濾器可包括根據追蹤內容而同時限制及移除的追蹤規則。當您按一下任一區段(限制或移除)的新增時,將會開啟「追蹤規則項目」對話框。在這裡,您可以指定:
- 來源:在「來源」區段的 API RegEx 欄位中,指定追蹤來源或涵蓋多重來源的正規表示式(預設項目是
.*
- 將會傳回全部的正規表示式或萬用字元)。如果您使用正規表示式,請在正規表示式類型欄位功能表中選取類型(預設正規表示式類型是 PERL)。如果沒有使用正規表示式,請在正規表示式類型欄位功能表中選取完全相符。如果 API RegEx 項目是有效的表示式,欄位旁會出現一個綠色勾號圖示。如果項目不是有效的表示式,欄位旁會出現一個紅色 X 圖示,對話框的確定按鈕會停用。將游標停在任一圖示上,會提供驗證結果的相關資訊。如果您建立的不是有效表示式的項目,但想要繼續使用它,請選取對話框底端的忽略上述的驗證錯誤勾選框。如此便能啟用對話框的確定按鈕(只要表示式不是空白),無效表示式旁的圖示也會變成綠色勾號,浮動說明為已停用驗證。
您也可以使用「來源內容」區段中的新增 VMAT 內容按鈕,依機制或技術來精簡過濾器(以下提供 VMAT 內容的相關資訊)- 不過,使用此特性來依漏洞限制,不會達到想要的效果,因為漏洞類型是由接收槽決定,而非來源。
- 接收槽:在「接收槽」區段中,您可以依照指定來源的相同方式,新增接收槽作為過濾器。
您可以精簡過濾器,將它限制於特定的漏洞類型(將追蹤規則項目的效果僅限於特定類型的漏洞、機制或技術)。如果要這麼做,請按一下「接收槽內容」區段中的新增 VMAT 內容按鈕,然後在「選擇內容」對話框中選取內容。內容清單可以利用過濾器欄位來過濾。
VMAT 是 AppScan 來源 套用於應用程式設計介面 (API) 的四個主要內容類型的分類。VMAT 內容種類包括:
- 漏洞:會造成安全違規的不當使用或攻擊方向類型
- 機制:用來防止漏洞的安全控制
- 屬性:在「選擇內容」對話框中,目前無法使用這些內容
- 技術:API 提供之功能類型的一般說明
過濾器範例:如果要過濾來自 HTTP(最高風險來源)的所有 SQL 注入和 XSS,請建立限於追蹤規則,此追蹤規則在「來源內容」區段中包含
Technology.Communications.HTTP
過濾器,而在「接收槽內容」區段中包含Vulnerability.Injection.SQL
和Vulnerability.CrossSiteScripting
規則。 - 必要的呼叫:在「必要的呼叫」區段中,新增必須出現在來源至接收槽路徑上的特定 API 呼叫。必要的呼叫會將發現項目限制為,其追蹤資料會通過所指定之必要呼叫的發現項目。當您按一下新增中間呼叫時,將會開啟「配置 API」對話框。在這個對話框中,請依照指定來源和接收槽的相同方式來指定呼叫。
- 禁止的呼叫:在「禁止的呼叫」區段中,新增不能出現在來源至接收槽路徑上的特定 API 呼叫。禁止的呼叫會將發現項目限制為,其追蹤資料沒有通過所指定之禁止呼叫的發現項目。請依照新增必要的呼叫的相同方式來新增禁止的呼叫。
提示:- 當依漏洞類型、API、檔案、目錄或專案來過濾時,您可以在「選取值」對話框頂端的過濾器欄位中,輸入型樣來過濾對話框中所顯示的清單。
- 在任何發現項目表格中,查看來源和接收槽直欄,體驗一下您想要濾除的來源和接收槽。
- 如果要體驗您想要過濾的來源、接收槽和呼叫內容,請查看任何發現項目表格中的漏洞類型直欄。
- 如果要查看您可以過濾的呼叫,請檢視任何發現項目表格中的 API 直欄項目。
- 來源:在「來源」區段的 API RegEx 欄位中,指定追蹤來源或涵蓋多重來源的正規表示式(預設項目是
過濾器範例
發現項目表格中的過濾器行為 | 過濾器編輯器中的「過濾器設定」視圖 |
---|---|
發現項目表格只包含高度嚴重性可疑安全發現項目。 |
|
發現項目表格包括名稱為 ProjectA 的專案中,除了資訊漏洞類型以外的所有發現項目。 |
|
只會顯示含有追蹤的發現項目。 | 在「追蹤」區段中,按一下限於區段中的新增。接受「追蹤規則項目」對話框中的預設項目,然後按一下確定。對話框中的預設值如下:
|
發現項目表格會顯示沒有通過 java.lang.Integer.parseInt 的「HTTP 相關來源至 SQL 注入相關接收槽」。 |
在「追蹤」區段中,按一下限於區段中的新增。在「追蹤規則項目」對話框中,完成下列步驟:
|