新增規則

這個作業主題說明利用「自訂規則精靈」來新增自訂規則的程序。

執行這項作業的原因和時機

註: 新增或移除安全或掃描涵蓋面發現項目,以及變更嚴重性,會影響專案的「V 密度」。

程序

  1. 從「自訂規則」視圖中,按一下啟動自訂規則精靈按鈕來開啟精靈。
  2. 選取應用程式、專案和檔案頁面中,選取要套用規則的應用程式專案。請確定現行應用程式和專案與要新增到知識庫之項目的原始碼相關。選取配置(如果有的話)。
  3. 範圍區段中,設定掃描的範圍。依掃描的語言而定,範圍選項如下:
    1. 依語言提供的專案檔選項
    語言 專案檔選項
    .NET
    • 掃描整個專案以尋找方法簽章
    • 選取專案外的一或多個檔案

    .NET 專案包括任何有效的組合,通常是 .dll.exe 檔。

    Java
    • 掃描整個專案以尋找方法簽章
    • 選取專案中的一或多個檔案
    • 選取專案外的一或多個檔案

    Java 專案包含 .jar.class 檔,或類別檔的目錄階層。

    C/C++
    • 掃描整個專案以尋找方法簽章
    • 選取專案中的一或多個檔案
    Visual Basic 掃描 FRM(表單)檔、CLS(類別)檔,以及 BAS(基本)
    典型 ASP 只掃描 ASP 檔
    • 掃描整個專案以尋找方法簽章是預設掃描模式。這個模式會掃描整個專案,傳回所有可用的簽章。這個掃描模式可能很耗時間。
    • 選取專案中的一或多個檔案選項會隔離特定專案檔,而其中包含可能需要自訂規則的方法。
    • 選取專案外的一或多個檔案選項會識別在這個專案外部要併入掃描中的檔案。
  4. 快取區段中,選取勾選框以重新讀取修改過的專案或程式碼。也會清除漏洞分析快取(如果現行專案設為快取漏洞分析,下一次掃描時,會重建漏洞分析快取)。
  5. 字串分析:字串分析會監視 JavaMicrosoft .NET 專案中的字串操作。它能夠自動偵測消毒器和驗證器常式。當進行這項偵測時,可以減少誤判 (false positive) 及假性無侵害攻擊 (false negative) 的情況。選取啟用字串分析來尋找驗證器/消毒器功能勾選框來啟用字串分析。將匯入的規則套用於廣域範圍勾選框會決定所發現的消毒器或驗證器常式,是否應該套用到單一專案或廣域層次(套用至所有專案)。
    註: 套用字串分析,掃描可能會變慢。因此,建議只應在程式碼變更之後才套用,而且應於後續掃描中停用。另外,還應該將發現的常式視為建議,由審核員來檢閱。您可以在「自訂規則」視圖中檢視這些常式。
  6. 下一步,進入精靈的下一頁。
  7. 選取方法頁面中,請執行下列動作:
    1. 選取要新增到知識庫的一或多個方法。方法是有漏洞 API 的名稱。

      您可以利用兩種方式來過濾方法清單:

      • 自動過濾:在過濾器欄位中,輸入過濾文字。當您輸入時,過濾器會自動套用於方法清單。這是預設的過濾模式。
      • 手動過濾:在過濾器欄位中輸入過濾文字,然後按一下過濾器按鈕(或按 Enter 鍵),將過濾器套用於清單。當大量方法造成自動過濾延遲時,您可能會想使用手動過濾。

      在這兩種情況下,星號 (*) 和問號 (?) 字元可用來作為萬用字元。星號符合零或多個字元所組成的任意群組,問號則符合任何單一字元。

      如果要變更過濾模式,請按兩下過濾器按鈕,或利用鍵盤導覽到這個按鈕,然後按空格鍵,以切換模式。當開啟手動過濾時,過濾器按鈕會呈現未按下的狀態,而浮動說明會顯示套用過濾器(按兩下或按空格來自動過濾)。當開啟自動過濾時,這個按鈕會呈現已按下的狀態,而浮動說明會顯示手動過濾

      如果要妥善檢視方法清單,您可以使用展開及收合動作。如果要展開或收合整個樹狀結構,請按一下滑鼠右鍵,並選取全部展開全部收合。如果要展開套件或類別及其所有子項目,請用滑鼠右鍵按一下套件或類別,然後選取展開子項

      如果要選取多個方法,請使用鍵盤的 Ctrl 或 Shiftcommand 或 Shift 鍵。

      選取顯示完整簽章勾選框,可在樹狀結構中顯示方法的完整簽章。例如,完整的 Java 簽章包括套件、類別、方法、引數類型及傳回類型,例如 com.test.vulnerable.VulnClass.vulnerable(java.lang.string;int):int。

    2. 識別掃描是否應該將方法標示為下列項目之一:
  8. 如果您要將方法新增為不容易遭受污染不是驗證/編碼常式污染傳播者污染的回呼,請按一下完成,將記錄新增至 AppScan® Source Security 知識庫
  9. 如果您要將方法新增為來源(污染)參考資訊,請執行下列動作:
    1. 下一步,繼續進行指派規則屬性頁面。
    2. 對於已新增的每一個方法,請執行下列動作:選取一或多個要指派給方法的內容。方法的類型直欄會更新,以指出自訂規則將產生之發現項目的漏洞類型。
      提示: 如果要將相同的內容新增至多個方法,請使用鍵盤的 Ctrl 或 Shiftcommand 或 Shift 鍵選取多個方法,然後選取要指派給方法的內容。
    3. 按一下完成,將記錄新增至 AppScan® Source Security 知識庫
  10. 如果您要將方法新增為接收槽(很可能遭到污染),請執行下列動作:
    1. 下一步,繼續進行指派規則屬性頁面。
    2. 對於已新增的每一個方法,請執行下列動作:
      • 選取漏洞影響的嚴重性層次:
      • 選取要套用至方法的漏洞類型
      提示: 如果要將相同的內容新增至多個方法,請使用鍵盤的 Ctrl 或 Shiftcommand 或 Shift 鍵選取多個方法,然後選取要指派給方法的內容。
    3. 按一下完成,將記錄新增至 AppScan® Source Security 知識庫
  11. 如果您要將方法新增為無追蹤發現項目,請執行下列動作:
    1. 下一步,繼續進行指派規則屬性頁面。
    2. 對於已新增的每一個方法,請執行下列動作:
      • 選取漏洞影響的嚴重性層次:
      • 選取要指派給方法的分類明確可疑配置
      • 選取要套用至方法的漏洞類型
      提示: 如果要將相同的內容新增至多個方法,請使用鍵盤的 Ctrl 或 Shiftcommand 或 Shift 鍵選取多個方法,然後選取要指派給方法的內容。
    3. 按一下完成,將記錄新增至 AppScan® Source Security 知識庫