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