自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺談如何有效落地DevSecOps

安全
簡(jiǎn)單來說,DevOps就是要消除兩個(gè)傳統(tǒng)的豎井團(tuán)隊(duì)(開發(fā)和運(yùn)營(yíng))之間的障礙。在DevOps模型中,開發(fā)和運(yùn)營(yíng)團(tuán)隊(duì)在整個(gè)軟件應(yīng)用生命周期中共同工作,從開發(fā)、測(cè)試、部署到運(yùn)營(yíng)。

前言

隨著業(yè)務(wù)更新迭代速度加快,對(duì)客系統(tǒng)增多,大部分企業(yè)因安全資源有限等原因,在信息系統(tǒng)開發(fā)生命周期中往往忽略了安全活動(dòng),或者僅在運(yùn)行階段才開展安全活動(dòng),造成多種問題難以解決:

[[390194]]

安全問題暴露時(shí)間長(zhǎng)

大部分企業(yè)信息安全人員工作更多的是應(yīng)急處理信息系統(tǒng)運(yùn)行時(shí)出現(xiàn)的安全問題,屬于事后的安全問題處理,未在信息系統(tǒng)建設(shè)開始時(shí)實(shí)施相關(guān)安全活動(dòng)使安全問題較早解決。安全活動(dòng)滯后,增加了信息系統(tǒng)安全問題的暴露時(shí)間。

安全問題整改成本較高

目前企業(yè)的安全人員通常是在系統(tǒng)上線或運(yùn)行時(shí)才開始介入安全活動(dòng),安全問題在此階段被集中發(fā)現(xiàn)。由于漏洞多是在上線前一刻或者運(yùn)行時(shí)被發(fā)現(xiàn),安全問題數(shù)量往往較多,而且此階段對(duì)安全問題進(jìn)行整改,需重新安排人力和時(shí)間,增加了安全問題的整改成本,影響了信息系統(tǒng)上線進(jìn)度。

安全活動(dòng)無重點(diǎn)

企業(yè)信息資產(chǎn)較多,安全工具自動(dòng)化不足或集成程度不高,信息安全人員較多沉浸在資產(chǎn)的日常安全維護(hù)中,讓信息安全人員處于非常被動(dòng)狀態(tài)中。實(shí)施安全活動(dòng)無計(jì)劃,無重點(diǎn),不成體系化,而且實(shí)施效果不盡人意。

安全人員力不從心

企業(yè)專職安全人員非常有限,在安全上的人力投入無法和互聯(lián)網(wǎng)公司相比,但卻又和互聯(lián)網(wǎng)公司面臨一樣的安全風(fēng)險(xiǎn)。再加上行業(yè)監(jiān)管要求高,在眾多風(fēng)險(xiǎn)面前,往往讓安全人員力不從心。

"速度"和風(fēng)險(xiǎn)難以平衡

開發(fā)交付團(tuán)隊(duì),甚至管理層過度地強(qiáng)調(diào)“速度",隨著發(fā)布速度和頻率不斷增加,傳統(tǒng)的應(yīng)用程序安全團(tuán)隊(duì)無法跟上發(fā)布的步伐,以確保每個(gè)發(fā)布都是安全的。

為了解決這個(gè)問題,企業(yè)需要在開發(fā)過程中每個(gè)階段持續(xù)構(gòu)建安全性,以便DevOps團(tuán)隊(duì)能夠快速、高質(zhì)量地交付安全的應(yīng)用程序。越早地將安全性引入到工作流中,就能越早地識(shí)別和彌補(bǔ)安全性缺陷和漏洞。這個(gè)概念是“shiftleft”的一部分,它將安全測(cè)試轉(zhuǎn)移給功能測(cè)試人員甚至是開發(fā)人員,使他們能夠幾乎實(shí)時(shí)地修復(fù)代碼中的安全問題。通過DevSecOps,企業(yè)可以將安全性無縫地集成到他們現(xiàn)有的持續(xù)集成和持續(xù)交付(CI/CD)實(shí)踐中。

DevOps?

在了解DevSecOps前,讓我們先來了解一下DevOps。

DevOps由三個(gè)部分組成:組織文化、流程、技術(shù)和工具,幫助開發(fā)和IT運(yùn)營(yíng)團(tuán)隊(duì)以一種比傳統(tǒng)軟件開發(fā)過程更快、更敏捷、更迭代的方式構(gòu)建、測(cè)試和發(fā)布軟件。

根據(jù)DevOps手冊(cè),“在DevOps的理念中,開發(fā)人員會(huì)收到關(guān)于他們工作的快速、持續(xù)的反饋,這使他們能夠快速、獨(dú)立地實(shí)現(xiàn)、集成和驗(yàn)證他們的代碼,并將代碼部署到生產(chǎn)環(huán)境中。

簡(jiǎn)單來說,DevOps就是要消除兩個(gè)傳統(tǒng)的豎井團(tuán)隊(duì)(開發(fā)和運(yùn)營(yíng))之間的障礙。在DevOps模型中,開發(fā)和運(yùn)營(yíng)團(tuán)隊(duì)在整個(gè)軟件應(yīng)用生命周期中共同工作,從開發(fā)、測(cè)試、部署到運(yùn)營(yíng)。

DevSecOps是什么?why?

DevSecOps是Gartner 2012年在一份報(bào)告中提出的概念,是應(yīng)用程序安全(AppSec)領(lǐng)域的一個(gè)相對(duì)較新的術(shù)語。它通過在DevOps活動(dòng)中擴(kuò)大開發(fā)和操作團(tuán)隊(duì)之間的緊密協(xié)作,將安全團(tuán)隊(duì)也包括進(jìn)來,從而在軟件開發(fā)生命周期(SDLC)的早期引入安全。

DevSecOps意味著安全是每個(gè)人的共同責(zé)任,每個(gè)參與SDLC的人都在將安全性構(gòu)建到DevOps CI/CD的工作中發(fā)揮作用。

DevOps關(guān)注的是應(yīng)用交付的速度,而DevSecOps通過盡可能快地交付盡可能安全的應(yīng)用來提高速度和安全性。

Devops為開發(fā)團(tuán)隊(duì)帶來更快、更好的協(xié)作,可以在幾天到幾周內(nèi)交付和部署軟件,然而快速創(chuàng)新與安全性的沖突,讓安全性成為Devops的瓶頸。

DevSecOps(DevOps+Sec=DevSecops)通過在DevOps流程的每個(gè)階段或檢查點(diǎn)構(gòu)建安全性來消除DevOps和信息安全之間的障礙,從而更快更安全地生成高質(zhì)量的代碼。

根據(jù)DevSecOps的理念,企業(yè)應(yīng)將安全集成到DevOps生命周期的每個(gè)部分,包括初始、設(shè)計(jì)、構(gòu)建、測(cè)試、發(fā)布、支持、維護(hù)等等。在DevSecOps中,安全是DevOps價(jià)值鏈中每個(gè)人的共同責(zé)任。DevSecOps涉及開發(fā)、發(fā)布管理(或運(yùn)營(yíng))和安全團(tuán)隊(duì)之間持續(xù)的、靈活的協(xié)作。 ·

DevSecOps可以更早地、有目的地將安全性融入SDLC中,如果開發(fā)組織從一開始就將安全性考慮在代碼中,那么在漏洞進(jìn)入生產(chǎn)環(huán)境之前或發(fā)布之后發(fā)現(xiàn)并修復(fù)它們會(huì)更容易,成本也更低。

DevSecOps工具

DevSecOps工具是整個(gè)DevSecOps的核心。它通過掃描開發(fā)代碼、模擬攻擊行為,從而幫助開發(fā)團(tuán)隊(duì)發(fā)現(xiàn)開發(fā)過程中潛在的安全漏洞。

從安全的角度來看,DevSecOps工具可以劃分為以下四類:

靜態(tài)應(yīng)用安全檢測(cè)工具(SAST)

靜態(tài)應(yīng)用程序安全測(cè)試(Static Application Security Testing,SAST)技術(shù)通常在編碼階段分析應(yīng)用程序的源代碼或二進(jìn)制文件的語法、結(jié)構(gòu)、過程、接口等來發(fā)現(xiàn)程序代碼存在的安全漏洞。SAST主要用于白盒測(cè)試,檢測(cè)問題類型豐富,可精準(zhǔn)定位安全漏洞代碼,比較容易被程序員接受。但是其誤報(bào)多,耗費(fèi)的人工成本高,掃描時(shí)間隨著代碼量的增多顯著增長(zhǎng)。相關(guān)的工具有:Checkmarx,Fortify,代碼衛(wèi)士等。

動(dòng)態(tài)應(yīng)用安全檢測(cè)工具(DAST)

動(dòng)態(tài)應(yīng)用程序安全測(cè)試(Dynamic Application Security Testing)技術(shù)在測(cè)試或運(yùn)行階段分析應(yīng)用程序的動(dòng)態(tài)運(yùn)行狀態(tài)。它模擬黑客行為對(duì)應(yīng)用程序進(jìn)行動(dòng)態(tài)攻擊,分析應(yīng)用程序的反應(yīng),從而確定該Web應(yīng)用是否易受攻擊。這種工具不區(qū)分測(cè)試對(duì)象的實(shí)現(xiàn)語言,采用攻擊特征庫來做漏洞發(fā)現(xiàn)與驗(yàn)證,能發(fā)現(xiàn)大部分的高風(fēng)險(xiǎn)問題,因此是業(yè)界Web安全測(cè)試使用非常普遍的一種安全測(cè)試方案。但是由于該類工具對(duì)測(cè)試人員有一定的專業(yè)要求,大部分不能被自動(dòng)化,在測(cè)試過程中產(chǎn)生的臟數(shù)據(jù)會(huì)污染業(yè)務(wù)測(cè)試數(shù)據(jù),且無法定位漏洞的具體位置等特點(diǎn),不適合DevSecOps環(huán)境使用。相關(guān)工具有:AWVS、Burpsuite、OWASP ZAP等。

交互式應(yīng)用安全檢測(cè)工具(IAST)

交互式應(yīng)用程序安全測(cè)試(Interactive Application Security Testing)是2012年Gartner公司提出的一種新的應(yīng)用程序安全測(cè)試方案,通過在服務(wù)端部署Agent程序,收集、監(jiān)控Web應(yīng)用程序運(yùn)行時(shí)函數(shù)執(zhí)行、數(shù)據(jù)傳輸,并與掃描器端進(jìn)行實(shí)時(shí)交互,高效、準(zhǔn)確的識(shí)別安全缺陷及漏洞,同時(shí)可準(zhǔn)確確定漏洞所在的代碼文件、行數(shù)、函數(shù)及參數(shù)。IAST相當(dāng)于是DAST和SAST結(jié)合的一種互相關(guān)聯(lián)運(yùn)行時(shí)安全檢測(cè)技術(shù)。IAST的檢測(cè)效率、精準(zhǔn)度較高,并且能準(zhǔn)確定位漏洞位置、漏洞信息詳細(xì)度較高。但是其部署成本略高、且其無法測(cè)試業(yè)務(wù)邏輯漏洞。相關(guān)的工具有:Contrast Security、默安IAST、懸鏡等。

開源軟件安全工具(FOSS)

現(xiàn)在很多開源軟件安全工具已經(jīng)比較成熟了,比較著名的有:X-ray、Sonatype IQ Server、Dependencies Check等。

一般情況下,選用功能齊全的IAST或DAST即可解決大部分安全問題,想要進(jìn)一步左移,可繼續(xù)推進(jìn)SAST和FOSS的建設(shè),將漏洞發(fā)現(xiàn)提前到開發(fā)階段。

這里有一點(diǎn)需要提一下,工具解決的只是通用漏洞方面的問題,對(duì)于邏輯比較強(qiáng)的邏輯漏洞,例如0元支付這類邏輯漏洞,則需要上線前的人工安全測(cè)試去發(fā)現(xiàn)和解決,或者在設(shè)計(jì)階段通過安全需求進(jìn)行規(guī)避。

DevSecOps具體實(shí)踐

DevSecOps的關(guān)鍵在于CI/CD流程的安全嵌入,筆者根據(jù)實(shí)踐經(jīng)驗(yàn),繪制了DevSecOps自動(dòng)化安全測(cè)試流程圖如下,供大家參考。

在需求分析階段,將需求管理平臺(tái)Confluence接入JIRA,由JIRA獲取到需求和任務(wù)排期,向開發(fā)人員下達(dá)開發(fā)任務(wù)。在系統(tǒng)開發(fā)之前,為保證應(yīng)用的安全,可對(duì)開發(fā)人員進(jìn)行信息安全知識(shí)培訓(xùn)和必要的安全編碼技能的培訓(xùn),此處可利用一些在線的課程、或者在線安全平臺(tái):Secure Code Warrior。在安全培訓(xùn)周期方面,要全方位、多角度的,既有新人初期培訓(xùn),也有周期性的培訓(xùn),還要密切觀察開發(fā)人員出現(xiàn)的問題并及時(shí)給予有針對(duì)性的專題培訓(xùn),方便研發(fā)人員在了解漏洞原理之后,能寫出高質(zhì)量、安全的代碼。

開發(fā)人員接收到JIRA下發(fā)的開發(fā)任務(wù),根據(jù)《編碼安全指南》,進(jìn)行系統(tǒng)開發(fā)。在開發(fā)階段,通過在IDE中引入開源組件&內(nèi)部依賴組件安全掃描。若發(fā)現(xiàn)風(fēng)險(xiǎn)組件,通過同步到JIRA通知開發(fā)人員。在系統(tǒng)開發(fā)完成之后,開發(fā)人員通過GIT/SVN將代碼提交到代碼倉(cāng)庫。當(dāng)代碼被提交到代碼倉(cāng)庫之后觸發(fā)SAST進(jìn)行增量源代碼安全掃描,并將風(fēng)險(xiǎn)同步到JIRA。除此之外SAST也會(huì)對(duì)代碼倉(cāng)庫進(jìn)行周期巡檢。這里,可將安全編碼基線要求配置成為源代碼安全檢查工具掃描規(guī)則,使通過源代碼安全工具掃描的源代碼,確保其能夠符合安全編碼要求。

在代碼完成自動(dòng)構(gòu)建時(shí),自動(dòng)對(duì)構(gòu)建代碼進(jìn)行安全掃描,若掃描發(fā)現(xiàn)缺陷,將缺陷信息同步至JIRA,由JIRA推送至研發(fā)人員,同時(shí)終止流水線作業(yè)。待研發(fā)人員完成缺陷修復(fù)后,再新重啟發(fā)起自動(dòng)發(fā)布流水線。為減少因源代碼缺陷導(dǎo)致流水線頻繁中止重啟,建議在編碼過程,每日代碼歸并時(shí)自動(dòng)開展源代碼安全掃描,在發(fā)布前發(fā)現(xiàn)并修復(fù)代碼中存在的缺陷。

在測(cè)試階段,利用交互式安全檢測(cè)工具在單元測(cè)試、回歸測(cè)試時(shí),自動(dòng)收集測(cè)試流量,針對(duì)測(cè)試流量進(jìn)行分析和自動(dòng)構(gòu)建漏洞測(cè)試請(qǐng)求,在開展功能測(cè)試的同時(shí),即可完成安全測(cè)試。若發(fā)現(xiàn)漏洞可實(shí)時(shí)同步到JIRA,并由JIRA將漏洞信息推送研發(fā)團(tuán)隊(duì)。

總結(jié)

DevSecOps是組織文化、流程和技術(shù)的統(tǒng)一。如何有效落地離不開這三個(gè)方面的內(nèi)容:

組織文化

人和文化特別重要,DevSecops的落地不僅需要上級(jí)領(lǐng)導(dǎo)甚至最高領(lǐng)導(dǎo)的重視和投入,還需要業(yè)務(wù)團(tuán)隊(duì)對(duì)安全的重視,“自上而下”而不是“自下而上”,在落地過程中和不同部門的團(tuán)隊(duì)協(xié)作也是非常重要的。

工具鏈的建設(shè)

工具鏈建設(shè)是整個(gè)DevSecOps的核心。軟件開發(fā)是一個(gè)復(fù)雜的問題,需要DevSecOps提供相應(yīng)的自動(dòng)化工具支持,關(guān)鍵是CI/CD流程的安全嵌入。

流程和體系的建立

傳統(tǒng)的IT治理模型、流程不適合跨團(tuán)隊(duì)協(xié)作。如何解決各個(gè)開發(fā)團(tuán)隊(duì)之間的溝通、協(xié)作,需要結(jié)合自己的業(yè)務(wù)情況去制定。

 

責(zé)任編輯:趙寧寧 來源: 企業(yè)網(wǎng)D1Net
相關(guān)推薦

2020-03-09 15:40:27

RSACDevSecOps懸鏡安全

2010-09-26 11:08:44

信息安全管理體系

2011-11-02 09:54:37

測(cè)試

2022-07-05 09:48:25

DevSecOps工商銀行安全管控

2018-09-17 18:07:22

網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全技術(shù)周刊

2021-09-07 14:35:48

DevSecOps開源項(xiàng)目

2024-07-24 08:00:00

2009-10-14 14:03:16

綜合布線系統(tǒng)

2018-08-20 09:00:00

2023-08-11 09:41:48

AFLfuzzingPatch

2010-09-30 16:20:25

局域網(wǎng)管理

2021-09-14 14:50:05

SASTDevSecOps應(yīng)用安全

2011-06-02 17:44:14

錨文本

2009-07-30 14:58:26

BSM落地北塔

2010-05-12 16:25:07

Subversion入

2020-04-03 16:07:31

DevSecOps開源安全工具

2023-03-17 16:10:37

2021-10-27 08:00:00

DevSecOps開發(fā)安全

2023-02-14 09:39:00

DevSecOps發(fā)展趨勢(shì)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)