關(guān)于DevSecOps CIO給出的四項(xiàng)指導(dǎo)原則
IT領(lǐng)導(dǎo)者如何在交付高質(zhì)量軟件和維護(hù)安全性的同時(shí)推動(dòng)數(shù)字化轉(zhuǎn)型?他們需要考慮采用一些DevSecOps指導(dǎo)原則。
軟件領(lǐng)導(dǎo)者如今都非常熟悉“移動(dòng)球門柱”的這一理念,而業(yè)務(wù)部門通常要求他們更快地提供新功能,并且當(dāng)這樣做時(shí),這些功能必須能夠跨平臺(tái)兼容。
其目標(biāo)再次改變:希望要快速獲得高質(zhì)量的軟件,并且沒有更多的漏洞,符合數(shù)據(jù)隱私法規(guī),并且能夠滿足企業(yè)響應(yīng)市場的新要求。
DevSecOps的誕生就是為了滿足這些要求,其目標(biāo)是將軟件開發(fā)、運(yùn)營和安全整合到一個(gè)協(xié)作系統(tǒng)中。所有的利益相關(guān)者在該系統(tǒng)中共同努力,在軟件開發(fā)和部署之前主動(dòng)解決安全問題。
當(dāng)然,實(shí)現(xiàn)目標(biāo)說起來容易做起來難。以下概述的四項(xiàng)原則是從將這些想法付諸實(shí)踐的經(jīng)驗(yàn)中得出的。
1.定義有意義的指標(biāo),讓團(tuán)隊(duì)保持一致
DevSecOps所代表的三個(gè)功能受到不同的激勵(lì)。開發(fā)團(tuán)隊(duì)的衡量標(biāo)準(zhǔn)是在加速開發(fā)的同時(shí)提供新功能的能力。Ops團(tuán)隊(duì)是根據(jù)支持應(yīng)用程序組合的基礎(chǔ)設(shè)施的性能和可用性來判斷的。雖然DevOps以提高效率的名義統(tǒng)一開發(fā)和運(yùn)營這兩個(gè)領(lǐng)域,但安全性往往是事后才考慮的問題。這導(dǎo)致應(yīng)用程序不安全,流程陷入困境。
通過應(yīng)用諸如目標(biāo)和關(guān)鍵結(jié)果(OKR)等普遍理解的框架,使DevSecOps實(shí)踐與業(yè)務(wù)目標(biāo)保持一致至關(guān)重要。這樣的框架有助于建立所有利益相關(guān)者都認(rèn)同的基于目標(biāo)的結(jié)果的基線。它還可以幫助團(tuán)隊(duì)定義一組共享的指標(biāo)并確定其優(yōu)先級(jí),這些指標(biāo)可以作為統(tǒng)一的事實(shí)來源。例如,其中一個(gè)目標(biāo)可能是增加發(fā)布到生產(chǎn)環(huán)境的數(shù)量,其潛在的結(jié)果是將檢測故障的平均時(shí)間從兩小時(shí)減少到20分鐘。
2.將安全性納入開發(fā)過程
如果在過去幾年教會(huì)了人們什么的話,那就是安全漏洞可以在開發(fā)生命周期的任何時(shí)候引入應(yīng)用程序。很多企業(yè)采用零碎的工具和人員配置方法來解決關(guān)鍵問題,但最終仍會(huì)留下漏洞。
當(dāng)安全性沒有觸及開發(fā)過程的每個(gè)部分時(shí),就會(huì)出現(xiàn)漏洞。成熟的DevSecOps實(shí)踐試圖通過將安全性納入到DevOps的所有階段來解決這些問題,將安全性轉(zhuǎn)移到包括預(yù)生產(chǎn)一直到生產(chǎn)和發(fā)布新軟件功能或更新的整個(gè)過程。
將安全性納入開發(fā)過程意味著安全成為每個(gè)團(tuán)隊(duì)成員的責(zé)任,在軟件開發(fā)管道的每個(gè)階段,從首席信息官到應(yīng)用程序架構(gòu)師、開發(fā)人員和站點(diǎn)可靠性工程師(SRE)。零信任安全和設(shè)計(jì)安全等概念需要成為一種強(qiáng)制性的設(shè)計(jì)原則,而不是錦上添花的選擇。
3.整體思考、反復(fù)行動(dòng)、適當(dāng)自動(dòng)化
現(xiàn)代軟件越來越多地是組裝而不是開發(fā)。調(diào)研機(jī)構(gòu)Gartner公司估計(jì),開發(fā)人員編寫的實(shí)際代碼量不到最終應(yīng)用程序的10%。因此,成熟的DevSecOps實(shí)踐必須不斷考慮各個(gè)部分的總和,以免陷入sprint周期的細(xì)節(jié)中。
因此,雖然為了簡化、可重復(fù)性和速度而進(jìn)行的自動(dòng)化是將安全性左移的關(guān)鍵,但要警惕自動(dòng)化面臨的問題。通過可重復(fù)的配置和變更管理標(biāo)準(zhǔn)化技術(shù)和流程之后,盡可能實(shí)現(xiàn)自動(dòng)化。
人們經(jīng)??吹紻evSecOps團(tuán)隊(duì)致力于自動(dòng)化更改過于頻繁或尚未標(biāo)準(zhǔn)化的流程。這會(huì)導(dǎo)致維護(hù)噩夢,團(tuán)隊(duì)成員花費(fèi)更多時(shí)間跟蹤和修復(fù)問題,而不是從自動(dòng)化中獲益。
4.培養(yǎng)問責(zé)文化
每個(gè)成熟的DevSecOps的核心是一種有意識(shí)的文化,它促進(jìn)協(xié)作并鼓勵(lì)共同承擔(dān)責(zé)任。但是當(dāng)每個(gè)人都有責(zé)任時(shí),真的會(huì)有人負(fù)責(zé)嗎?也許更重要的是:如何讓技能、個(gè)性和動(dòng)機(jī)截然不同的人員有效地合作?
成熟的DevSecOps文化更多的是關(guān)于人員和文化,而不是人們用來完成工作的工具。
問責(zé)制文化的特點(diǎn)是通過行動(dòng)形成的指導(dǎo)原則分擔(dān)責(zé)任。創(chuàng)造這種文化的首席信息官使企業(yè)的員工能夠接受行為變化。換句話說,它從頂部開始,但從底部向上滲透。分享經(jīng)驗(yàn)教訓(xùn)和樹立自我意識(shí)是首席信息官“成為變革者”,并發(fā)展他們正在努力培養(yǎng)的問責(zé)文化的方式。
毫無疑問,軟件將繼續(xù)滿足企業(yè)的需求。但是,只有當(dāng)所有利益相關(guān)者都從同一個(gè)菜單中訂購時(shí),現(xiàn)代軟件的需求才會(huì)得到滿足。成熟的DevSecOps實(shí)踐將使首席信息官能夠?qū)⑺麄兊膽?zhàn)略從反應(yīng)轉(zhuǎn)變?yōu)閺椥?,并使他們能夠提供變革業(yè)務(wù)的創(chuàng)新。