首頁|必讀|視頻|專訪|運(yùn)營|制造|監(jiān)管|大數(shù)據(jù)|物聯(lián)網(wǎng)|量子|元宇宙|博客|特約記者
手機(jī)|互聯(lián)網(wǎng)|IT|5G|光通信|人工智能|云計(jì)算|芯片報(bào)告|智慧城市|移動(dòng)互聯(lián)網(wǎng)|會(huì)展
首頁 >> 技術(shù) >> 正文

新思科技:將安全置于DevOps 加快發(fā)布優(yōu)質(zhì)代碼

2021年2月2日 11:26  CCTIME飛象網(wǎng)  作 者:Jonathan Knudsen

作者:新思科技高級安全策略師Jonathan Knudsen

飛象網(wǎng)訊 現(xiàn)代軟件開發(fā)具有更多的代碼、語言、平臺以及部署選項(xiàng)。 DevOps要求自動(dòng)化最大限度地提高速度。而這些都意味著更多的安全風(fēng)險(xiǎn)。因此,DevSecOps開始受到關(guān)注,將安全集成到DevOps管道的每個(gè)階段,統(tǒng)一開發(fā)活動(dòng)、操作支持和安全檢查,并協(xié)調(diào)軟件開發(fā)生命周期(SDLC)中涉及的團(tuán)隊(duì)。自動(dòng)化之間有助于提升團(tuán)隊(duì)之間的協(xié)同作用。

新思科技(Synopsys)近期發(fā)布的《2020年DevSecOps實(shí)踐和開源管理報(bào)告》顯示DevSecOps在全球范圍內(nèi)迅速增長。總計(jì)63%的受訪者表示他們正在將一些DevSecOps活動(dòng)融入其軟件開發(fā)計(jì)劃中。

那么,如何將安全置于DevOps之中呢?

引入DevSecOps

向DevSecOps過渡極具挑戰(zhàn)性。一方面,雖然目前主要是安全小組獨(dú)立地負(fù)責(zé)安全,但逐漸開發(fā)團(tuán)隊(duì)也參與進(jìn)來,共同負(fù)責(zé)安全和預(yù)算,使安全成為開發(fā)流程不可或缺的一部分;另一方面,開發(fā)團(tuán)隊(duì)正在通過自動(dòng)化和持續(xù)改進(jìn)流程來優(yōu)化速度,實(shí)踐DevOps。

許多團(tuán)隊(duì)缺乏全盤計(jì)劃,忽視了管理風(fēng)險(xiǎn)。團(tuán)隊(duì)沒有采取審慎的、深思熟慮的方法來提高安全,而是陷入一種僵局。團(tuán)隊(duì)試圖使一切運(yùn)行得足夠快,以跟上DevOps的步伐,但由于信息量太大,以至于他們不知道從哪里開始才能改善流程。

在不影響速度的情況下為DevOps增加安全

從切實(shí)降低風(fēng)險(xiǎn)的角度出發(fā),從整體上解決安全問題的最佳方法是什么?答案是更高效的自動(dòng)化。開發(fā)人員不必在每次更改代碼時(shí)都運(yùn)行全面掃描,而是根據(jù)上下文使用智能測試,并決定要運(yùn)行的內(nèi)容、運(yùn)行時(shí)間以及運(yùn)行方式。

逐步提升安全

讓我們看一下軟件開發(fā)中安全測試的典型演變。也許從部署靜態(tài)應(yīng)用安全測試(SAST)開始。僅分析集成就有許多可能性:

分析每次提交

分析每個(gè)推送請求

分析主要版本

選擇分析檢查器

配置分析檢查器

接下來,您決定進(jìn)一步提升安全性,添加軟件組成分析(SCA)。您可以將其單獨(dú)集成到管道中,但是仍然有很多其它選擇:

掃描應(yīng)用程序

掃描部署容器

選擇掃描粒度和其他配置選項(xiàng)

識別通用漏洞披露(CVE)公布有違反政策的組件

識別CVE公布的組件在通用漏洞評分系統(tǒng)(CVSS)的評分

識別操作風(fēng)險(xiǎn)高的組件

識別有一定許可證風(fēng)險(xiǎn)的組件

將掃描結(jié)果的總結(jié)上傳到風(fēng)險(xiǎn)追蹤系統(tǒng)

每個(gè)不符合要求的組件信息都將發(fā)送到風(fēng)險(xiǎn)追蹤系統(tǒng)

將策略當(dāng)作代碼

策略很重要。要求所有應(yīng)用程序開發(fā)團(tuán)隊(duì)使用靜態(tài)分析是一種簡單但無效的軟件安全策略。更有效的策略應(yīng)該根據(jù)需要指定要使用的工具、所需的配置,最重要的是,可以指定在發(fā)布應(yīng)用程序之前所需的結(jié)果類型。

闡明策略的好方法是采用機(jī)器可讀文件的形式,有時(shí)將其稱為代碼(我實(shí)際上并沒有將其稱為代碼;它實(shí)際上是一個(gè)配置文件,可能是JSON或YAML)。

DevSecOps中安全層的關(guān)鍵功能

這里的“策略”描述了應(yīng)該進(jìn)行哪些測試、規(guī)定需要什么樣的結(jié)果(或?qū)⑼V箻?gòu)建或部署)、將什么樣的結(jié)果發(fā)送到常規(guī)問題追蹤系統(tǒng)、需要進(jìn)行哪些合規(guī)性活動(dòng)等等。可以有多個(gè)策略,每個(gè)策略反映不同類型的應(yīng)用程序和不同類型的風(fēng)險(xiǎn)狀況。

根據(jù)策略的規(guī)定在開發(fā)管道中的特定事件上執(zhí)行相應(yīng)的測試,但是針對項(xiàng)目的當(dāng)前狀態(tài)進(jìn)行了優(yōu)化。安全層處理與工具的集成。

與安全層的輕量級集成發(fā)生在特定事件(例如合并請求)上。安全層旨在簡化集成。

什么時(shí)候應(yīng)該做安全防護(hù)呢?在發(fā)生代碼倉提交或代碼倉合并請求之類的事件時(shí),管道會(huì)要求安全層執(zhí)行安全測試。安全層可以發(fā)揮一些強(qiáng)大的魔力,我們稱之為智能編排(Intelligent Orchestration)。首先,它參考策略來了解哪種安全測試是適合的。根據(jù)策略,安全層可以優(yōu)化測試的執(zhí)行方式。例如,如果開發(fā)人員剛剛對CSS文件進(jìn)行了更改,那么Intelligent Orchestration會(huì)意識到完整的SAST掃描和SCA掃描是不必要的。對于更改特定模塊中的幾個(gè)Java源文件,可以執(zhí)行增量SAST以優(yōu)化速度。

那是否合規(guī)呢?開發(fā)管道可以要求安全層對項(xiàng)目是否合規(guī)做出判斷。

我們?nèi)绾翁幚戆踩珕栴}?可以按嚴(yán)重性對結(jié)果進(jìn)行分類,通過CWE Top 25或OWASP Top 10進(jìn)行檢查,也可以根據(jù)需要進(jìn)行過濾和排序。您可以將結(jié)果整合到Tableau或Power BI之類的分析工具中。您可以制作圖表,顯示隨著團(tuán)隊(duì)努力解決安全問題而使得錯(cuò)誤(和風(fēng)險(xiǎn))下降的趨勢。

使用安全集成層還可以簡化添加新的安全測試工具或替換現(xiàn)有工具的流程。每個(gè)新工具都集成到安全層中,但是開發(fā)管道和安全層之間的接口保持不變。

為未來做好準(zhǔn)備

軟件安全是一個(gè)蓬勃發(fā)展的領(lǐng)域。如果您試圖建立DevSecOps策略,那么確定所需的工具和流程可能會(huì)面臨挑戰(zhàn)。有了安全層,您開發(fā)過程中的集成就不需要更改。您只需要從安全層集成到新工具,然后調(diào)整策略即可。

編 輯:章芳
聲明:刊載本文目的在于傳播更多行業(yè)信息,本站只提供參考并不構(gòu)成任何投資及應(yīng)用建議。如網(wǎng)站內(nèi)容涉及作品版權(quán)和其它問題,請?jiān)?0日內(nèi)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除內(nèi)容。本站聯(lián)系電話為86-010-87765777,郵件后綴為#cctime.com,冒充本站員工以任何其他聯(lián)系方式,進(jìn)行的“內(nèi)容核實(shí)”、“商務(wù)聯(lián)系”等行為,均不能代表本站。本站擁有對此聲明的最終解釋權(quán)。
相關(guān)新聞              
 
人物
工信部張?jiān)泼鳎捍蟛糠謬倚聞澐至酥蓄l段6G頻譜資源
精彩專題
專題丨“汛”速出動(dòng) 共筑信息保障堤壩
2023MWC上海世界移動(dòng)通信大會(huì)
中國5G商用四周年
2023年中國國際信息通信展覽會(huì)
CCTIME推薦
關(guān)于我們 | 廣告報(bào)價(jià) | 聯(lián)系我們 | 隱私聲明 | 本站地圖
CCTIME飛象網(wǎng) CopyRight © 2007-2024 By CCTIME.COM
京ICP備08004280號-1  電信與信息服務(wù)業(yè)務(wù)經(jīng)營許可證080234號 京公網(wǎng)安備110105000771號
公司名稱: 北京飛象互動(dòng)文化傳媒有限公司
未經(jīng)書面許可,禁止轉(zhuǎn)載、摘編、復(fù)制、鏡像