飛象網(wǎng)訊 軟件驅(qū)動(dòng)世界,軟件開(kāi)發(fā)的要求越來(lái)越高。為了按時(shí)交付軟件,開(kāi)發(fā)和運(yùn)維工作必須緊密協(xié)作,DevOps應(yīng)運(yùn)而生。此外,隨著安全的重要性日益凸顯,DevSecOps 成為很多企業(yè)的安全策略。當(dāng)然,并不會(huì)有一個(gè)開(kāi)關(guān),可以將 DevOps直接一鍵轉(zhuǎn)換成為 DevSecOps。這需要自動(dòng)化工具組合和長(zhǎng)期實(shí)踐。
軟件開(kāi)發(fā)模式正迅速邁向DevSecOps,這使得開(kāi)發(fā)與運(yùn)維團(tuán)隊(duì)得以相互協(xié)作,向著“快速交付高質(zhì)量、高可信的軟件”這一共同目標(biāo)而奮進(jìn)。新思科技認(rèn)為,實(shí)施DevSecOps是一場(chǎng)文化、流程和技術(shù)上的變革,而將安全活動(dòng)集成到軟件開(kāi)發(fā)生命周期(SDLC)中從而實(shí)現(xiàn)安全左移是其關(guān)鍵。
中國(guó)信息通信研究院發(fā)布的《中國(guó)DevOps現(xiàn)狀調(diào)查報(bào)告(2022)》顯示:36.49%的受訪企業(yè)尚未開(kāi)展DevSecOps實(shí)踐;35.72%的受訪企業(yè)尚未將安全測(cè)試“左移”到需求階段。這表明DevOps向DevSecOps的演進(jìn)已經(jīng)取得了長(zhǎng)足進(jìn)步,但提升的空間仍然很大。
新思科技中國(guó)區(qū)軟件應(yīng)用安全技術(shù)總監(jiān)付紅勛指出:“安全左移涉及文化、流程及技術(shù)的優(yōu)化,涉及一系列管理活動(dòng)和工程活動(dòng)的調(diào)整,是實(shí)現(xiàn)DevSecOps的要點(diǎn)與難點(diǎn)。而實(shí)現(xiàn)安全左移則需要把握9大要點(diǎn),即:以SHIFT LEFT的方式實(shí)現(xiàn) Shift Left!
1.Security Awareness (強(qiáng)化安全意識(shí))。意識(shí)是安全左移的土壤。不僅是對(duì)研發(fā)團(tuán)隊(duì),更重要的是管理層需要充分認(rèn)識(shí)到安全形勢(shì)的嚴(yán)峻性與復(fù)雜性,認(rèn)識(shí)到應(yīng)用安全是重中之重。獲取管理層的支持是安全計(jì)劃得以落地的大前提。
2.Hierarchical standards(分層設(shè)定標(biāo)準(zhǔn))。既要盡量在缺陷引入的源頭把關(guān)、又要不降低CI/CD流水線的速度,要在兩者之前取得平衡,就需要沿流水線分層設(shè)定安全標(biāo)準(zhǔn)。
3.Integration(無(wú)損融入流程)。安全活動(dòng)融入研發(fā)流程有四個(gè)步驟:小范圍試點(diǎn),發(fā)現(xiàn)并解決融入后的問(wèn)題,積累推廣經(jīng)驗(yàn);流程O(píng)wner正式簽發(fā);推廣與培訓(xùn);監(jiān)測(cè)流程運(yùn)轉(zhuǎn)中的問(wèn)題、及時(shí)改進(jìn)。
4.Feature & requirement(規(guī)劃安全需求)。應(yīng)用安全是開(kāi)發(fā)出來(lái)的、也是設(shè)計(jì)出來(lái)的,但首先是規(guī)劃出來(lái)的。安全需求有兩種形態(tài):顯性需求和隱性需求,后者往往不是客戶可以直接感知的功能,但卻可以直接提高系統(tǒng)的安全性。
5.Threat modeling in design(威脅建模設(shè)計(jì))。威脅建模即結(jié)構(gòu)化地識(shí)別系統(tǒng)所面臨的威脅、并制定相應(yīng)的削減措施。威脅建模是規(guī)避設(shè)計(jì)類(lèi)缺陷的不二法寶。
6.Learning security in coding(編碼中學(xué)習(xí)安全)。代碼是應(yīng)用安全的主體。常規(guī)培訓(xùn)可以強(qiáng)化安全意識(shí),在編碼中結(jié)合業(yè)務(wù)實(shí)際的學(xué)習(xí)則可以積累安全知識(shí)。
7.Enabler knowledge base(構(gòu)建使能KB)。知識(shí)庫(kù)是安全左移后安全工程活動(dòng)得以高質(zhì)量開(kāi)展的助推器。構(gòu)建KB除了依靠安全設(shè)計(jì)、安全組件開(kāi)發(fā)、安全測(cè)試技術(shù)研究等專(zhuān)項(xiàng)小組的智力外,還需要采購(gòu)第三方產(chǎn)品作為重要的補(bǔ)充。
8.Full-range security testing(全程安全測(cè)試)。測(cè)試是應(yīng)用安全的保障。全程安全測(cè)試對(duì)應(yīng)用安全的價(jià)值無(wú)可替代,所謂全程就是要做到四個(gè)維度的全覆蓋:時(shí)間維度,需求規(guī)劃到發(fā)布;技術(shù)維度,白盒、灰盒、黑盒測(cè)試;方法維度,自動(dòng)、手工(如核心代碼的人工安全審查、滲透測(cè)試);對(duì)象維度,自研代碼、開(kāi)源代碼。
9.Tool chain(打磨安全工具鏈)。工具是應(yīng)用安全的依托。AppSec測(cè)試工具融入DevOps,打磨成適合自身的DevSecOps工具鏈,這是支撐安全成功左移的關(guān)鍵。理想的DevSecOps工具鏈的應(yīng)滿足以下特點(diǎn):無(wú)損、自動(dòng)、智能、可視及開(kāi)放。
新思科技中國(guó)區(qū)軟件應(yīng)用安全業(yè)務(wù)總監(jiān)楊國(guó)梁總結(jié)道:“知易行難。DevSecOps不是微小的改變,是對(duì)公司文化的真正改變。這需要時(shí)間、培訓(xùn)、工具以及擁抱DevSecOps文化的意愿。將安全性集成到DevOps團(tuán)隊(duì)的日常工作中可能需要耗費(fèi)更多時(shí)間,但這帶來(lái)巨大的價(jià)值。開(kāi)發(fā)、運(yùn)維和安全團(tuán)隊(duì)將協(xié)同工作,以提高交付軟件的質(zhì)量和安全性,從而加快軟件交付速度,最終提升客戶滿意度。”