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