GGI Activity: 管理軟體漏洞


Table of contents


管理軟體漏洞

行動編號:GGI-A-22

描述

一段程式碼的安全性取決於其最不安全的部分。近期的案例(例如 heartbleed[^heartbleed]、equifax[^equifax])已證明檢查並發現非本組織直接開發部分程式碼中的漏洞至關重要。漏洞暴露的後果可能包括數據洩露(對聲譽造成巨大影響)、勒索軟體攻擊以及威脅業務的服務不可用性。

開放原始碼軟體在漏洞管理方面通常比專有軟體更為優秀,主要原因是:

  • 更多的人會檢視開放的程式碼和流程以發現並修復問題。
  • 開放原始碼專案修復漏洞並釋出修補程式和新版本的速度要快得多。

例如,WhiteSource 的一項研究顯示,在其分析的專有軟體中,95% 的開放原始碼元件中的漏洞在分析時已釋出了修復程式。因此,問題在於無論是閉源還是開源軟體,都需更好地管理程式碼基礎和其相依性中的漏洞

為了減輕這些風險,需要建立一個軟體資產的評估計畫以及定期執行的漏洞檢查流程。部署工具來提醒受影響的團隊,管理已知漏洞並防範來自軟體相依性的威脅。

機會評估

任何使用軟體的公司都需要注意以下方面的漏洞:

  • 其基礎設施(例如雲端基礎設施、網路基礎設施、數據儲存設施),
  • 其業務應用程式(人力資源、客戶關係管理工具、內部和客戶相關的資料管理),
  • 其內部程式碼(例如公司的網站、內部開發專案等),
  • 以及所有直接和間接的軟體及服務相依性。

漏洞的投資回報率(ROI)在發生不良事件之前通常很難被了解。需要考量重大數據洩露或服務不可用性帶來的後果,從而估算漏洞的真正成本。

同樣地,應避免公司內部對安全相關問題的隱瞞和保密文化。相反,應共享並討論漏洞狀態的信息,以便從開發者到高層主管找到最佳解決方案。

透過謹慎管理軟體漏洞來預防網路攻擊有以下多重益處:

  • 避免聲譽風險,
  • 避免因漏洞利用而導致的損失(如分散式阻斷服務攻擊、勒索軟體攻擊、重建替代 IT 系統所需的時間),
  • 遵守資料保護相關法規。

管理開放原始碼軟體的漏洞只是更廣泛的網路安全過程的一部分,該過程全面處理組織內系統和服務的安全性。

進度評估

應設有專人或專屬團隊負責監控漏洞,以及提供開發者可以依賴的簡便流程。漏洞評估是持續整合過程的一個標準部分,人們可以在專用的儀表板中監控當前的風險狀態。

以下檢驗要點顯示了此行動的進度:

  • 當所有內部軟體和服務都被評估並監控已知漏洞時,此行動即被視為完成。
  • 當在軟體生產鏈中實施專用工具和流程,以防止日常開發例程中引入問題時,此行動即被視為完成。
  • 指定人員或團隊負責評估 CVE/漏洞風險與暴露情況。
  • 指定人員或團隊負責將 CVE/漏洞分派給相關人員(如系統運維、DevOps、開發者等)。

工具

  • GitHub 工具
    • GitHub 提供了用於保護託管在該平台上的程式碼的指南和工具。更多資訊請參閱 GitHub docs
    • GitHub 提供 Dependabot,自動識別相依性中的漏洞。
  • Eclipse Steady 是一款免費的開放原始碼工具,可分析 Java 和 Python 專案中的漏洞並協助開發者減輕其影響。
  • OWASP dependency-check:一個開放原始碼漏洞掃描器。
  • OSS Review Toolkit:一個開放原始碼編排工具,能從配置的漏洞數據服務中收集使用的相依性安全諮詢。

資源

建議的下一步行動

  • GGI-A-24 – 管理關鍵指標 使已識別的漏洞可見。這將幫助人們意識到其軟體的安全性或潛在風險,並凸顯選擇適當相依性的必要性。

[^heartbleed]:https://www.wikipedia.org/wiki/Heartbleed [^equifax]:https://arstechnica.com/information-technology/2017/09/massive-equifax-breach-caused-by-failure-to-patch-two-month-old-bug/