《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 孝道科技徐峰:不轉(zhuǎn)變觀念,DevSecOps應(yīng)用就不會(huì)成功!

孝道科技徐峰:不轉(zhuǎn)變觀念,DevSecOps應(yīng)用就不會(huì)成功!

2022-11-30
來源:安全牛
關(guān)鍵詞: 孝道科技 DevSecOps

  針對代碼和應(yīng)用程序的軟件供應(yīng)鏈攻擊已經(jīng)成為一種對互聯(lián)網(wǎng)經(jīng)濟(jì)發(fā)展影響巨大的網(wǎng)絡(luò)攻擊手段。因此,加強(qiáng)代碼和應(yīng)用程序的自身免疫力,保證應(yīng)用程序敏捷安全地開發(fā)、交付和流轉(zhuǎn),當(dāng)前應(yīng)作為網(wǎng)絡(luò)安全的一項(xiàng)重要任務(wù)來看待。在軟件供應(yīng)鏈安全建設(shè)實(shí)踐中,DevSecOps平衡了代碼開發(fā)過程中敏捷和安全的需求,逐漸被行業(yè)接受和認(rèn)可,加速DevSecOps的落地實(shí)踐并成為敏捷開發(fā)模式企業(yè)中開發(fā)安全建設(shè)的重要抓手。

  日前,安全牛采訪了孝道科技聯(lián)合創(chuàng)始人兼CTO徐鋒,就如何在供應(yīng)鏈安全建設(shè)中實(shí)踐運(yùn)用DevSecOps進(jìn)行了深入探討。徐鋒表示:“軟件供應(yīng)鏈安全的影響已經(jīng)上升到了國家安全的高度,企業(yè)對軟件供應(yīng)商、產(chǎn)品供應(yīng)商提供的軟件安全合規(guī)性要求越來越高,對違規(guī)處罰的力度也越來越高,這將有力促進(jìn)安全開發(fā)、DevSecOps理念的快速落地。在DevSecOps模式下,更為強(qiáng)調(diào)全員的安全責(zé)任和共擔(dān)文化,每個(gè)人都要為系統(tǒng)應(yīng)用安全承擔(dān)責(zé)任,因此需要團(tuán)隊(duì)成員在安全意識和觀念上有了積極轉(zhuǎn)變?!?/p>

  現(xiàn)任杭州孝道科技有限公司副總經(jīng)理兼CTO,近20年安全行業(yè)從業(yè)經(jīng)驗(yàn),浙江省網(wǎng)絡(luò)空間安全協(xié)會(huì)專家、云安全聯(lián)盟CSA(Cloud Security Alliance)專家組成員、全國信息安全標(biāo)準(zhǔn)化技術(shù)委員會(huì)(TC260) 相關(guān)工作組成員。主要研究領(lǐng)域包括軟件供應(yīng)鏈安全、安全開發(fā)、SDL、DevSecOps,是數(shù)字應(yīng)用安全領(lǐng)域的探索者,曾參與多項(xiàng)相關(guān)標(biāo)準(zhǔn)的研制工作。

  01 目前,軟件供應(yīng)鏈攻擊的主要特點(diǎn)是什么?企業(yè)應(yīng)對軟件供應(yīng)鏈攻擊的方法或框架主要有哪些?

  徐鋒

  目前在軟件供應(yīng)鏈攻擊里面影響面最大、最容易被攻擊、最易得手的,多數(shù)是由開源軟件問題導(dǎo)致的。首先,目前軟件開發(fā)都在采用混源開發(fā)模式,其中大部分代碼都是開源的。開發(fā)者在引用開源軟件或開源組件時(shí),準(zhǔn)入控制的概念不強(qiáng),前期對開源項(xiàng)目安全性、斷供等風(fēng)險(xiǎn)的評估基本為零;其次,從開源社區(qū)組織上來看,開源軟件管理相對比較松散,代碼提交門檻較低,并且很多社區(qū)項(xiàng)目對自身代碼安全性的關(guān)注度不足。這些因素都給軟件供應(yīng)鏈安全埋下了嚴(yán)重的安全隱患。

  面對軟件供應(yīng)鏈攻擊,首先需要分析軟件的來源,不同來源的軟件攻擊防范方法差異非常大,目前可以粗略的把軟件來源分為:外部軟件和內(nèi)部自研軟件。

  對于從外部供應(yīng)商采購的軟件,比如操作系統(tǒng)、辦公軟件、OA系統(tǒng),或者委托他人開發(fā)的軟件,需要考察供應(yīng)商的綜合實(shí)力、服務(wù)能力以及持續(xù)性,對交付物采用安全準(zhǔn)入的檢查和控制措施。比如,對軟件進(jìn)行成分分析,要求提交軟件物料清單(SBOM)清單,對于一些重要的系統(tǒng)軟件,除了基礎(chǔ)安全檢查之外,還需要進(jìn)一步做安全測試。

  外部軟件除了供應(yīng)商采購獲得,還有很多來自開源軟件,開源軟件的引用同樣需要經(jīng)過一系列的評估機(jī)制,對其安全性、健康度等各方面進(jìn)行考察,以減少未來可能發(fā)生的供應(yīng)鏈攻擊。

  對內(nèi)部的自研軟件有很多相應(yīng)的安全開發(fā)模型和理念,比如軟件安全開發(fā)周期(SDL)、安全軟件開發(fā)框架(SSDF)、DevSecOps等,自研軟件的企業(yè)是相對而言比較好的軟件供應(yīng)鏈安全參考模型。

  此外,國家信息安全標(biāo)準(zhǔn)委員會(huì)在9月份正式發(fā)布了《信息安全技術(shù) 軟件供應(yīng)鏈安全要求》征求意見稿,也給企業(yè)在軟件供應(yīng)鏈安全方面的建設(shè)提供了一些方向性的指導(dǎo),值得參考借鑒。

  02 DevSecOps是一種理念、工具還是方法論?其核心價(jià)值或能力是什么?國內(nèi)目前是否具備廣泛普及DevSecOps的基礎(chǔ)條件和市場環(huán)境?

  徐鋒

  DevSecOps是Gartner在2012年提出的一種理念,核心思想是盡可能地把安全無縫地、透明地集成到敏捷開發(fā)或者DevOps的開發(fā)過程中去。核心價(jià)值是在有限的成本投入以及保持業(yè)務(wù)開發(fā)敏捷性和速度的前提下,提升軟件的內(nèi)生性安全。通過什么樣的方式、手段能達(dá)到這樣的目標(biāo),可以有哪些不同的做法,需要不同企業(yè)共同探索。

  DevSecOps的市場應(yīng)用依賴于敏捷開發(fā)或者DevOps的普及情況。研究數(shù)據(jù)顯示,我國目前90%的企業(yè)均不同程度地采用了敏捷開發(fā)模型或DevOps方法;還有60%的企業(yè)開始嘗試或者想要實(shí)現(xiàn)DevSecOps。從這些數(shù)據(jù)來看,國內(nèi)DevSecOps的應(yīng)用已經(jīng)開始。頭部企業(yè)和規(guī)模較大的互聯(lián)網(wǎng)公司、金融企業(yè)已經(jīng)在不斷的實(shí)踐、探索和優(yōu)化了。從國內(nèi)的普及率來看,DevSecOps正處于1到n快速推進(jìn)的階段,將在近兩年快速增長。

  03 構(gòu)建DevSecOps軟件開發(fā)安全體系的核心技術(shù)和支撐技術(shù)分別是什么?

  徐鋒

  構(gòu)建DevSecOps體系最核心的技術(shù)是安全工具鏈的建設(shè),即軟件開發(fā)過程中需要的持續(xù)應(yīng)用安全測試、賦能各種檢測類技術(shù),包括很多應(yīng)用安全測試工具,如代碼審計(jì)工具(SAST)、交互式應(yīng)用安全檢測工具(IAST)、動(dòng)態(tài)測試工具(DAST)以及模糊測試工具等。這類工具針對開發(fā)軟件代碼或者軟件制品進(jìn)行自動(dòng)化測試,發(fā)現(xiàn)軟件漏洞的核心技術(shù)。同時(shí),用的較多的還有軟件成分分析工具(SCA),可以從開源組件安全、知識產(chǎn)權(quán)及開源許可的角度對軟件進(jìn)行安全分析。

  其次是運(yùn)行時(shí)應(yīng)用程序自我保護(hù)(RASP),安全編排(SOAR),響應(yīng)自動(dòng)化,也是DevOps轉(zhuǎn)向DevSecOps工具鏈建設(shè)中的重要支撐。

  第三是與安全防護(hù)類產(chǎn)品如統(tǒng)一的單點(diǎn)登陸,防火墻,WAF等互聯(lián)互通的技術(shù)。由于DevSecOps在交付過程中,要保證交付速度,很多安全測試不夠充分,會(huì)遺留一些未發(fā)現(xiàn)的或低危的漏洞。因此,DevSecOps不能完全獨(dú)立,需要與傳統(tǒng)的應(yīng)用防護(hù)類工具配合進(jìn)行聯(lián)動(dòng)防御。

  此外,開發(fā)團(tuán)隊(duì)在構(gòu)建DevSecOps過程中也離不開DevOps開發(fā)基礎(chǔ)支撐類工具的熟練應(yīng)用,具體包括代碼倉庫、制品倉庫、持續(xù)集成、持續(xù)部署、自動(dòng)化測試、云原生等等。DevSecOps建設(shè)的時(shí)候,需要把上述的應(yīng)用安全檢測工具、防護(hù)能力無縫透明的融入到DevOps的基礎(chǔ)開發(fā)環(huán)境中去,也是幫助整個(gè)團(tuán)隊(duì)能更輕松落地DevSecOps的一個(gè)重要方面。

  當(dāng)然在構(gòu)建DevSecOps的過程中,除了技術(shù)、工具以外,人、文化、流程這三大要素也是DevSecOps能力建設(shè)非常重要的核心力量。

  微信圖片_20221130210848.jpg

  04 與DevOps相比,DevSecOps流程上有哪些明顯區(qū)別?其中哪些環(huán)節(jié)對開發(fā)人員的挑戰(zhàn)會(huì)比較大?

  徐鋒

  傳統(tǒng)DevOps的參與者主要是開發(fā)和運(yùn)維,安全只在即將上線時(shí)才會(huì)介入,并且安全責(zé)任只有安全團(tuán)隊(duì)負(fù)責(zé)。但企業(yè)在轉(zhuǎn)向DevSecOps流程后,安全團(tuán)隊(duì)需要融合進(jìn)來,并且將安全開發(fā)的理念貫徹到開發(fā)的所有環(huán)節(jié)中去,比如需求階段會(huì)引入安全需求分析,設(shè)計(jì)階段會(huì)引入安全設(shè)計(jì),編碼階段會(huì)引入安全編碼,測試階段也會(huì)引入安全驗(yàn)證,最后還要經(jīng)過安全發(fā)布和安全運(yùn)營。所以從這個(gè)角度來說,DevSecOps并沒有完全摒棄傳統(tǒng)的安全開發(fā)模型,而是在做安全需求分析、安全設(shè)計(jì)、安全編碼、安全驗(yàn)證、安全發(fā)布和安全運(yùn)營的時(shí)候,更多利用工具的高效自動(dòng)化。

  從抑制供應(yīng)鏈攻擊的角度來看,對于軟件自研的企業(yè)而言以下六個(gè)階段都是比較重要的,但從個(gè)人的角度來看,安全需求分析、安全設(shè)計(jì)、安全驗(yàn)證這三個(gè)環(huán)節(jié)是對抑制供應(yīng)鏈攻擊更為重要的環(huán)節(jié)。

  從挑戰(zhàn)來看,開發(fā)人員原來更多關(guān)注的是功能的實(shí)現(xiàn)。而目前軟件設(shè)計(jì)階段需要融入安全設(shè)計(jì),實(shí)現(xiàn)階段需要融入安全編碼,這都需要一定的安全知識儲(chǔ)備,去識別應(yīng)用潛在的安全風(fēng)險(xiǎn),并且設(shè)計(jì)出相應(yīng)的消減安全威脅的方案,對開發(fā)人員是一個(gè)比較大的挑戰(zhàn)。針對開發(fā)人員的挑戰(zhàn),在整個(gè)安全威脅識別的過程中,一般會(huì)引入威脅建模類工具,并且一般需要協(xié)調(diào)安全人員來共同承擔(dān)此階段工作。安全開發(fā)一體化平臺可以提供通用的安全設(shè)計(jì)模板及相應(yīng)的知識庫,能為開發(fā)設(shè)計(jì)人員覆蓋60%以上的安全設(shè)計(jì)需求,降低開發(fā)人員安全設(shè)計(jì)難度;對于不能通用的部分需求可以采用威脅建模的方式進(jìn)行定制化設(shè)計(jì),定制化設(shè)計(jì)可以沉淀為模板使未來的安全設(shè)計(jì)更加方便;設(shè)計(jì)完成后要由專業(yè)的安全人員審核、把關(guān)這些安全設(shè)計(jì),使安全設(shè)計(jì)應(yīng)用更加科學(xué)完善。

  安全編碼環(huán)節(jié)主要是消除不規(guī)范的代碼,難度相對安全設(shè)計(jì)低一些。通過開發(fā)人員安全編碼知識的培訓(xùn),以及安全工具對代碼檢查的反饋,就可以讓開發(fā)人員快速建立起安全編碼的能力。

  從運(yùn)維的角度來看,DevSecOps對交付速度要求非常高,在安全驗(yàn)證階段,會(huì)更多依賴自動(dòng)化工具,如果出現(xiàn)了安全漏洞,運(yùn)維人員能夠快速的監(jiān)測并進(jìn)行響應(yīng)處置。因此,DevSecOps在落地階段,對運(yùn)維人員安全監(jiān)測和相應(yīng)處置能力會(huì)有更高的要求。此外,版本的發(fā)布和迭代又比較快,對運(yùn)維人員適應(yīng)快節(jié)奏的變化過程要求也特別高。

  05 軟件開發(fā)有較強(qiáng)的繼承性和延續(xù)性,對于目前采用DevOps開發(fā)模式的企業(yè),應(yīng)該如何過渡到DevSecOps模式中?

  徐鋒

  首先,安全理念的轉(zhuǎn)變,也是我們過度到DevSecOps的重要前提。在DevOps模式下,安全責(zé)任都?xì)w屬于安全團(tuán)隊(duì),開發(fā)和運(yùn)維團(tuán)隊(duì)不背安全的KPI。但DevSecOps模式下,人人要為安全承擔(dān)責(zé)任,要強(qiáng)調(diào)全員的安全責(zé)任和共擔(dān)文化,需要團(tuán)隊(duì)成員在安全意識上做一些轉(zhuǎn)變。企業(yè)一般會(huì)從諸多產(chǎn)線中找一個(gè)項(xiàng)目或者一個(gè)團(tuán)隊(duì)來做試點(diǎn),在試點(diǎn)團(tuán)隊(duì)里面去做磨合,去做適應(yīng),解決安全、開發(fā)、運(yùn)維團(tuán)隊(duì)之中存在安全責(zé)任割裂的問題。

  其次,選擇合適的工具,從單一團(tuán)隊(duì)開始,從關(guān)鍵節(jié)點(diǎn)介入,逐步推廣到單一團(tuán)隊(duì)的全流程,然后再去復(fù)制到其他團(tuán)隊(duì)。初期建設(shè)中工具的選擇非常的重要,可以先引用一些侵入性小,見效快的工具,如IAST、SCA等,進(jìn)行部分流程的試點(diǎn)。當(dāng)大家逐步適應(yīng)部分流程的時(shí)候,再慢慢的擴(kuò)展到安全需求、安全設(shè)計(jì)過程,然后貫穿到整個(gè)流程,最后再去復(fù)制到其他團(tuán)隊(duì)。如果剛開始引入的工具太多,對現(xiàn)有的開發(fā)流程和開發(fā)人員的使用習(xí)慣侵入性比較大,就會(huì)出現(xiàn)集體反彈。

  然后,從組織角度看,企業(yè)還需要配置相應(yīng)的崗位為安全開發(fā)能力賦能。不同規(guī)模的企業(yè)在實(shí)踐DevSecOps的時(shí)候并不是一樣的。如果更加專業(yè)、更加細(xì)分的話,需要分成獨(dú)立的安全需求分析師、獨(dú)立的安全架構(gòu)師、獨(dú)立的安全測試人員,甚至還有項(xiàng)目的安全顧問。這些人有些可能是通過兼職的方式,可能是專職的方式。但是這些職責(zé)也可以分散到不同團(tuán)隊(duì)的不同人身上。因此,組織架構(gòu)方面可以根據(jù)企業(yè)規(guī)模來調(diào)整。

  最后,建立好安全開發(fā)的流程和制度,也是DevSecOps體系建立非常重要的一個(gè)方面。比如,如何根據(jù)項(xiàng)目級別不同,定義安全基線、評審流程、例外處理流程等方面的相關(guān)制度。

  06 您認(rèn)為目前階段DevSecOps應(yīng)用的主要難點(diǎn)是什么?未來會(huì)呈現(xiàn)怎樣的發(fā)展趨勢?

  徐鋒

  目前,大部分應(yīng)用軟件的開發(fā)都在使用敏捷的方法,DevSecOps在未來將會(huì)越來越普及。

  但從技術(shù)方面來看,工具鏈建設(shè)的落地還有難度。各個(gè)廠商之間或者是各個(gè)工具之間還沒有完全打通,需要各個(gè)工具廠商按項(xiàng)目去對接,嚴(yán)重約束了DevSecOps的發(fā)展。比如說,不同安全工具測試出來的結(jié)果,目前只能做到相互歸類和優(yōu)先級排序,用戶引入的工具越多,就需要投入越多時(shí)間去處理同一類漏洞,安全人員的工作量越來越大,效率越來越低。提升不同AST類工具組合應(yīng)用時(shí)檢測的效能、效率,不同產(chǎn)品之間不光要結(jié)果互認(rèn),更重要的是相互補(bǔ)強(qiáng)、相互驗(yàn)證、與平臺持續(xù)集成以及將AST類工具的檢測結(jié)果更好的輸送給各種防護(hù)類安全產(chǎn)品。不同工具之間相互協(xié)調(diào)、相互協(xié)作、相互補(bǔ)充以及自動(dòng)化程度能力的提升是目前DevSecOps發(fā)展過程中需要去進(jìn)一步解決的問題。

  在政策方面,軟件供應(yīng)鏈安全已經(jīng)上升到了國家安全的高度。網(wǎng)絡(luò)安全和數(shù)據(jù)安全相關(guān)的法律規(guī)對軟件供應(yīng)商、產(chǎn)品供應(yīng)商提供的軟件安全合規(guī)性要求越來越高,對違規(guī)處罰的力度也越來越高。這也促進(jìn)了安全開發(fā)、DevSecOps的理念更加快速的落地。

  從理念發(fā)展來看,DevSecOps的落地仍需要不斷探索和深化,未來需要吸取更多其它安全開發(fā)模型和框架的思想進(jìn)行完善。

  牛評

  敏捷開發(fā)作為數(shù)字經(jīng)濟(jì)建設(shè)的重要組成部分,應(yīng)用程序成份越來越復(fù)雜,代碼安全驗(yàn)證不足等問題給應(yīng)用程序安全留下了嚴(yán)重的缺口。同時(shí),安全開發(fā)涉及了產(chǎn)業(yè)上下游,開發(fā)過程的多個(gè)環(huán)節(jié),某一個(gè)點(diǎn)的安全能力的增強(qiáng)并不能有效閉環(huán)和緩解其所面臨的軟件供應(yīng)鏈攻擊的影響。做好敏捷環(huán)境的開發(fā)安全需要人、文化、技術(shù)、流程多個(gè)方面的共同努力,但工具鏈、平臺化工具的使用體驗(yàn)是改善人、文化和流程的重要約束條件,在整個(gè)供應(yīng)鏈安全能力的建設(shè)中可以起到事半功倍的效果。



更多信息可以來這里獲取==>>電子技術(shù)應(yīng)用-AET<<

二維碼.png


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。