長(zhǎng)期以來(lái),傳統(tǒng)的開(kāi)發(fā)實(shí)踐一直將安全性和合規(guī)性分開(kāi),但 DevSecOps 將安全性集成到 DevOps 軟件開(kāi)發(fā)生命周期的每個(gè)階段。該方法不僅節(jié)省了資金和繁瑣的手動(dòng)任務(wù)時(shí)間,而且顯著降低了在軟件最終構(gòu)建后發(fā)現(xiàn)關(guān)鍵安全漏洞的風(fēng)險(xiǎn)。
供應(yīng)鏈風(fēng)險(xiǎn)漸增,DevSecOps 備受關(guān)注
隨著越來(lái)越多的企業(yè)采用云技術(shù)和數(shù)字化轉(zhuǎn)型,其面臨的數(shù)字威脅和整體風(fēng)險(xiǎn)也越來(lái)越高。Anchore 發(fā)布的《 2021 軟件供應(yīng)鏈安全報(bào)告》顯示,38% 的高級(jí)容器用戶(hù)表示,容器化應(yīng)用程序比傳統(tǒng)應(yīng)用程序風(fēng)險(xiǎn)更大。因?yàn)樗鼈兺ǔ?huì)帶來(lái)多個(gè)開(kāi)源 (OSS) 或第三方依賴(lài)項(xiàng),從而產(chǎn)生新的軟件供應(yīng)鏈風(fēng)險(xiǎn)。
因此,大多數(shù)現(xiàn)代企業(yè)都在思考,如何構(gòu)建符合安全預(yù)期的產(chǎn)品和服務(wù),如何制定安全流程以及其他風(fēng)險(xiǎn)管理解決方案。正如該報(bào)告調(diào)查結(jié)果顯示,60% 的受訪者已將保護(hù)軟件供應(yīng)鏈作為 2022 年的首要舉措。
DevSecOps 被認(rèn)為是快速、安全地構(gòu)建軟件的最有效方法之一。它意味著,在軟件開(kāi)發(fā)生命周期 (SDLC) 中,不管是開(kāi)發(fā)團(tuán)隊(duì),還是安全團(tuán)隊(duì),亦或者是運(yùn)營(yíng)團(tuán)隊(duì),都要盡早解決安全問(wèn)題。
如果將安全性留到軟件開(kāi)發(fā)過(guò)程的最后,或者軟件部署之后,只會(huì)增加總成本。因?yàn)樵诓渴疖浖笮迯?fù)漏洞比在開(kāi)發(fā)過(guò)程中解決問(wèn)題,付出的代價(jià)要高得多。
DevSecOps 將安全、合規(guī)性和開(kāi)發(fā)問(wèn)題統(tǒng)一為一個(gè)協(xié)作問(wèn)題,使企業(yè)能夠更快、更輕松地構(gòu)建安全代碼。要實(shí)現(xiàn)這一目標(biāo),DevOps 和自動(dòng)化顯然是關(guān)鍵因素。那么,如何加強(qiáng)供應(yīng)鏈、改進(jìn)安全監(jiān)督并加強(qiáng)他們的 DevSecOps 方法呢?其中一些方法如下:
•確保 CI/CD 管道與開(kāi)發(fā)中的 DAST 和 SAST 測(cè)試集成;
•確保在提交或合并代碼之前,開(kāi)發(fā)人員和 DevOps 團(tuán)隊(duì)在編寫(xiě)代碼時(shí)就已經(jīng)完成漏洞掃描;
•使用自動(dòng)化 AI/ML 工具來(lái)盡可能減少手動(dòng)操作帶來(lái)的風(fēng)險(xiǎn),以支持更有效的掃描和監(jiān)控;
•投資于可提高多云環(huán)境安全性的管理解決方案。
實(shí)現(xiàn) DevSecOps 并不容易
依靠 DevSecOps 的確可以更加徹底地解決安全問(wèn)題,但與此同時(shí),它也會(huì)降低軟件開(kāi)發(fā)速度 —— 至少很多人是這么以為的。這并不是錯(cuò)覺(jué),因?yàn)閷?shí)踐 DevSecOps 具有一定的復(fù)雜性。
比如說(shuō),對(duì)安全團(tuán)隊(duì)而言,不僅要需要確保 DevSecOps 計(jì)劃能夠?yàn)槠髽I(yè)的文化帶來(lái)價(jià)值,同時(shí)還要加快修復(fù)速度、捕獲正確的指標(biāo),并根據(jù)風(fēng)險(xiǎn)對(duì)問(wèn)題進(jìn)行分類(lèi)和優(yōu)先級(jí)排序,以避免重大負(fù)面事件的發(fā)生 。
DevSecOps 提倡在敏捷開(kāi)發(fā)過(guò)程中使用主動(dòng)滲透測(cè)試、安全審計(jì)和其他安全工具等。因此,需要選擇正確的 DevSecOps 工具包來(lái)進(jìn)行軟件安全測(cè)試,并且,這些工具要能夠輕松集成到軟件開(kāi)發(fā)中,可以跨多個(gè)項(xiàng)目使用。由于市面上存在大量的工具,僅就如何辨別、選擇、學(xué)習(xí)測(cè)試工具來(lái)說(shuō),本身就是一道難題,即使對(duì)于那些懂行的人來(lái)說(shuō)也是如此。
此外,DevSecOps 自動(dòng)化流程不僅需要諸多技術(shù)工具,還需要將這些工具與文化方面結(jié)合才能使其發(fā)揮作用。安全團(tuán)隊(duì)需要靜態(tài)分析工具來(lái)檢查代碼;需要第三方庫(kù)分析來(lái)檢查依賴(lài)關(guān)系;需要單獨(dú)分析檢查基礎(chǔ)設(shè)施即代碼(IaC)配置;需要掃描器來(lái)檢查容器是否存在問(wèn)題;需要工具來(lái)測(cè)試正在運(yùn)行的系統(tǒng)?????這些工具還應(yīng)與每個(gè)團(tuán)隊(duì)正在使用的正確技術(shù)相匹配,并隨著技術(shù)更新不斷變化。
如何克服這些挑戰(zhàn)?
鑒于這些復(fù)雜性,DevSecOps 團(tuán)隊(duì)如何才能克服這些挑戰(zhàn),并使用正確的工具集構(gòu)建有效的 DevSecOps 計(jì)劃? 以下是一些淺見(jiàn):
保持安全流程的靈活性
技術(shù)工具固然是實(shí)現(xiàn)安全流程一致、可重復(fù)的重要手段,但也不必綁定得太過(guò)于緊密。因?yàn)樵谝粋€(gè)開(kāi)發(fā)團(tuán)隊(duì)中,往往會(huì)存在使用不同的技術(shù)堆棧、不同的語(yǔ)言和框架的情況,如果將流程與一些工具綁定得太緊密,情況一旦有變,很難靈活地進(jìn)行安全檢查。一致性、可重復(fù)的安全流程,只是整個(gè)安全流程的一部分,其他的可能還需要更加靈活的手段。
善于利用自動(dòng)化
如果開(kāi)發(fā)流程順利且自動(dòng)地運(yùn)行,那么就應(yīng)該拒絕任何手動(dòng)的安全步驟。自動(dòng)化將安全性成功集成到 DevOps 中,可以縮短反饋回路并減少?zèng)_突,從而使工程師能夠更快、更順利地檢測(cè)和修復(fù)安全性和合規(guī)性問(wèn)題,成為軟件開(kāi)發(fā)工作流程的一部分。以 SoFlu 軟件機(jī)器人為例它能夠?qū)崿F(xiàn)全自動(dòng)化軟件開(kāi)發(fā),是一款讓企業(yè)快速實(shí)踐 DevSecOps的絕佳工具,在開(kāi)發(fā)人員和安全專(zhuān)業(yè)人員之間創(chuàng)建一個(gè)協(xié)作環(huán)境,使企業(yè)能夠更快、更輕松地構(gòu)建安全代碼。
以自動(dòng)開(kāi)發(fā)為例,專(zhuān)業(yè)開(kāi)發(fā)人員,或者沒(méi)有編程基礎(chǔ)和開(kāi)發(fā)技能的普通人,只需通過(guò) SoFlu 軟件機(jī)器人的協(xié)助,在可視化界面拖拽組件,就可以創(chuàng)建復(fù)雜程度不同的軟件。而且,由于平臺(tái)套用封裝代碼,基本消除了測(cè)試修復(fù) bug 的環(huán)節(jié)。也就是說(shuō),通過(guò)自動(dòng)化的方式來(lái)實(shí)現(xiàn)軟件開(kāi)發(fā),能夠很好地保證軟件的安全性。
密切關(guān)注投資回報(bào)率
很多大型商業(yè)工具,可能并未被充分利用,這很常見(jiàn)。不妨探索一下,如何將商業(yè)工具輕松引入到現(xiàn)有流程,取得更好的投資回報(bào)。
沒(méi)有免費(fèi)的午餐
開(kāi)源社區(qū)提供了出色的安全工具,但有一點(diǎn)需謹(jǐn)記:使用這些工具和管理輸出是需要花費(fèi)時(shí)間成本的。從開(kāi)發(fā)人員學(xué)習(xí)如何運(yùn)行它們,再到實(shí)際運(yùn)行它們或管理誤報(bào)等等,都需要時(shí)間 —— 這意味,它們都不是免費(fèi)的。如果每次發(fā)布都要花費(fèi)兩個(gè)小時(shí),那么這個(gè) “免費(fèi)” 工具可能并不值得。
如今,DevSecOps 已經(jīng)成為許多有遠(yuǎn)見(jiàn)的企業(yè)首選的安全流程,越早投入到這場(chǎng)開(kāi)發(fā)變革中,就能積累更多技術(shù)能力來(lái)塑造自己的競(jìng)爭(zhēng)力,搶占迅速變化的市場(chǎng)。
(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。 )