首頁(yè) 資訊 DevSecOps研發(fā)安全實(shí)踐——開(kāi)發(fā)篇

DevSecOps研發(fā)安全實(shí)踐——開(kāi)發(fā)篇

來(lái)源:泰然健康網(wǎng) 時(shí)間:2024年12月29日 16:01

DevSecOps軟件研發(fā)安全實(shí)踐系列文章主要講述如何在軟件研發(fā)各個(gè)階段落地安全實(shí)踐。全系列共4篇:

DevSecOps研發(fā)安全實(shí)踐——設(shè)計(jì)篇
DevSecOps研發(fā)安全實(shí)踐——開(kāi)發(fā)篇
DevSecOps研發(fā)安全實(shí)踐——測(cè)試篇
DevSecOps軟件研發(fā)安全實(shí)踐——發(fā)布篇

前言

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

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

安全與開(kāi)發(fā)質(zhì)量息息相關(guān),如果開(kāi)發(fā)過(guò)程控制良好,后期修補(bǔ)缺陷的費(fèi)用會(huì)急劇減少。研發(fā)驗(yàn)證是安全前置實(shí)踐的關(guān)鍵所在,研發(fā)階段安全是整體安全左移實(shí)現(xiàn)關(guān)鍵,所以要做好關(guān)注代碼程序安全,避免風(fēng)險(xiǎn)引入。

代碼是軟件應(yīng)用服務(wù)開(kāi)發(fā)的最初形態(tài),其缺陷或漏洞是導(dǎo)致安全問(wèn)題的直接根源,做好安全編碼,盡早發(fā)現(xiàn)源碼缺陷能夠大大降低安全問(wèn)題的修復(fù)成本。根據(jù)美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究所(NIST)統(tǒng)計(jì),編碼階段的修復(fù)成本遠(yuǎn)遠(yuǎn)低于發(fā)布后執(zhí)行代碼修復(fù)的成本。

如何做好安全開(kāi)發(fā)

如何做好安全開(kāi)發(fā),我們重點(diǎn)從使用安全的工具,安全編碼和對(duì)開(kāi)源和第三方組件進(jìn)行管理三個(gè)方面來(lái)看一下。

使用安全的工具

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

安全編碼

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

建立內(nèi)部的安全編碼標(biāo)準(zhǔn),維護(hù)經(jīng)過(guò)審核的通用安全模塊。提供安全編碼規(guī)范,制定相關(guān)的基于安全基礎(chǔ)庫(kù)的安全編碼規(guī)范,要求業(yè)務(wù)摒棄一些危險(xiǎn)的編碼習(xí)慣,比如各種拼接寫(xiě)法、調(diào)用不安全的默認(rèn)API等,使用安全SDK中的API實(shí)現(xiàn)相關(guān)的功能,從而降低寫(xiě)出漏洞的風(fēng)險(xiǎn)。對(duì)全員做好安全編碼規(guī)范的培訓(xùn),逐漸培養(yǎng)大家的安全意識(shí)。

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

對(duì)開(kāi)源和第三方組件進(jìn)行管理

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

要了解潛在的第三方軟件安全威脅,不斷更新已知第三方軟件威脅和漏洞列表,對(duì)于產(chǎn)品團(tuán)隊(duì)進(jìn)行告警,保證軟件供應(yīng)鏈的安全。

華為云安全開(kāi)發(fā)實(shí)踐

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

安全編碼

華為有自己的有安全編碼檢查平臺(tái) SecSolar華為云嚴(yán)格遵從華為對(duì)內(nèi)發(fā)布的安全編碼規(guī)范,構(gòu)建了安全編碼知識(shí)庫(kù),安全編碼缺陷庫(kù),安全編碼能力庫(kù)。為防止、檢測(cè)和消除可能危及軟件安全的錯(cuò)誤,華為云服務(wù)研發(fā)和測(cè)試人員在上崗前均通過(guò)了對(duì)應(yīng)規(guī)范的學(xué)習(xí)和考試。

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

第三方軟件安全管理

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

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

后記

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

參考附錄

1.《華為云安全白皮書(shū)》.華為技術(shù)有限公司

2.《研發(fā)運(yùn)營(yíng)安全白皮書(shū)》. 云計(jì)算開(kāi)源產(chǎn)業(yè)聯(lián)盟.

3.每天掃描超300億行代碼,DevSecOps在華為的落地與實(shí)踐_DevOps

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

相關(guān)知識(shí)

健康養(yǎng)生綜合社區(qū)開(kāi)發(fā)研究與實(shí)踐
Docker安全性:最佳實(shí)踐和常見(jiàn)安全考慮
循證醫(yī)學(xué)臨床實(shí)踐匯總十篇
小學(xué)生社會(huì)實(shí)踐活動(dòng)總結(jié)(通用10篇)
《網(wǎng)絡(luò)安全標(biāo)準(zhǔn)實(shí)踐指南—健康碼防偽技術(shù)指南》發(fā)布
健康飲食社會(huì)實(shí)踐調(diào)研報(bào)告范文(通用13篇)
學(xué)術(shù)書(shū)架丨《遺傳咨詢(xún)》出版,闡述遺傳咨詢(xún)的發(fā)展與實(shí)踐
2023年社區(qū)衛(wèi)生服務(wù)實(shí)踐活動(dòng)報(bào)告實(shí)用(5篇)
研發(fā)團(tuán)隊(duì)建設(shè)方案(精選14篇)
保障食品安全 助力研學(xué)旅行模式長(zhǎng)效發(fā)展

網(wǎng)址: DevSecOps研發(fā)安全實(shí)踐——開(kāi)發(fā)篇 http://m.u1s5d6.cn/newsview905599.html

推薦資訊