複選題

20. 在安全開發生命週期(Secure System Develop Life Cycle, SSDLC)中,有關開發與測試階段,可以協助降低資安風險 的有下列哪些項目?(複選)
(A) 部署網頁應用程式防火牆
(B) 滲透測試
(C) 原始碼檢測
(D) 第三方元件資安檢測

答案:登入後查看
統計: A(61), B(196), C(232), D(224), E(0) #3415895

詳解 (共 1 筆)

#6415359

總結

在安全開發生命週期(SSDLC)的開發與測試階段,關鍵在於「左移」安全,及早在程式碼撰寫與測試環境中發現並修正漏洞,以降低後續部署與維運的風險。具體而言:

  • 原始碼檢測(Static Analysis) 可在編譯前掃描整個程式碼庫,找出已知不安全的程式碼模式,因而減少漏洞引入成本【(Palo Alto Networks)】。

  • 滲透測試(Penetration Testing) 作為測試階段的動態分析,可模擬攻擊者手法,驗證整合後系統的抗攻擊能力並補強弱點【(紅帽)】。

  • 第三方元件資安檢測(Software Composition Analysis, SCA) 在開發初期即掃描相依元件,辨識開源函式庫中的已知漏洞,避免供應鏈安全風險【(Checkmarx)】。
    相較之下,部署網頁應用程式防火牆(WAF) 屬於部署/執行階段的運行時防護,並非開發或測試階段中的預防或偵測措施,因此在此階段最「不」適切。

為何 (A) 部署網頁應用程式防火牆 不屬於開發/測試階段?

WAF 作為應用層(Layer 7)的防護,主要部署於生產或運行時環境以監控並阻擋 HTTP/HTTPS 惡意流量【(aikido.dev)】。

  • 部署階段:在應用上線前配置規則,如阻擋跨站腳本(XSS)、SQL 注入等攻擊手法【(aikido.dev)】。

  • 運行時階段:即時過濾外部請求,保護 Web API 與網站資源,但無法主動參與程式碼層級的缺陷與依賴檢測。

(B) 滲透測試(Penetration Testing)✅

滲透測試是 SSDLC 測試階段的核心活動之一,用以模擬真實攻擊情境,揭露系統集成後的弱點和配置錯誤【(紅帽)】。

  • Red Hat 指出:「測試階段的安全檢查通常包含掃描與滲透測試,能有效發現複雜攻擊路徑中未被靜態分析捕獲的安全問題」【(紅帽)】。

  • Cobalt.io 也強調,SSDLC 應將滲透測試作為「安全保證活動」整合至每次迭代,以便快速修補漏洞並降低風險【(Imperva)】。

(C) 原始碼檢測(Static Analysis)✅

原始碼檢測(SAST)在 開發階段即能自動掃描程式碼,識別如未處理的輸入驗證、危險函式使用等常見安全缺陷【(Palo Alto Networks)】。

  • Palo Alto Networks 說明,靜態分析可在程式碼進入測試環境前就「自動化檢測不安全模式」,給開發者早期修正機會【(Palo Alto Networks)】。

  • Snyk 指出,將 SAST 整合至 CI/CD 管道,可持續性地在每次提交時驗證程式碼品質與安全性【(Snyk)】。

(D) 第三方元件資安檢測(Software Composition Analysis, SCA)✅

SCA 工具於開發階段掃描專案相依的所有第三方函式庫,對比漏洞資料庫(如 CVE)以揭露已知安全缺陷【(Checkmarx)】。

  • Checkmarx 定義:「SCA 可自動辨識應用中使用的開源元件及其版本,並針對其中的已知漏洞提出警示」【(Checkmarx)】。

  • Semgrep 補充,SCA 是供應鏈安全的基礎,能在軟體材料表(SBOM)生成階段防範開源風險【(Semgrep)】。

結論

在 SSDLC 的開發與測試階段滲透測試 (B)原始碼檢測 (C)第三方元件資安檢測 (D) 都是「左移」安全、降低漏洞引入的有效做法;而 部署 WAF (A) 屬於運行時控制,不適合作為該階段的安全措施,因此最「不」適切。

1
0

私人筆記 (共 1 筆)

私人筆記#7356800
未解鎖
  (A) 部署網頁應用程式防火牆(WA...
(共 320 字,隱藏中)
前往觀看
2
0