掃描模式
掃描模式會描述 AppScan 360° 是否會在專案中,針對特定語言掃描建置輸出(.dll、.jar 等等)或原始碼檔案。
請在 AppScan Go! 中指定掃描模式,或在指令行公用程式 (CLI) 中使用僅限原始碼選項。依預設,Static Analyzer 不會分析編譯語言(Java、.NET 和 C/C++)的原始碼。對於這些語言,使用者可以選擇指定掃描模式。對於所有其他語言,掃描僅限原始碼。
瞭解不同掃描方法對專案的成功來說很重要。每一種方法都有特定的用途、需求,結果也會不一樣。
僅限原始碼掃描
在軟體開發生命週期的初期,只掃描未編譯程式碼的原始碼,可以是一個有用的工具,可在專案進一步發展之前,先預防問題的發生並確認程式化方法。
僅限原始碼掃描一般而言是由開發人員執行,且需要存取原始檔,掃描速度很快,但不一定像編譯程式碼的掃描一樣準確。僅限原始碼掃描的結果會精確找出程式碼中特定幾行的漏洞,不會顯示追蹤資料。
您可以指定特定語言的僅限原始碼掃描。
位元組碼/已編譯(建置輸出掃描)
當精確度優先於掃描速度時,掃描建置輸出不僅可以協助您瞭解應用程式中存在漏洞的位置,也可以瞭解該漏洞的影響性。掃描建置輸出有時稱為「資料流程」掃描。
建置輸出掃描需要對完整建置應用程式的存取權。掃描結果會顯示「追蹤」,其中顯示污染資料流經應用程式的流程,從進入應用程式到使用資料的點(稱為「接收槽」)都涵蓋在內。追蹤會在追蹤的每一點顯示程式碼行數以及汙染變數;其外觀類似於異常狀況堆疊追蹤。
視專案類型而定,建置輸出掃描可能具有其他要求:
- 應用程式相依關係應該可提供最完整和精確的結果。
- 若需要 Java 和.NET 位元組碼,則需要先建置應用程式,才能執行掃描。
- 對於 C/C++ 而言,需要 Visual Studio 解決方案。