支援的註釋和屬性
掃描期間會處理一些用來裝飾程式碼的註釋或屬性。於掃描期間,當程式碼中發現支援的註釋或屬性時,會利用這項資訊,將裝飾的方法標示為污染的回呼。針對標示為污染回呼的方法,會將其所有引數都視為包含受污染的資料。這會產生更多含有追蹤資料的發現項目。這個說明主題中會列出所支援的註釋和屬性。
支援的 Java™ 註譯
註釋 | 縮寫 |
---|---|
javax.xml.ws.WebServiceProvider |
@WebServiceProvider |
javax.jws.WebService |
@WebService |
javax.jws.WebMethod |
@WebMethod |
支援的 AppScan® 來源 Java 註譯
使用 AppScan 來源 來掃描 Java 時,支援 @ValidatorMethod
、@CallbackMethod
和 @SuppressSecurityTrace
方法層次註釋。
使用 AppScan 來源 註釋
您可以透過遵循下列步驟來使用註釋:
- 依預設會啟用註釋支援。註釋 .jar 檔為 <install_dir>\lib\SecurityAnnotations.jar(其中 <install_dir> 是 AppScan 來源 安裝位置)。
- 如果您要掃描經過前置編譯的類別、.war 檔或 .jar 檔,請找出包含加註程式碼的 Java 專案。
- 將 SecurityAnnotations.jar 新增至專案的類別路徑。
- 重建專案。
您可以在掃描之前新增註釋至原始碼;或是在掃描之後及分類期間新增註釋,以便識別及刪除誤判。
系統提供註釋,讓您可以將知識以安全註釋的形式直接插入原始碼中。由於註釋可用於宣告程式碼安全的部分,因此應謹慎使用。屬性不應用於需掃描是否有安全漏洞的程式碼。如果您使用註釋,安全分析師可以選擇在 <data_dir>\config\scanner.ozsettings(其中 <data_dir> 是 AppScan 來源 程式資料的位置,如安裝和使用者資料檔位置) 中停用此特性,以忽略註釋。在這個檔案中,請尋找這項設定:
<Setting
name="process_security_annotations"
value="true"
default_value="true"
description="When turned on, security annotations in the
source code will be processed by AppScan Source."
display_name="Process Security Annotations"
type="bool"
/>
若要停用此特性,請將 value="true"
變更為 value="false"
。
@ValidatorMethod
驗證器是在輸入資料上執行檢查的方法,經常會傳回布林值,以指出輸入是否有效。您可以將使用者輸入變更為可接受的格式,而不是使用驗證器來接受或拒絕輸入。這些方法稱為消毒器。
您可以使用 @ValidatorMethod
註釋,識別應用程式原始碼中的所有驗證器和消毒器方法。在 AppScan 來源 掃描期間,將會使用這項資訊來移除通過這些方法的資料流程,原因是現在已將該資料視為安全。
@SuppressSecurityTrace
所有流經標有此註釋方法的追蹤資料都將移除。當某一組追蹤資料被識別為誤判,或是比其他追蹤資料較不重要或較不引起關注時,這會非常有用。您可以使用這個註釋來過濾掉或隱藏這些追蹤資料,以便減少雜亂。
@CallbackMethod
這個註釋用來識別應用程式的回呼點或進入點。所有的引數都被視為帶有污染。
支援的 Microsoft™ .NET 屬性
屬性 | 縮寫 |
---|---|
System.Web.Services.WebServiceAttribute |
WebService |
System.Web.Services.WebMethodAttribute |
WebMethod |