首頁 資訊 DevSecOps軟件研發(fā)安全實踐——開發(fā)篇

DevSecOps軟件研發(fā)安全實踐——開發(fā)篇

來源:泰然健康網 時間:2024年12月29日 16:01

前言

隨著DevOps的發(fā)展,DevOps大幅提升了企業(yè)應用迭代的速度。但同時,安全如果不能跟上步伐,不僅會抵消DevOps變革帶來的提升,拖慢企業(yè)數字化轉型進程,還會導致漏洞與風險不約而至。所以安全能力在全球范圍內受到的重視越來越高, 軟件開發(fā)內生的安全性成為評價企業(yè)DevOps成熟度水平的重要指標 。

一直以來,業(yè)界長期重視軟件上線后的安全防護,而對研發(fā)階段的安全投入不多。2012年,Gartner提出了DevSecOps的理念。DevSecOps 的理念是將安全防護流程有機地融入傳統(tǒng)的 DevOps 流程中,為研發(fā)安全提供強有力保證,安全工具支撐研發(fā)階段安全要求落地。

安全開發(fā)的重要性

安全與開發(fā)質量息息相關,如果開發(fā)過程控制良好,后期修補缺陷的費用會急劇減少。研發(fā)驗證是安全前置實踐的關鍵所在,研發(fā)階段安全是整體安全左移實現關鍵,所以要做好關注代碼程序安全,避免風險引入。

代碼是軟件應用服務開發(fā)的最初形態(tài),其缺陷或漏洞是導致安全問題的直接根源,做好安全編碼,盡早發(fā)現源碼缺陷能夠大大降低安全問題的修復成本。根據美國國家標準與技術研究所(NIST)統(tǒng)計,編碼階段的修復成本遠遠低于發(fā)布后執(zhí)行代碼修復的成本。具體數據如圖所示。

業(yè)界的相關安全開發(fā)實踐

如何做好安全開發(fā),我們先來參考下業(yè)界相關機構和企業(yè)的做法。

? 信息通信研究院的研發(fā)運營安全體系中提出,在開發(fā)階段要做好安全編碼,對開源及第三方組件進行風險管理,變更管理,搭配安全工具確保編碼實際安全 。

? Gartner在2019年經過調研和分析之后給出了一個比較全面的實踐清單,在編碼階段提出了IDE安全插件。各類的安全漏洞掃描、開源組件版本檢查甚至是代碼質量代碼風格等的工具可以讓研發(fā)人員在編碼時就發(fā)現和消除一些潛在的安全風險。

? Baidu的DevSecOps工具鏈中提出,在開發(fā)階段要做好源碼漏洞安全檢查,倉庫安全檢查,供應鏈安全檢查,高??蚣軝z查和安全編碼規(guī)范檢查。

? Vmware研發(fā)運營全生命周期安全管理中提出要明確產品中開源及第三方組件中的安全漏洞,在發(fā)布前期進行修復,通過靜態(tài)代碼分析與漏洞掃描等手段保證研發(fā)階段的安全性。

? 思科研發(fā)運營全生命周期安全管理中提出,要利用工具了解潛在的第三方軟件安全威脅,不斷更新已知第三方軟件威脅和漏洞列表,對于產品團隊進行告警。建立內部的安全編碼標準,維護經過審核的通用安全模塊。

? 微軟的研發(fā)運營全生命周期安全管理中提出,在開發(fā)階段要做好第三方組件的安全管理,使用經過安全性檢查,認可的工具,執(zhí)行靜態(tài)應用程序。

? 騰訊的DevSecOps工具鏈中提出,在開發(fā)編碼環(huán)節(jié)使用的工具/機制有安全開發(fā)庫,安全相關的基礎設施&框架機制,IDE中的代碼質量工具,代碼review,安全加固的統(tǒng)一編譯構建環(huán)境,安全加固的騰訊軟件源。

其他更多內容不在一一列舉,關于開發(fā)階段的安全保障大家都有自己獨有的特色,這里面我們重點從使用安全的工具,安全編碼和對開源和第三方組件進行管理三個方面來看一下。

使用安全的工具

工欲善其事,必先利其器。工具的安全性是進行開發(fā)前首先要保證的關鍵一環(huán),開發(fā)團隊使用的編輯器、鏈接器等相關工具,可能會涉及一些安全相關的環(huán)節(jié),因此在使用工具的版本上,需要提前與安全團隊進行溝通,使用經過安全性檢查,認可的工具,安全加固的編譯構建環(huán)境,確保編碼實際安全。

安全編碼

安全編碼對保證產品和服務的安全性至關重要,缺陷,錯誤和邏輯缺陷始終是導致可被普遍利用的軟件漏洞的主要原因。安全編碼是開發(fā)實踐中重要的一環(huán),通過遵循已建立的威脅模型可以降低與安全相關的脆弱性、漏洞數量和集成錯誤,防止意外引入安全漏洞。

建立內部的安全編碼標準,維護經過審核的通用安全模塊。提供安全編碼規(guī)范,制定相關的基于安全基礎庫的安全編碼規(guī)范,要求業(yè)務摒棄一些危險的編碼習慣,比如各種拼接寫法、調用不安全的默認API等,使用安全SDK中的API實現相關的功能,從而降低寫出漏洞的風險。對全員做好安全編碼規(guī)范的培訓,逐漸培養(yǎng)大家的安全意識。

編碼后執(zhí)行代碼Review和自動代碼掃描,通過代碼質量檢查、代碼風格檢查,倉庫安全檢查,高危框架檢查、靜態(tài)代碼分析與漏洞掃描等手段保證研發(fā)階段的安全性。同時將編碼規(guī)范檢查也集成在研發(fā)工具鏈中,保證檢查的高效高質量。

對開源和第三方組件進行管理

軟件開源日趨盛行,開源軟件成為現代軟件開發(fā)最基礎的原材料?;煸窜浖_發(fā)已經成為現代應用主要軟件開發(fā)交付方式,對它的全面風險審查應考慮從第三方開源組件缺陷及后門、自研代碼通用漏洞、自研代碼業(yè)務邏輯漏洞、潛藏惡意代碼等維度綜合審計。

要了解潛在的第三方軟件安全威脅,不斷更新已知第三方軟件威脅和漏洞列表,對于產品團隊進行告警,保證軟件供應鏈的安全。

華為云安全開發(fā)實踐

華為有20年研發(fā)安全積累,華為的研發(fā)安全能力是伴隨業(yè)務中不斷出現的問題逐步形成的。華為將已經開放的運維安全能力,和即將開放的研發(fā)安全能力與華為云DevCloud深度融合,為企業(yè)帶來DevSecOps平臺,讓企業(yè)便捷的落地DevSecOps理念,在軟件開發(fā)過程中就內置了安全保護,讓軟件“天生安全,健康成長”,成為企業(yè)的競爭力。

安全編碼

華為有自己的有安全編碼檢查平臺 SecSolar華為云嚴格遵從華為對內發(fā)布的安全編碼規(guī)范,構建了安全編碼知識庫,安全編碼缺陷庫,安全編碼能力庫。為防止、檢測和消除可能危及軟件安全的錯誤,華為云服務研發(fā)和測試人員在上崗前均通過了對應規(guī)范的學習和考試。

為保證服務始終具備高安全性,華為云在安全編碼的同時,引入了靜態(tài)代碼掃描工具每日檢查,其結果數據進入云服務持續(xù)集成和持續(xù)部署(CI/CD – Continuous Integration, Continuous Deployment)工具鏈,通過質量門限進行控制,以評估云服務產品的質量。所有云產品、云服務在發(fā)布前,均需完成靜態(tài)代碼掃描的告警清零,有效降低上線時編碼相關的安全問題。華為云研發(fā)的代碼檢查CodeCheck提供近2000條華為典型檢查規(guī)則,支持多種主流開發(fā)語言,可以在開發(fā)階段識別大部分安全問題,實現安全風險前置,有效管控代碼質量。

第三方軟件安全管理

華為云基于嚴進寬用的原則,保障開源及第三方軟件的安全引入和使用。華為云對引入的開源及第三方軟件制定了明確的安全要求和完善的流程控制方案,在選型分析、安全測試、代碼安全、風險掃描、法務審核、軟件申請、軟件退出等環(huán)節(jié),均實施嚴格的管控。例如在選型分析環(huán)節(jié),增加開源軟件選型階段的網絡安全評估要求,嚴管選型。在使用中,須將第三方軟件作為服務或解決方案的一部分開展相應活動,并重點評估開源及第三方軟件和自研軟件的結合點,或解決方案中使用獨立的第三方軟件是否引入新的安全問題。

華為云將網絡安全能力前置到社區(qū),在出現開源漏洞問題時,依托華為云對開源社區(qū)的影響力,第一時間發(fā)現漏洞并修復。漏洞響應時,須將開源及第三方軟件作為服務和解決方案的一部分開展測試,驗證開源及第三方軟件已知漏洞是否修復,并在服務的Release notes 里體現開源及第三方軟件的漏洞修復列表。

后記

各類的安全漏洞掃描、開源組件版本檢查甚至是代碼質量代碼風格等的工具,可以讓研發(fā)人員在編碼時就發(fā)現和消除一些潛在的安全風險。在DevSecOps時代,這個需要大力的投入,如果做的好,可以大大減輕后續(xù)環(huán)節(jié)的工作量。不過這里也面臨一些挑戰(zhàn),比如針對源碼靜態(tài)分析的誤報率問題,再比如某些安全漏洞準確的檢測方案極度依賴編譯或構建過程等等。由此可見,DevSecOps未來之路任重道遠。

參考附錄

1.《華為云安全白皮書》.華為技術有限公司

2.《研發(fā)運營安全白皮書》. 云計算開源產業(yè)聯盟.

3. “安全需要每個工程師的參與”-DevSecOps理念及思考

4. DevSecOps in Baidu

5. 每天掃描超300億行代碼,DevSecOps在華為的落地與實踐_DevOps

本文由DevSecOps專家服務團隊出品,了解更多專家服務請戳 https://devcloud.huaweicloud.com/expert?utm_source=blog 

【版權聲明】本文為華為云社區(qū)用戶原創(chuàng)內容,轉載時必須標注文章的來源(華為云社區(qū))、文章鏈接、文章作者等基本信息, 否則作者和本社區(qū)有權追究責任。如果您發(fā)現本社區(qū)中有涉嫌抄襲的內容,歡迎發(fā)送郵件進行舉報,并提供相關證據,一經查實,本社區(qū)將立刻刪除涉嫌侵權內容,舉報郵箱: cloudbbs@huaweicloud.com

相關知識

「健康科技軟件開發(fā)」健康科技軟件開發(fā)公司黃頁
Docker安全性:最佳實踐和常見安全考慮
健康養(yǎng)生綜合社區(qū)開發(fā)研究與實踐
健康管理APP軟件開發(fā)市場概述
B2B2C軟件在醫(yī)療保健行業(yè)的應用前景與實踐案例
保健品研發(fā)排名軟件有哪些 – PingCode
健康管理軟件開發(fā)平臺
基于安卓平臺健康減肥軟件設計與開發(fā).doc
循證醫(yī)學臨床實踐匯總十篇
研發(fā)團隊建設方案(精選14篇)

網址: DevSecOps軟件研發(fā)安全實踐——開發(fā)篇 http://www.u1s5d6.cn/newsview905594.html

推薦資訊