新聞中心
DevSecOps是指先在應(yīng)用程序開發(fā)的生命周期中引入安全性,從而盡可能地減少漏洞并使安全性更接近IT和業(yè)務(wù)目標(biāo)。

DevSecOps定義
DevSecOps是軟件行業(yè)的一種文化轉(zhuǎn)變,旨在將安全性納入現(xiàn)代應(yīng)用程序開發(fā)和部署所特有的快速發(fā)布周期中,也稱為DevOps運(yùn)動。接受這種左傾心態(tài)需要組織彌合開發(fā)團(tuán)隊(duì)和安全團(tuán)隊(duì)之間通常存在的鴻溝,以至于許多安全流程都由開發(fā)團(tuán)隊(duì)自己進(jìn)行自動化和處理。
DevSecOps與傳統(tǒng)軟件開發(fā)有何不同?
傳統(tǒng)上,主要的軟件開發(fā)人員過去每隔幾個月甚至幾年發(fā)布一次新版本的應(yīng)用程序。這為代碼提供了足夠的時(shí)間來保證質(zhì)量和進(jìn)行安全測試,這些過程由獨(dú)立的內(nèi)部或外部合同的專門團(tuán)隊(duì)執(zhí)行。
但是,在過去的十年中,公共云、容器和微服務(wù)模型的興起,將整體式應(yīng)用程序分解為獨(dú)立運(yùn)行的較小部分。這種故障還直接影響了軟件的開發(fā)方式,導(dǎo)致了滾動發(fā)布和敏捷開發(fā)實(shí)踐,在這些實(shí)踐中,新功能和代碼不斷以快速的步伐投入生產(chǎn)。其中許多流程已通過使用新技術(shù)和新工具而實(shí)現(xiàn)了自動化,從而使公司能夠更快地進(jìn)行創(chuàng)新并保持競爭優(yōu)勢。
云,容器和微服務(wù)的進(jìn)步也導(dǎo)致了業(yè)界所謂的DevOps文化的出現(xiàn),開發(fā)人員現(xiàn)在可以在不等待單獨(dú)的基礎(chǔ)架構(gòu)團(tuán)隊(duì)為他們完成的情況下配置和擴(kuò)展所需的基礎(chǔ)架構(gòu)。現(xiàn)在,所有主要的云提供商都提供了API和配置工具,這些API和配置工具允許使用部署模板將基礎(chǔ)結(jié)構(gòu)配置視為代碼。
盡管DevOps文化為軟件開發(fā)帶來了很多創(chuàng)新,但是安全性往往無法跟上代碼的生產(chǎn)和發(fā)布的新速度。DevSecOps旨在糾正這一問題,并將安全性測試完全集成到持續(xù)集成(CI)和持續(xù)交付(CD)管道中,同時(shí)也積累了開發(fā)團(tuán)隊(duì)所需的知識和技能,以便可以測試和修復(fù)結(jié)果也可以在內(nèi)部完成。
構(gòu)成真正的DevSecOps環(huán)境的三個關(guān)鍵因素是:
· 安全測試由開發(fā)團(tuán)隊(duì)完成。
· 測試期間發(fā)現(xiàn)的問題由開發(fā)團(tuán)隊(duì)管理。
· 解決這些問題的責(zé)任在于開發(fā)團(tuán)隊(duì)。
應(yīng)用程序安全測試公司Veracode的聯(lián)合創(chuàng)始人兼首席技術(shù)官Chris Wysopal告訴CSO:“最后一個需要花費(fèi)一些時(shí)間,但是我認(rèn)為那是應(yīng)用程序安全真正成為DevSecOps的時(shí)候,不需要一個單獨(dú)的團(tuán)隊(duì)了。”
實(shí)現(xiàn)真正的安全/開發(fā)集成
根據(jù)Wysopal的說法,實(shí)現(xiàn)最后一步之所以很困難,是因?yàn)殚_發(fā)人員必須建立無需外部指導(dǎo)即可修復(fù)與安全相關(guān)的bug所需的技能,而這需要時(shí)間。許多團(tuán)隊(duì)通過在開發(fā)團(tuán)隊(duì)中嵌入所謂的安全冠軍來達(dá)到目標(biāo)??。這是一個在應(yīng)用程序安全方面具有專業(yè)知識的人,并且比整個團(tuán)隊(duì)中的大多數(shù)人接受了更高級的培訓(xùn),即使對整個團(tuán)隊(duì)進(jìn)行安全編程實(shí)踐的培訓(xùn)也應(yīng)該是過程的一部分。此人可以查看安全修補(bǔ)程序,以確保它們是正確的。
這并不意味著安全擁護(hù)者不能在團(tuán)隊(duì)之外尋求專家意見。例如:向該公司的應(yīng)用程序安全測試提供商提供服務(wù),后者可能會為客戶提供咨詢服務(wù)。在特殊情況下,這不是正常的情況。這與擁有獨(dú)立的開發(fā)和安全團(tuán)隊(duì),以及將一個或多個安全團(tuán)隊(duì)成員嵌入開發(fā)團(tuán)隊(duì)不同。
根據(jù)DevOps自動化和開源治理公司Sonatype的CTO Brian Fox的說法,開發(fā)和安全性之間的集成也需要在管理層進(jìn)行。Fox告訴CSO:“當(dāng)安全任務(wù)與完全集成到開發(fā)中而不完全融合時(shí),我認(rèn)為您沒有得到正確的選擇。有時(shí)候,即使人們在同一個團(tuán)隊(duì)中工作,您也會遇到目標(biāo)不同的管理層沖突。這是許多組織中發(fā)生的事情的一個要素?!?/p>
Fox表示,這是在質(zhì)量檢查之前發(fā)生的,那里曾經(jīng)有一個質(zhì)量檢查經(jīng)理和工程經(jīng)理,他們在一起工作,但是總有一些部落主義在進(jìn)行。“一旦這種情況消失了,質(zhì)量保證已成為開發(fā)團(tuán)隊(duì)人員所做工作的一部分,您就不再看到我們與他們的心態(tài),而我們在安全性方面還沒有到位。我認(rèn)為這就是很多公司掙扎。”
DevSecOps測試和工具
硅谷科技公司在早期采用DevSecOps方面處于領(lǐng)先地位,但是當(dāng)時(shí)可用的安全測試工具對開發(fā)人員并不友好。開發(fā)人員需要命令行工具,這些工具可以自動化,以便他們可以輕松地調(diào)整各種配置,并且可以輕松地將其輸出導(dǎo)入錯誤跟蹤器。而傳統(tǒng)的安全掃描程序在設(shè)計(jì)時(shí)就考慮了安全團(tuán)隊(duì)和CISO,其目標(biāo)是治理、安全性、政策合規(guī)和風(fēng)險(xiǎn)管理。
慢慢地出現(xiàn)了由開發(fā)人員為開發(fā)人員創(chuàng)建的新工具,這些新工具已集成到開發(fā)環(huán)境和CI / CD工作流程中。有些是開源的,有些是圍繞它們構(gòu)建的啟動業(yè)務(wù)模型,但是當(dāng)它們解決了開發(fā)人員的需求時(shí),他們并沒有真正滿足CISO的需求。
如果使用了許多不同的開放源代碼工具,則開發(fā)團(tuán)隊(duì)可能會覺得他們正在涵蓋他們認(rèn)為需要涵蓋的內(nèi)容。Wysopal說,從治理的角度來看,安全團(tuán)隊(duì)很難將所有這些不同的分散工具映射到公司的策略。
在過去的兩年中,傳統(tǒng)的應(yīng)用程序安全供應(yīng)商已更改其產(chǎn)品,以解決這兩種用例:提供CISO所需的分析和報(bào)告,并具有開發(fā)人員期望的靈活性和易用性。一些針對諸如GitHub之類的開發(fā)人員的基于云的服務(wù)提供商已開始直接在其服務(wù)中添加安全性測試。當(dāng)它不能作為本機(jī)功能使用時(shí),通??梢宰鳛榈谌焦?yīng)商的集成在服務(wù)市場中使用。
“在過去的兩年中,我們看到了事情的搖擺朝著無所不包的單一套件的方向發(fā)展?!?Fox警告說,當(dāng)下一個顛覆性技術(shù)問世時(shí),這種整合將在某個時(shí)候逆轉(zhuǎn),企業(yè)需要為此做好準(zhǔn)備。套件的問題在于,它們可以在組織需要的一項(xiàng)或多項(xiàng)事情上表現(xiàn)出色,但隨后包含了其他可用的功能,因?yàn)樗鼈兪请S包免費(fèi)提供的。隨著時(shí)間的流逝,這可能導(dǎo)致組織內(nèi)部的開發(fā)人員群體破裂,他們將開始測試和使用比公司認(rèn)可的套件更好地滿足其需求的其他工具。
從治理的角度來看,擁有不受管理的團(tuán)隊(duì)是不好的,但是公司需要意識到,從現(xiàn)在起的一兩年內(nèi),這種情況將不可避免地發(fā)生,盡管嘗試限制工具的使用,但總會有一些開發(fā)人員來做自己的事情。“最早采用云技術(shù)的人有時(shí)是規(guī)模更大的組織中的個人團(tuán)隊(duì),他們在反駁購買計(jì)算機(jī)所需的時(shí)間?!?Fox說到。
DevSecOps的采用
根據(jù)Wysopal的說法,越來越多的公司正在將自動化安全掃描集成為CI / CD管道的一部分,但是由于他所說的“安全債務(wù)”(即導(dǎo)致生產(chǎn)中存在的漏洞數(shù)量),結(jié)果可能不會立即顯現(xiàn)。因?yàn)殚_發(fā)人員選擇不修復(fù)它們。
發(fā)生這種情況的原因可能多種多樣,包括無法立即對其進(jìn)行修復(fù),由于存在其他緩解措施而沒有計(jì)劃對其進(jìn)行修復(fù),或者由于它們的嚴(yán)重性較低而沒有對其進(jìn)行修復(fù)。
Veracode 發(fā)布的2019年軟件安全狀態(tài)報(bào)告中,基于一年中,其對85,000個應(yīng)用程序執(zhí)行的掃描收集的數(shù)據(jù)結(jié)果顯示,應(yīng)用程序中發(fā)現(xiàn)漏洞的平均修復(fù)時(shí)間為171天,而平均時(shí)間為59天。但是,這會因應(yīng)計(jì)的安全債務(wù)而歪曲,并且修復(fù)的平均時(shí)間實(shí)際上保持不變。
將掃描結(jié)果與特定應(yīng)用程序的掃描頻率相關(guān)聯(lián)時(shí),頻率增加表明CI / CD工作流程中集成了自動掃描。數(shù)據(jù)顯示,每天掃描的應(yīng)用程序的中位時(shí)間為19天,而68天為對于每月掃描的應(yīng)用程序。這表明掃描頻率越高,修補(bǔ)漏洞的可能性就越大。
該公司在報(bào)告中總結(jié)道:“與金融債務(wù)一樣,要擺脫擔(dān)保債務(wù),必然需要改變習(xí)慣以償還余額。過去幾年中,軟件開發(fā)和IT運(yùn)營(DevOps)的集成以及安全性在這些流程中的集成(通常稱為DevSecOps)無疑已經(jīng)改變了習(xí)慣。”
向DevSecOps進(jìn)行真正的文化更改的另一個好處是,代碼中存在的嚴(yán)重漏洞的數(shù)量也應(yīng)該減少。Veracode的數(shù)據(jù)顯示,與10年前相比,沒有漏洞的應(yīng)用程序的總體百分比實(shí)際上有所下降,這表明情況已經(jīng)惡化,但是沒有高嚴(yán)重漏洞的應(yīng)用程序的百分比實(shí)際上已經(jīng)從66%增加到80%。
??怂拐f:“我看到許多組織仍在為這種模式而苦苦掙扎?!?“他們正在朝著這個持續(xù)的開發(fā)環(huán)境邁進(jìn),他們擁有基礎(chǔ)架構(gòu)和CI,并且正在使用容器。然后,他們有一個應(yīng)用程序安全團(tuán)隊(duì),他們將在以后運(yùn)行掃描,生成報(bào)告,有時(shí)甚至是紙質(zhì)打印報(bào)告-并將它們帶入開發(fā)中,而不是利用能夠授權(quán)開發(fā)的工具來避免這些錯誤。我看到的大多數(shù)組織仍然屬于我們,他們,開發(fā)人員或安全性方面?!?/p>
也就是說,即使使用DevSecOps,安全專家也仍然需要執(zhí)行某些任務(wù),而手動測試仍然可以發(fā)揮作用。例如:使用全自動掃描很難發(fā)現(xiàn)邏輯缺陷或設(shè)計(jì)缺陷。
Wysopal說:“我們開始看到的是,手動測試不是一年一次或每年兩次?!八哂懈蟮牡?。它是在DevOps流程中進(jìn)行更多工作的,其中可能需要進(jìn)行為期兩周的沖刺,而他們正在執(zhí)行一項(xiàng)新功能,該功能具有安全性,因?yàn)闉榇诉M(jìn)行的少量手動測試如果安全支持者對手動測試有足夠的了解,并且可以滿足開發(fā)團(tuán)隊(duì)自己進(jìn)行的目標(biāo),那么有時(shí)他們可以做到。
網(wǎng)站題目:什么是DevSecOps?為什么很難做好
網(wǎng)站路徑:http://fisionsoft.com.cn/article/djhgscg.html


咨詢
建站咨詢
