■ 河南 崔賢
編者按:盡管DevSecOps 近年來持續火熱,但真正實現其有效落地的企業并不多見,原因是企業對安全性的看法仍舊未能脫離傳統思維。本文探討實現該目標的4 個建議。
盡管近年來關于DevSecOps熱度越來越高,但是實際上很多企業在開發軟件時,安全性仍然是事后的想法。Verizon 威脅報告指出,Web攻擊已加倍增長,同時基于云的數據也在遭受嚴重的網絡攻擊。2019 年Web 應用安全漏洞的激增進一步說明了我們距離實現DevSecOps 的愿景還有很長的路要走。
由于對數字服務的迫切性,很多企業仍然專注于軟件發布的速度,而不是服務的質量。為了更好地實現數字化轉型,企業應意識到安全性必須成為軟件開發的基本組成部分。
為了實現DevSecOps,企業需要更快地開發代碼并識別漏洞。否則,通過DevOps開發出的只是具有漏洞的軟件而已。
那么,企業如何才能使DevSecOps 更好地落地呢?這要求將安全性嵌入軟件開發過程的各個方面,而不是將安全作為附屬品。以下是有關如何實現這一目標的4個建議。

安全必須成為軟件開發生命周期(SDLC)每個階段的一部分。產品經理需要確保需求、指令和用戶案例具有安全驗收標準。技術架構師需要確保從安全角度(最好由安全專家)對設計進行審查。項目經理和流程主管需要確保將安全性納入預算范圍。完成標準(Definitionof-Done)需要包括安全性標準,并且必須檢查SDLC 的每個部分并確保考慮到安全性。
為此,企業需要從軟件交付速度轉向對質量的關注。很多團隊僅根據速度和上市時間來衡量成功,這是非常狹隘的。企業需要具備確保質量的安全措施。如果開發人員仍不愿意考慮安全性,那么就必須提醒他們考慮其提供的代碼的質量。在一味的關注速度的當下,經常出現發布的軟件不穩定,并且出現大量漏洞的情況。近期出現的Zoom 軟件安全性問題就是一個急于提供創新服務而又未充分考慮安全漏洞的例子。
安全是一個非常廣泛的領域,涉及各種領域的安全性問題,如身份驗證、訪問控制、機密性、完整性及不可否認性等。從復雜的威脅種類到簡單地確保員工的隱私保護,以及保護企業數據免受網絡犯罪分子的攻擊,都是安全問題。單一的方法可能無法解決安全的所有方面,盡管無法有效地做到這一點,但這也是大多數安全團隊為之努力的目標。
取而代之的是,安全團隊需要將整體的安全問題分解為以用戶為中心的安全細分問題。例如,在對客戶的數據保護方面,以確保客戶僅能訪問其權限之內的功能,還需要定義要防御的威脅模型(即攻擊類型)——如果需要防護的是公司某一機密文件,那么主要的防御威脅就是密碼安全問題而非DDoS 攻擊。
對安全的一個誤解是,只有少數安全專家才能從事安全工作。當前,在設計體系結構過程中,在考慮保護分布式系統中的數據免受高級攻擊者攻擊時,這是正確的。但是,如果您只是想確保系統更新沒有破壞現有的身份驗證機制,或者身份驗證沒有被不起眼的小腳本破壞,那就不一定了。
在對整體安全性進行細分后,您可以開始以不同方式解決這些不同方面的安全問題。例如,可以使用標準的靜態和動態分析工具解決大量威脅類型。當然,這些工具并不會修復有缺陷的體系結構,也無法阻止來自高級攻擊者的攻擊,但它們應該能夠處理90%以上的威脅。
這是在整個SDLC 中嵌入安全性的關鍵,因為這意味著您不需要大量的安全專家,因為大多數安全問題都可以通過工具、開發人員和測試人員來解決。您只需要安全專家對體系結構進行安全審查和定期審核即可。
一旦打破了“安全”的概念,讓每個人都參與進安全中來就變得容易得多了,因為并不需要將每個人都成為安全專家,只需學習足夠的知識即可應對90%以上的威脅。
當然,企業仍然需要培訓團隊以了解需要防范什么樣的威脅類型,怎樣的整體安全體系結構。通過將其分解為威脅和技術,該培訓比通用的安全培訓有用得多,并且將有助于確保企業的應用安全。
通過以上這4 個建議,我們相信任何企業都可以實現可靠的安全級別,并開始使DevSecOps 成為現實。如果企業在開發軟件時仍不重新考慮如何實施安全性,那么基于Web 漏洞的數量將會持續增加。
