導致DevSecOps失敗的7種最常見原因
譯文【51CTO.com快譯】組織在實施DevSecOps的過程中通常充滿著風險,因此需要仔細考慮組織的文化、員工培訓、工作流程和業務需求,并了解往往在這些方面導致DevSecOps失敗的一些原因。
組織采用DevSecOps的原因有多種:實現數字化轉型、更快地交付價值、獲得競爭優勢,以及降低安全修復成本等。盡管急于實施和采用,但一些組織的DevSecOps計劃遭遇失敗,而導致失敗的原因是可以避免的,以下是導致組織實施DevSecOps失敗的7種最常見的原因。
1.未能建立學習文化
根據調研機構麥肯錫公司最近發布的一份調查報告,人才和文化問題是組織在實施數字化轉型方面面臨的最大挑戰,其中包括DevSecOps。而具有不斷嘗試和持續學習的企業文化的組織將通過DevSecOps獲得更大的成功。
而通過日常的學習,保留員工學習和改進的時間,以及開展提高勞動力技能的教育和培訓,可以促進DevSecOps的實施。這可以通過投資學習訂閱、提供援助和證書報銷來實現。組織通過內部或外部的技術專家在研討會分享專業知識和經驗的方式也很有效。
2.忽視跨團隊職能教育
組織的開發團隊和安全團隊之間通常存在著一種潛在的緊張關系。在學習文化的基礎上,必須開展跨團隊的職能教育,這是消除孤島和緩解緊張關系的更廣泛要求的一部分。
由Linux基金會和哈佛大學創新科學實驗室進行的2020年自由和開源軟件(FOSS)貢獻者的調查發現,自由和開源軟件(FOSS)開發人員在提高代碼安全性方面只花費2.3%的工作時間。他們通常使用諸如“靈魂枯竭”之類的術語來描述安全編程和安全性面臨的現狀。在組織希望提高安全性的時代,開發人員在提交代碼和生產升級之前處于緩解安全漏洞的首要位置,他們必須了解安全編碼的組織價值,并激勵他們去追求編寫更安全的代碼。
另一方面,他們也發現自己處在“一切即代碼”的運營環境中。從應用程序代碼、基礎設施即代碼(IaC)、合規性代碼,Kubernetes清單,以及持續集成(CI)/連續交付(CD)管道YAML模板,代碼無處不在。而組織的安全專業人員并不需要成為優秀的開發人員,但是他們應該從更高的層次理解編碼實踐,并能夠審查模板中常見的錯誤配置和漏洞。這也將改善兩個團隊之間的合作。
3.忽略交流DevSecOps的業務價值
關于DevSecOps的任何努力都應與組織的關鍵業務目標聯系在一起。實施DevSecOps是一個轉型之旅,需要組織的關鍵利益相關者的認同和參與。
因此,傳達DevSecOps的業務價值至關重要。組織的高管必須清楚地了解實施DevSecOps的原因。做到這一點最有效的方法之一就是通過指標來衡量,例如DevOps研究和評估(DORA)協會提供的指標,組織可以也應該使用其他指標。正如卡內基梅隆大學軟件工程學院(SEI)的Bill Nichols所說,“其指標必須是可訪問的、可用的,并且與業務目標相關。”
而交流DevSecOps的業務價值并使用指標衡量,可以確保獲得組織的關鍵利益相關者和高層管理人員的支持。
4. 由于擔心失敗而過度規避風險
同樣,成功采用DevSecOps的高績效組織和團隊擁有學習文化。與之相反的是,一些組織由于擔心失敗而過度規避風險。其實失敗是學習過程中的一種自然的副產品。
如果組織的團隊和員工沒有處在犯錯然后吸取教訓并反復糾正失敗的寬松環境中,那么成功采用DevSecOps的機會就很小。組織必須授權團隊成員不斷學習,識別缺陷,提高能力。這只發生在基于透明性、安全性、信任的環境中。
過度避免風險的另一種方法是使安全性成為實現DevSecOps的主要障礙。在實施DevSecOps的環境中,開發人員對于安全性的一個普遍抱怨是,“它太麻煩了,并且會拖慢創新和交付速度。”這種抱怨并非沒有道理。組織必須找到有效方法以盡可能少的障礙來實施安全性。這可以通過與開發人員工作流程集成、將安全專家嵌入開發團隊、在開發人員中建立安全支持者的方式來完成。
5.工具的擴展和碎片化
如今,數字化轉型和技術創新的步伐日益加快,推動了云原生領域的快速增長。這種增長提供了廣泛而豐富的工具和應用程序選擇,以幫助實現組織的DevSecOps目標。但是,工具數量的擴展也為許多組織創造了更加復雜和脫節的環境。如果查看一下云原生計算基金會(CNCF)面臨的環境,就可以了解這種環境的多樣性。
由于工具鏈的擴展,組織在可見性和生產力方面面臨挑戰。組織為此尋求采用工具鏈管理選項,以解決其工具擴展及其帶來的低效率問題。
云原生計算基金會的2021云原生互動景觀
這些問題并不是DevOps所獨有的。其安全性也面臨著與工具擴展相關的挑戰。云計算安全聯盟(CSA)在2020年進行的“基于云計算的智能生態系統”的調查結果表明,大多數組織都在努力確定他們的安全工具是否能夠正常工作,以及是否能夠產生投資回報率(ROI)價值,他們的團隊甚至正在努力跟上運營環境中的工具發展步伐。
在人們所處的快速動態和不斷發展的IT生態系統中,工具擴展和碎片化是真正的威脅。它們會影響可見性、生產力,最重要的是會影響安全性。其威脅將繼續擴散,如果組織缺乏真正的可見性和控制力,那么將會處于危險之中,甚至根本不知道面臨危險。
6.安全文化薄弱
很多行業組織根本沒有足夠的安全專業人員。根據ISC2 2020網絡安全工作人員的研究,全球目前短缺312萬名網絡安全專業人員。
在很多組織中,安全專業人員的數量遠遠超過其開發人員和運營人員。而開發人員在軟件開發生命周期(SDLC)的早期階段處于緩解安全問題的關鍵位置,運營團隊已經識別運營異常并做好準備,實現安全必須由團隊成員共同努力。
建立安全文化,首先要認識到安全是組織所有相關人員的責任。當然,對于安全問題和原則的溝通和認識還有很長的路要長。安全團隊和工作人員必須轉變為可以幫助實現共享結果的合作伙伴,同時在這些工作中整合關鍵的安全要求。
7.認為可以“購買” DevSecOps
許多組織急于實施DevSecOps,因為他們認為可以簡單地“購買”DevSecOps。而“如果實現持續集成(CI)/持續交付(CD)管道,那么我們正在執行DevSecOps”這種想法是不正確的。
DevSecOps是一種方法,可以通過人員、流程和技術來促進,但人員和流程這兩種方法可能比技術更為重要。如果不努力實現與敏捷性和DevSecOps原則相一致的文化,那么組織實施DevSecOps就不太可能獲得成功。
對于沒有根據上述原則和實踐更新和實施新流程的組織來說,也會面臨這種情況。將原有的運營模式強加于現代技術和實踐中只會導致組織工作的混亂、效率低下以及人員沮喪。這種情況將出現在努力促進DevSecOps的團隊和預期DevSecOps實現相關關鍵業務成果的領導層中。
實施DevSecOps并非易事。但如果正確地、耐心地專注于關鍵能力,則可以為組織帶來巨大的好處。與傳統方法相比,DevSecOps不僅可以提高交付率、響應用戶和市場需求,以及獲得競爭優勢,而且可以更快、更便宜、更有效地緩解和應對漏洞。
原文標題:7 most common ways to fail at DevSecOps,作者:Chris Hughes
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】