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:一個開放原始碼編排工具,能從配置的漏洞數據服務中收集使用的相依性安全諮詢。
資源
- MITRE 的漏洞數據庫 包括 CVE 資料。另請參閱 NIST 的安全數據庫 和其他相關資源,例如 CVE Details。
- 同樣請檢視 Google 的新倡議:開放原始碼漏洞。
- OWASP 工作組在其 網站 上公佈了漏洞掃描工具的列表,包括來自商業和開放原始碼領域的工具。
- J. Williams 和 A. Dabirsiaghi. 《不安全庫的遺憾現實》(The unfortunate reality of insecure libraries),2012 年。
- 開放原始碼相依性中的漏洞檢測、評估和緩解 (Detection, assessment and mitigation of vulnerabilities in open source dependencies),作者 Serena Elisa Ponta、Henrik Plate 和 Antonino Sabetta,《經驗軟體工程》期刊第 25 卷,第 3175-3215 頁 (2020)。
- 開放原始碼軟體漏洞修復的人工編輯資料集(A Manually-Curated Dataset of Fixes to Vulnerabilities of open source Software),作者 Serena E. Ponta、Henrik Plate、Antonino Sabetta、Michele Bezzi 和 Cédric Dangremont。此外,還有一個正在開發的工具包,用於實現上述資料集。
建議的下一步行動
- 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/