使用 IAST 代理程式執行 OWASP Benchmark

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

OWASP Benchmark Project 是一種 Java 測試套件,用來評估軟體漏洞偵測工具。AppScan IAST Java 代理程式和 IAST Python 代理程式與 OWASP Benchmark 完全相容。

使用 AppScan IAST Java 代理程式執行 OWASP Benchmark

程序

  1. 從 https://github.com/OWASP-Benchmark 複製 BenchmarkJava 和 BenchmarkUtils。
  2. 開啟一個命令提示字元,切換至 BenchmarkUtils 目錄,並執行 mvn install -DskipTests。
  3. 在 ASoC,啟動 IAST Java 階段作業,並依 啟動 IAST 階段作業 中的說明下載代理程式 zip 檔。
  4. 解壓縮 zip 檔內容。
  5. 在解壓縮的 JAR 中,找出 jar_deployment 資料夾中的 secagent.jar,並將其複製到 BenchmarkJava\tools\HCL。
  6. 從一個命令提示字元中,執行 runBenchmark_wHCL.bat。等到 '[INFO] Press Ctrl-C to stop the container...' 訊息顯示為止。
  7. 開啟另一個命令提示字元並執行 BenchmarkJava\runCrawler.bat。
  8. 執行 BenchmarkJava\createScorecards.bat。
    測試結果位於: BenchmarkJava\scorecard\Benchmark_v1.2_Scorecard_for_HCL_AppScan_IAST_v{IAST_version} files
    OWASP Benchmark v1.2 結果比較


使用 AppScan IAST Python 代理程式執行 OWASP Benchmark

開始之前

下載並安裝以下先決條件。以下為完成部署所需的安裝項目。
  1. 從 https://www.python.org/downloads/windows/ 下載安裝 Python 3.12。
  2. 從 https://rustup.rs/ 下載安裝 rust。這是其中一個 OWASP 相依性所需的工具。
  3. 從 https://builds.openlogic.com/downloadJDK/openlogic-openjdk/17.0.18+8/openlogic-openjdk-17.0.18+8-windows-x64.msi 下載安裝 Java 17
  4. 從 https://maven.apache.org/download.cgi#CurrentMaven 下載安裝 Maven。將其解壓縮至 C:\Program files 並新增至您的 PATH 中。

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

在 Windows 環境中使用以下程序。

程序

  1. 使用 IAST 安裝 OWASP Benchmark:
    1. 從 https://github.com/OWASP-Benchmark/BenchmarkPython 複製 OWASP BenchmarkPython。
    2. 從 ASoC 下載 IAST Python 代理程式。
      1. 將下載的檔案解壓縮到 BenchmarkPython 資料夾中。
    3. cd 至 BenchmarkPython 根目錄並執行以下指令:
      1. python -m venv venv
      2. venv\Scripts\activate
      3. pip install -q -r requirements.txt
      4. 執行 IAST 代理程式安裝指令碼:python install_secagent.py
      5. 搭配代理程式執行基準測試:
        1. 執行基準測試之前,請刪除 BenchmarkPython\results 的現有內容。
        2. 搭配 Python 代理程式包裝函式和所需的環境變數來執行 OWASP Benchmark:
          set IAST_LOG_PATH=results\HCL-IAST.hcl && 
                                  set FINDINGS=true && secagent flask --app app.py run --debug --port 8443 --cert=adhoc
    4. 現在,您可以在 https://127.0.0.1:8443/ 存取 OWASP BenchmarkPython 應用程式。
  2. 執行搜索器來產生基準結果:
    1. 從 https://github.com/OWASP-Benchmark/BenchmarkUtils 複製 OWASP BenchmarkUtils。
    2. 在新終端機中,cd 至 BenchmarkUtil 根目錄並執行以下指令:
      set "JAVA_HOME=C:\Program Files\OpenLogic\jdk-17.0.18.8-hotspot"&& mvn install 
    3. cd 至 BenchmarkPython 根目錄並執行 runCrawler.bat。搜索器會探索應用程式中的所有頁面,這可能需要一點時間。完成後,請檢閱 ASoC 中的問題。
    4. 建立一份計分卡:
      1. 執行下列指令:
        mvn -Djava.awt.headless=true org.owasp:benchmarkutils-maven-plugin:create-scorecard 
                              -DconfigFile=scoringconfigfile.yaml
      2. 結果將會儲存在 BenchmarkPython\scorecard。
      3. 視覺化摘要檔案為: Benchmark_v0.1_Scorecard_for_HCL_AppScan_IAST_v1.0.0.html
    OWASP Benchmark v0.1 結果比較

    HCL AppScan IAST 的 Benchmark v0.1 計分卡