提高SDLC安全性的5種基本方法

zktq2021發表於2022-05-11

在過去的幾年裡,應用平臺和第三方庫中發現的漏洞引起了越來越多的關注,這給DevOps團隊帶來了壓力,他們需要檢測和解決軟體開發生命週期(SDLC)中的漏洞。

以NVD(國家漏洞資料庫)為例,它跟蹤和記錄軟體供應商釋出和披露的所有重大漏洞。NVD發現在過去五年中發現的漏洞數量呈增長趨勢,僅在2021年就記錄了驚人的 20,136 個漏洞(與上一年相比增加了9.7%)。

同時,CISA(網路安全與基礎設施安全域性)表示,在所有記錄的漏洞中,威脅行為者目前正在利用504。

那麼,所有這些對開發人員意味著什麼呢?

我們如何進一步提高SDLC的安全性呢?讓我們從基礎開始:

什麼是SDLC?

開發團隊採用一種SDLC形式來構建他們的流程並獲得高質量的結果。從這個意義上說,SDLC只不過是一個定義構建應用程式過程的框架。它跨越了應用程式的整個生命週期。

自傳統瀑布模型以來,出現了不同的SDLC模型,其中更健壯的CI/CD和敏捷模型在當今流行度最高。但他們的目標往往是相似的:儘可能快地生產出高質量、低成本的軟體。


安全 SDLC (SSDLC) 如何工作?

安全軟體開發生命週期 (SSDLC) 將安全元件引入生命週期,從而為開發人員提供了一個框架,以確保在軟體開發的每個階段都要考慮安全性,而不是事後再考慮。這種方法防止了稍後在生產環境中出現漏洞,從而減少了修復這些漏洞的成本。

安全軟體開發生命週期的例子定義了在每個開發階段幫助確保軟體安全的最低安全控制。每個階段都需要專門的 安全測試工具和方法,如(SAST、SCA、IAST和DAST等),並將繼續執行每個軟體版本的所有階段。

提高 SDLC 安全性的實踐

安全的SDLC實踐旨在解決共享的安全問題,包括:

對反覆出現的漏洞進行補救,一旦軟體部署,就需要付出高昂的代價來補救

設計架構中的安全問題

解決整合到更大系統中的元件內的安全問題

一些提高SDLC安全性的實踐:

1、轉變心態

左移思維的目的是將傳統上在生命週期後期完成的安全實踐(如測試元件)引入開發的早期階段。換句話說,我們已經從DevOps發展到DevOpsSec,再發展到DevSecOps——所有這些都是透過把“Sec”向左移動實現的。

2、根據常識進行威脅建模

威脅建模是在SDLC的最早階段研究系統設計、它們如何執行以及資料如何在所有系統元件內部和之間流動的過程,旨在識別所有可能的利用途徑。進行威脅建模可確保架構設計和開發能夠解決所有已識別的安全漏洞。

但是威脅建模通常需要相當長的時間才能完成,因為它需要人工來確定所有可能的攻擊途徑。反過來,當 SDLC 的幾乎每個元件都是自動化的並且期望每個階段都能快速完成時,威脅建模可能會成為開發過程的瓶頸,新版本每兩到四周就會發布一次。因此,建議利用常識進行威脅建模。

3、利用開源、開發人員優先的工具

利用開源工具是降低成本同時確保安全性的一個簡單方法。但開源工具也會有些侷限性,因此考慮可以根據企業情況進行定製化的工具更利於提高開發人員效率。

4、儘早檢查第三方元件中的漏洞

第三方元件是開發人員在無需自己開發整個功能的情況下將附加功能引入其應用程式的快速簡便的選擇。儘管這些元件可能很便宜,但它們確實是有代價的:可能會間接地將漏洞引入應用程式。

因此,最好在安全開發評估中儘早檢查這些元件是否存在漏洞,換句話說:掃描一切!掃描程式碼、配置、二進位制檔案或程式碼庫中的任何其他材料,以發現明顯可見和隱藏的問題。

5、掃描所有軟體層的錯誤配置

當今市場上可用的大多數安全錯誤配置檢測工具往往側重於掃描軟體基礎設施中的錯誤配置,但不涵蓋資料層和應用程式框架層中存在的錯誤配置。然而這一部分並不可忽略。

SDLC的安全性將取決於DevOps團隊、出發點、技能和工具。


 

文章來源:

https://spectralops.io/blog/5-essential-ways-to-improve-sdlc-security/


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000012/viewspace-2893536/,如需轉載,請註明出處,否則將追究法律責任。

相關文章