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