一種更好的DevSecOps方法
如今,DevSecOps的大多數(shù)問(wèn)題都回到了組織,他們?cè)噲D通過(guò)在產(chǎn)品周期結(jié)束時(shí)添加測(cè)試來(lái)“修復(fù)”安全性,希望能夠抓住一些關(guān)鍵漏洞。在本文中,學(xué)習(xí)如何通過(guò)有效策略將安全測(cè)試轉(zhuǎn)移到支持DevSecOps的最早開(kāi)發(fā)階段來(lái)解決這一問(wèn)題。
在上一篇文章中,我討論了SecDevOps以及為什么它比常用的DevSecOps更好。安全性通常在發(fā)布產(chǎn)品之前作為附加程序或門控流程保留,但是當(dāng)產(chǎn)品半途而廢時(shí),很難解決安全性問(wèn)題。如成功將SecDevOps中的安全性向左移(更常見(jiàn)的名稱DevSecOps并不暗示)一樣。安全性必須成為每個(gè)開(kāi)發(fā)人員日常工作流程的一部分,并且必須集成到軟件管道中。
作為Parasoft產(chǎn)品副總裁,我的工作是確保我們?yōu)榭蛻艉?jiǎn)化此工作。這是什么意思?首先,這意味著自動(dòng)化安全控制和策略的左移,以幫助我們的客戶在管道中建立安全性,同時(shí)減少DevSecOps的影響和風(fēng)險(xiǎn)。你是怎么做到的?在下面閱讀更多內(nèi)容,以了解如何緩解將安全性集成到DevOps中的傳統(tǒng)挑戰(zhàn)。然后,我們將檢查DevSecOps工作流程,該工作流程已成功將安全性向左移動(dòng)(應(yīng)為左移)。
解決阻礙成功的DevSecOps策略的挑戰(zhàn)
如今,DevSecOps的大多數(shù)問(wèn)題都回到了組織,他們?cè)噲D通過(guò)在產(chǎn)品周期結(jié)束時(shí)添加測(cè)試來(lái)“修復(fù)”安全性,希望能夠抓住一些關(guān)鍵漏洞。以下是發(fā)生這種情況的原因和原因,以及如何使用更智能的安全方法解決它們。
挑戰(zhàn):很難知道如何“修復(fù)”安全性
大多數(shù)開(kāi)發(fā)人員和測(cè)試人員還不是安全專家(尚未?。?,因此,當(dāng)不清楚要做什么時(shí),要在開(kāi)發(fā)的后期階段“修復(fù)”安全性是一個(gè)很高的要求。
解決方案:逐步提高安全性
相反,團(tuán)隊(duì)可以使用集中化策略(例如安全編碼標(biāo)準(zhǔn)和針對(duì)常見(jiàn)漏洞的靜態(tài)分析檢查)來(lái)逐步改善整個(gè)開(kāi)發(fā)生命周期中的安全性。另外,安全工具可以為開(kāi)發(fā)人員和測(cè)試人員提供有關(guān)漏洞存在的原因,如何利用漏洞以及最終將其刪除和測(cè)試的指南。使用Parasoft的靜態(tài)分析工具,您可以輕松地基于行業(yè)安全的編碼標(biāo)準(zhǔn)(即CWE,OWASP,CERT,UL 2900)定義集中式策略。還內(nèi)置了文檔、示例和嵌入式培訓(xùn),以使整個(gè)團(tuán)隊(duì)可以繼續(xù)學(xué)習(xí)下一步的工作。
挑戰(zhàn):周期末安全測(cè)試導(dǎo)致生產(chǎn)中的延遲和漏洞
試圖將鞋拔的安全性變成幾乎完整的產(chǎn)品的通用方法是不夠的。太多的漏洞正在進(jìn)入生產(chǎn)代碼。
解決方案:將安全性分析集成到開(kāi)發(fā)的最早階段
相反,可以將安全性納入日常開(kāi)發(fā)和運(yùn)營(yíng)中。開(kāi)發(fā)人員應(yīng)該能夠直接在IDE內(nèi)部執(zhí)行分析,從而將安全合規(guī)性轉(zhuǎn)移到開(kāi)發(fā)的早期階段。Parasoft工具與構(gòu)建過(guò)程集成在一起,并提供CI插件以驗(yàn)證漏洞不在CI管道之外。收集的數(shù)據(jù)存儲(chǔ)在每個(gè)構(gòu)建的基礎(chǔ)上,可用于報(bào)表和分析儀表板。
挑戰(zhàn):直到最后一刻,項(xiàng)目安全風(fēng)險(xiǎn)的狀態(tài)未知
由于缺乏任何類型的漏洞評(píng)估,因此在進(jìn)行某種測(cè)試之前,項(xiàng)目具有完全未知的安全風(fēng)險(xiǎn)。完成后期周期測(cè)試后,發(fā)現(xiàn)的安全漏洞往往會(huì)導(dǎo)致后期周期變更和返工。盡管在最后一刻做出了英勇的努力,但許多安全漏洞仍將其傳遞給客戶。
解決方案:持續(xù)監(jiān)視軟件質(zhì)量和安全性
為了實(shí)現(xiàn)優(yōu)先級(jí)劃分和課程更正,實(shí)時(shí)合規(guī)性報(bào)告應(yīng)提供易于訪問(wèn)的儀表板,并具有數(shù)據(jù)的頂級(jí)和深入了解。Parasoft通過(guò)高度可定制的安全儀表板消除了安全監(jiān)督的開(kāi)銷,這些儀表板是交互式的,可以從任何位置訪問(wèn),并且可以針對(duì)任何用戶進(jìn)行設(shè)計(jì),從開(kāi)發(fā)人員到團(tuán)隊(duì)領(lǐng)導(dǎo)再到上級(jí)經(jīng)理。
使用Parasoft進(jìn)行更智能的SecDevOps工作流程
如果您了解上述挑戰(zhàn)并且已準(zhǔn)備好上手,則首先將測(cè)試工具集成到現(xiàn)有開(kāi)發(fā)工作流程中。這是每日采用和從投資中獲得最大投資回報(bào)的關(guān)鍵。讓我們看看如何將Parasoft工具集成到典型的CI/CD管道中,以及如何利用它們?cè)贒evOps中“左移”安全性。
在這里,您可以看到工作流中的前提交和后提交,以及在將代碼提交到源存儲(chǔ)庫(kù)之前和之后的代碼分析。在簽入代碼之前幫助開(kāi)發(fā)人員提高質(zhì)量和安全性是“左移”的重要優(yōu)勢(shì)。我們的工具從此處開(kāi)始,然后在檢入、構(gòu)建和部署代碼之后繼續(xù)提供幫助。
預(yù)提交工作流程:
- 確定適合項(xiàng)目和組織需求的安全標(biāo)準(zhǔn)(例如OWASP,CWE,CERT)。例如,可以自定義級(jí)別和編碼標(biāo)準(zhǔn)的組成,以滿足您的需求,并且可以將安全性和質(zhì)量標(biāo)準(zhǔn)結(jié)合在一起。
- 將安全策略封裝在測(cè)試配置中。通常在整個(gè)項(xiàng)目中由團(tuán)隊(duì)負(fù)責(zé)人集中完成。
- 使定義的配置可供開(kāi)發(fā)人員在編寫和測(cè)試其代碼時(shí)使用。這里的主要好處是在每個(gè)開(kāi)發(fā)人員的桌面環(huán)境中都采用了這些標(biāo)準(zhǔn),因此每個(gè)人都在按照相同的標(biāo)準(zhǔn)進(jìn)行工作。
- 檢入之前將檢查器應(yīng)用于代碼。我們的經(jīng)驗(yàn)表明,最佳實(shí)踐是不要使對(duì)測(cè)試配置的合規(guī)性成為檢入門,因?yàn)檫@將影響團(tuán)隊(duì)的效率和采用安全編碼做法。經(jīng)常會(huì)由于各種原因(工具不一定進(jìn)行評(píng)估)而簽入不完全兼容的代碼,并且工作流的提交后部分的目的是執(zhí)行“完整分析”并充當(dāng)安全網(wǎng)。
提交后的工作流程:
- 生成代碼,運(yùn)行現(xiàn)有測(cè)試,并執(zhí)行項(xiàng)目范圍內(nèi)的靜態(tài)分析。
- 檢查發(fā)布到安全儀表板的結(jié)果,以確定需要關(guān)注的領(lǐng)域。
- 分析結(jié)果,確定違規(guī)的優(yōu)先順序,并以任務(wù)的形式為相應(yīng)的開(kāi)發(fā)人員分配違規(guī)。使用Parasoft,可通過(guò)預(yù)設(shè)和可自定義的儀表板獲得即時(shí)反饋。
- 采取措施解決已發(fā)布并在每個(gè)人的IDE中可供查看的警告和違規(guī)行為。
內(nèi)置安全性是質(zhì)量的一部分
大多數(shù)軟件團(tuán)隊(duì)都知道交付高質(zhì)量代碼的需求,而不管其當(dāng)前過(guò)程的成熟程度如何。利用現(xiàn)有的心態(tài)來(lái)提高安全性,您可以將安全性要求、控件和標(biāo)準(zhǔn)交織在一起,作為現(xiàn)有質(zhì)量改進(jìn)過(guò)程的一部分。在儀表板級(jí)別,實(shí)時(shí)查看安全法規(guī)遵從性,并能夠根據(jù)突出顯示的關(guān)注區(qū)域深入研究問(wèn)題區(qū)域,有助于安全性成為日常質(zhì)量管理的一部分。
總結(jié)
重要的是在開(kāi)發(fā)生命周期中盡早確定安全的優(yōu)先級(jí),以“左移”執(zhí)行安全標(biāo)準(zhǔn)和良好實(shí)踐,并成功實(shí)現(xiàn)DevSecOps。為此,您需要一個(gè)易于開(kāi)發(fā)且易于采用的過(guò)程來(lái)在開(kāi)發(fā)人員編寫代碼后立即檢測(cè)并消除漏洞。Parasoft的實(shí)時(shí)、可自定義的分析和報(bào)告儀表板向團(tuán)隊(duì)負(fù)責(zé)人和安全專家提供有關(guān)項(xiàng)目狀態(tài),對(duì)選定標(biāo)準(zhǔn)的遵守情況以及最關(guān)注的確切問(wèn)題的即時(shí)反饋,以便整個(gè)組織可以了解風(fēng)險(xiǎn)。