應(yīng)對(duì)當(dāng)今軟件供應(yīng)鏈安全挑戰(zhàn),以DevOps為中心的安全至關(guān)重要
開(kāi)發(fā)人員及其開(kāi)發(fā)的軟件是當(dāng)今黑客和惡意攻擊者最常用的攻擊媒介。許多開(kāi)發(fā)工具和流程(更不用說(shuō)數(shù)以千計(jì)的開(kāi)源庫(kù)和二進(jìn)制文件)對(duì)于整體軟件供應(yīng)鏈都可能意味著惡意乃至意外的風(fēng)險(xiǎn)。為應(yīng)對(duì)與日俱增的威脅,開(kāi)發(fā)人員、安全負(fù)責(zé)人和運(yùn)營(yíng)團(tuán)隊(duì)都致力于尋找一種能夠更有效地保護(hù)自身軟件生態(tài)系統(tǒng)的方法。
本文引用地址:http://m.butianyuan.cn/article/202306/447222.htm
中國(guó)信息通信研究院發(fā)布的《中國(guó)DevOps現(xiàn)狀調(diào)查報(bào)告(2022)》顯示:已有63.51%的企業(yè)引入了DevSecOps實(shí)踐,同比增加19.81%。這表明DevSecOps在企業(yè)中的影響力繼續(xù)擴(kuò)大。國(guó)內(nèi)機(jī)構(gòu)開(kāi)始越來(lái)越多地采用DevSecOps,專注于“左移”安全,即在軟件開(kāi)發(fā)生命周期的早期引入安全實(shí)踐的想法。但實(shí)際上,DevSecOps更像是一種整體戰(zhàn)略或方法,而非分配給特定群組或個(gè)人的一組具體職責(zé)。
DevSecOps 最適用于定義組織如何解決產(chǎn)品安全問(wèn)題,或在集成開(kāi)發(fā)環(huán)境中建立文化和技術(shù)左移。它還可以提供一個(gè)能夠滿足合規(guī)、安全和開(kāi)發(fā)團(tuán)隊(duì)之間開(kāi)展安全相關(guān)工作所需的機(jī)構(gòu)框架。這里分享JFrog的金融行業(yè)客戶案例。該客戶遇到Log4j中的一個(gè)嚴(yán)重漏洞,名為"Log4Shell"或"CVE-2021-44228",允許攻擊者通過(guò)精心構(gòu)造的日志記錄語(yǔ)句中的特殊字符,執(zhí)行任意遠(yuǎn)程代碼。該漏洞影響范圍廣泛,受到了全球范圍內(nèi)的關(guān)注。針對(duì)這種情況,JFrog產(chǎn)品為用戶提供了以下協(xié)助:
1. 發(fā)布安全通知和建議:JFrog迅速發(fā)布關(guān)于Log4j漏洞的安全通知,并向客戶提供詳細(xì)的修復(fù)建議。幫助客戶及時(shí)了解漏洞,并采取適當(dāng)?shù)拇胧﹣?lái)保護(hù)其系統(tǒng)和應(yīng)用程序。
2. 幫助客戶精準(zhǔn)定位漏洞的影響范圍:JFrog Xray漏洞掃描工具能夠在第一時(shí)間定位所有被該漏洞影響的版本,并實(shí)現(xiàn)受影響版本的阻斷下載。避免不必要的加班,未受影響的團(tuán)隊(duì)可不做處理。
3. 制定自動(dòng)化的漏洞包處理策略,如果有用戶再次下載該漏洞包,則會(huì)提示并阻止下載。
然而,現(xiàn)實(shí)情況是,雖然安全和開(kāi)發(fā)團(tuán)隊(duì)都致力于加強(qiáng)業(yè)務(wù),但兩個(gè)團(tuán)隊(duì)之間的協(xié)作可能具有挑戰(zhàn)性。公司安全團(tuán)隊(duì)的任務(wù)是盡一切努力保護(hù)業(yè)務(wù),而開(kāi)發(fā)人員更愿意編寫(xiě)高質(zhì)量的代碼,而非花時(shí)間修復(fù)漏洞。保護(hù)軟件供應(yīng)鏈所需的特定職責(zé)、任務(wù)和預(yù)算實(shí)際上就落在了DevOps團(tuán)隊(duì)身上。
定義以 DevOps 為中心的安全
顧名思義,DevOps團(tuán)隊(duì)管理軟件開(kāi)發(fā)的運(yùn)營(yíng)方面,并負(fù)責(zé)軟件開(kāi)發(fā)生命周期(SDLC) 的每個(gè)步驟。 當(dāng)安全團(tuán)隊(duì)制定策略,開(kāi)發(fā)團(tuán)隊(duì)編寫(xiě)代碼時(shí),DevOps團(tuán)隊(duì)負(fù)責(zé)管理 SDLC工作流。他們是軟件供應(yīng)鏈的實(shí)際負(fù)責(zé)方。
在軟件供應(yīng)鏈安全方面,DevOps團(tuán)隊(duì)也順理成章地成為了負(fù)責(zé)方。DevOps團(tuán)隊(duì)擁有相應(yīng)的資源、技能和責(zé)任,能夠識(shí)別和解決整體DevOps工作流中的安全問(wèn)題——從開(kāi)發(fā)到運(yùn)行時(shí)再到部署。安全團(tuán)隊(duì)負(fù)責(zé)合規(guī)和業(yè)務(wù)需求,開(kāi)發(fā)團(tuán)隊(duì)會(huì)遇到大量安全請(qǐng)求、流程和法規(guī)處理問(wèn)題,而這些并非其核心競(jìng)爭(zhēng)力。DevOps團(tuán)隊(duì)參與軟件開(kāi)發(fā)流程的每一步,所以非常適合充當(dāng)安全團(tuán)隊(duì)與開(kāi)發(fā)團(tuán)隊(duì)之間的橋梁。
以DevOps為中心的安全能夠提供機(jī)構(gòu)軟件供應(yīng)鏈的端到端視圖,并標(biāo)記大量漏洞和薄弱環(huán)節(jié),例如CVE、配置問(wèn)題、機(jī)密泄露和基礎(chǔ)設(shè)施即代碼違規(guī)。 它還建議在軟件開(kāi)發(fā)生命周期的每個(gè)階段(從代碼到容器,再到設(shè)備)采取補(bǔ)救策略。
以 DevOps 為中心的安全如何運(yùn)作?
以DevOps為中心的安全方法建立在嚴(yán)格的流程和持續(xù)的自動(dòng)化測(cè)試之上,這是所有 DevOps團(tuán)隊(duì)的標(biāo)志。更重要的是,它指導(dǎo)著國(guó)內(nèi)的機(jī)構(gòu)清楚地了解每處漏洞,并提出能夠有效解決問(wèn)題的行動(dòng)建議。
具體如下:
關(guān)注二進(jìn)制文件和源代碼
現(xiàn)代軟件供應(yīng)鏈只有一項(xiàng)交付到生產(chǎn)中的核心資產(chǎn):軟件二進(jìn)制文件,它有多種形式——從數(shù)據(jù)包到容器,再到歸檔文件。攻擊者日益聚焦于攻擊二進(jìn)制文件,因其包含的信息比單獨(dú)的源代碼更多。 通過(guò)分析二進(jìn)制文件和源代碼,DevOps團(tuán)隊(duì)就能更全面地了解任何影響或發(fā)生漏洞利用之處。這有助于消除復(fù)雜性并簡(jiǎn)化安全檢測(cè)、評(píng)估和補(bǔ)救工作。
上下文情境分析:確定哪些漏洞、薄弱環(huán)節(jié)和風(fēng)險(xiǎn)需要補(bǔ)救,以及最具成本效益的補(bǔ)救方法
嚴(yán)重漏洞的數(shù)量和被識(shí)別出的頻次都在增加。 然而,這些CVE可能會(huì)被利用,也可能不會(huì)被利用,具體取決于應(yīng)用程序的配置、身份驗(yàn)證機(jī)制的使用、以及密鑰的暴露等因素。 以DevOps為中心的安全著眼于軟件運(yùn)行的上下文情境,以確定優(yōu)先級(jí)并建議如何快速有效地修復(fù)漏洞,而不會(huì)將開(kāi)發(fā)人員的時(shí)間浪費(fèi)在不適用的問(wèn)題上。掃描并分析容器中開(kāi)源漏洞的能力尤為重要,因?yàn)槿缃袷褂萌萜鱽?lái)隱藏惡意代碼的行為呈上升趨勢(shì)。
提供軟件供應(yīng)鏈的整體視圖
通過(guò)參與軟件開(kāi)發(fā)流程中的每一步,DevOps團(tuán)隊(duì)可以全面了解公司的軟件供應(yīng)鏈及其所有薄弱環(huán)節(jié)。以DevOps為中心的安全能夠分析二進(jìn)制文件、基礎(chǔ)設(shè)施、集成、版本發(fā)布和傳播流動(dòng),所有這些都在一處進(jìn)行,消除了信息不同或有限的不同安全系統(tǒng)以及不一致的報(bào)告導(dǎo)致的混淆。因此,當(dāng)在使用DevOps流程來(lái)實(shí)施安全時(shí),不僅可以掃描以識(shí)別軟件中的問(wèn)題,還可以幫助開(kāi)發(fā)人員確定問(wèn)題的優(yōu)先級(jí)并快速輕松地對(duì)其進(jìn)行修復(fù)。
總之,國(guó)內(nèi)機(jī)構(gòu)正面臨著軟件供應(yīng)鏈安全威脅的新時(shí)代。JFrog認(rèn)為,快速、大規(guī)模地智能交付安全軟件的最佳方式是為各機(jī)構(gòu)的軟件供應(yīng)鏈部署以DevOps為中心的安全體系。
評(píng)論