• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      將安全性納入敏捷開發(fā)和CI/CD中

      2020-04-22 00:29IsaacSacolick
      計(jì)算機(jī)世界 2020年14期
      關(guān)鍵詞:開發(fā)人員應(yīng)用程序代碼

      Isaac Sacolick

      之所以會(huì)出現(xiàn)DevOps,是因?yàn)樾枰l繁發(fā)布的開發(fā)團(tuán)隊(duì)與需要維護(hù)可靠性和穩(wěn)定性的運(yùn)營(yíng)團(tuán)隊(duì)之間在文化上、功能上和技術(shù)上存在隔閡。DevOps文化致力于解決思維方式、協(xié)作和實(shí)踐上的差異以實(shí)現(xiàn)各自目標(biāo)和DevOps實(shí)踐,其中包括持續(xù)集成/持續(xù)交付(CI/CD)、基礎(chǔ)設(shè)施即代碼(IaC)、AIOps(通過在應(yīng)用程序監(jiān)視中內(nèi)置機(jī)器學(xué)習(xí)實(shí)現(xiàn))。

      隨著越來越多的人和企業(yè)開始采用DevOps,“DevOps”一術(shù)語顯然已經(jīng)無法再準(zhǔn)確描述這一活動(dòng)的全部范疇、實(shí)踐和要求。我曾經(jīng)呼吁使用“DevQaOps”這一術(shù)語,并推薦在可行的情況下使用前移安全測(cè)試。

      每個(gè)人對(duì)安全負(fù)責(zé)也很重要。將安全性轉(zhuǎn)移到開發(fā)和運(yùn)營(yíng)中(即DevSecOps)可以幫助用戶實(shí)現(xiàn)這一目標(biāo)。

      軟件安全性從開發(fā)人員開始

      在DevOps出現(xiàn)之前,開發(fā)團(tuán)隊(duì)通常只在應(yīng)用程序發(fā)布過程的最后階段才開始進(jìn)行安全實(shí)踐,變更咨詢委員會(huì)(CAB)通常會(huì)要求有這一步驟。由于安全團(tuán)隊(duì)是在流程后期才加入的,因此他們理解業(yè)務(wù)需求、熟悉技術(shù)變更、評(píng)估風(fēng)險(xiǎn)以及進(jìn)行安全測(cè)試的時(shí)間都相當(dāng)有限。當(dāng)安全團(tuán)隊(duì)發(fā)現(xiàn)了問題,要想在不影響時(shí)間表的情況下修復(fù)問題時(shí)會(huì)顯得非常倉促。如果發(fā)現(xiàn)的問題需要進(jìn)行實(shí)質(zhì)性的代碼更改,那么開發(fā)團(tuán)隊(duì)就會(huì)面臨一個(gè)進(jìn)退兩難的選擇。

      在發(fā)布流程的后期進(jìn)行安全性測(cè)試對(duì)于DevOps團(tuán)隊(duì)來說是一個(gè)重大風(fēng)險(xiǎn),因?yàn)檫@樣可能會(huì)增加發(fā)布頻率和對(duì)微服務(wù)的投資。據(jù)DORA和Google Cloud發(fā)布的《2019年度DevOps促進(jìn)狀態(tài)報(bào)告》(Accelerate:State of DevOps 2019)顯示,43%的受訪者為每天或每周都需要發(fā)布應(yīng)用程序的高績(jī)效或精英企業(yè)。由于DevOps開始被大量應(yīng)用在生產(chǎn)部署當(dāng)中,這使得用戶需要有一種綜合性方法來頻繁部署最佳安全實(shí)踐,同時(shí)這也要求用戶在開發(fā)流程的早期就開始部署。

      敏捷開發(fā)團(tuán)隊(duì)和信息安全團(tuán)隊(duì)之間需要在以下領(lǐng)域進(jìn)行協(xié)作:

      ·? 審查安全要求、架構(gòu)和編碼實(shí)踐。

      ·? 在CI/CD管道中進(jìn)行自動(dòng)化安全測(cè)試。

      ·? 監(jiān)視應(yīng)用程序所面臨的威脅并解決安全問題。

      在以下部分中,我將針對(duì)這些領(lǐng)域提供一些指導(dǎo)原則。

      在安全性要求、架構(gòu)和編碼實(shí)踐方面進(jìn)行協(xié)作

      開發(fā)團(tuán)隊(duì)和信息安全團(tuán)隊(duì)必須在敏捷開發(fā)流程的早期(甚至在編碼開始之前)就安全性展開合作。在Puppet、CircleCI和Splunk發(fā)布的《2019年DevOps狀態(tài)報(bào)告》中,研究人員明確了幾種開發(fā)和信息安全團(tuán)隊(duì)相互協(xié)作的最佳實(shí)踐:

      ·? 安全和開發(fā)團(tuán)隊(duì)?wèi)?yīng)當(dāng)就威脅模型展開協(xié)作。

      ·? 應(yīng)在產(chǎn)品待辦事項(xiàng)列表中優(yōu)先考慮功能性和非功能性安全要求。

      ·? 安全要求應(yīng)當(dāng)被視為設(shè)計(jì)約束條件。

      敏捷開發(fā)團(tuán)隊(duì)可以通過標(biāo)記高等級(jí)安全風(fēng)險(xiǎn)要求和進(jìn)行安全審查來實(shí)施這些實(shí)踐。開發(fā)團(tuán)隊(duì)?wèi)?yīng)與信息安全團(tuán)隊(duì)在需求、架構(gòu)、設(shè)施和應(yīng)用程序部署方面展開合作,以捕獲用戶信息、管理授權(quán)和處理敏感數(shù)據(jù)。

      為了降低代碼更改的風(fēng)險(xiǎn),敏捷團(tuán)隊(duì)?wèi)?yīng)以用戶的角度編寫驗(yàn)收標(biāo)準(zhǔn),以解決信息安全團(tuán)隊(duì)的安全要求和約束。

      敏捷開發(fā)人員還應(yīng)該按照設(shè)計(jì)原則來審查OWASP(開放 Web 應(yīng)用程序安全項(xiàng)目)的安全性,其中包括以下幾種最佳實(shí)踐:

      ·? 在密碼過期等領(lǐng)域建立起由安全性驅(qū)動(dòng)的默認(rèn)策略。

      ·? 在定義角色和授權(quán)訪問業(yè)務(wù)流程時(shí)實(shí)施最低權(quán)限原則。

      ·? 深入理解職責(zé)分離、“不信任”服務(wù)等安全原則,最小化攻擊面以及避免安全性變得模糊不清。

      ·? 通過深入了解根本原因和整體性修復(fù),快速解決安全問題。

      最后,開發(fā)團(tuán)隊(duì)和信息安全團(tuán)隊(duì)?wèi)?yīng)共同總結(jié)出一套可供參考的編碼最佳實(shí)踐,例如卡內(nèi)基梅隆大學(xué)的編碼實(shí)踐、密歇根大學(xué)安全計(jì)算的最佳實(shí)踐,以及所用編程語言和平臺(tái)的最佳安全編碼實(shí)踐。

      如果要將應(yīng)用程序部署到公有云,用戶還應(yīng)查看例如Google Cloud安全性概述、AWS安全性設(shè)計(jì)、Azure上設(shè)計(jì)安全應(yīng)用程序的站點(diǎn)等最佳實(shí)踐。

      在持續(xù)集成/持續(xù)交付(CI/CD)管道中進(jìn)行安全性測(cè)試

      下一步要考慮安全性的是CI/CD管道,在此管道中,自動(dòng)化代碼和安全驗(yàn)證能夠分割構(gòu)建并警告開發(fā)人員。建立CI/CD管道標(biāo)準(zhǔn)時(shí)應(yīng)考慮的一些較常見的安全實(shí)踐和工具:

      ·? 靜態(tài)應(yīng)用程序安全測(cè)試(SAST)平臺(tái)(如SonarQube、Veracode、Sentinel Source和Checkmarx)可針對(duì)不同的漏洞和模式掃描代碼。例如,SonarQube可掃描惡意輸入(污點(diǎn)分析)、跨站點(diǎn)腳本、敏感數(shù)據(jù)暴露和已知漏洞。Veracode稱,他們已經(jīng)掃描了超過11萬億行代碼,誤報(bào)率低于5%。Checkmark可使用20多種編程語言,并符合PCI-DSS、HIPAA、FISMA等法規(guī)標(biāo)準(zhǔn)。所有這三個(gè)工具均可在多個(gè)IDE和CI/CD平臺(tái)上運(yùn)行。此外,用戶還可以選擇開源的SAST工具,例如CodeWarrior和NodeJsScan。目前OWASP已列出了20多種SAST工具,并指出它們可以發(fā)現(xiàn)配置問題、身份驗(yàn)證和訪問控制中的漏洞。

      ·? 附屬掃描工具可審查包括開源庫在內(nèi)的基礎(chǔ)軟件組件,并報(bào)告漏洞。GitLab Secure擁有SAST和其他安全工具,包括依賴性檢測(cè),并且可以與Java、JavaScript、PHP、Python、Ruby、Scala和Go一起使用。OWASP Dependency Check還可與Jenkins、CircleCI和SonarQube進(jìn)行集成。Snyk開源安全管理器能夠讓開發(fā)人員查找和修復(fù)開源漏洞。微軟最近發(fā)布了一款名為Application Inspector的代碼分析工具,可以針對(duì)400種模式進(jìn)行報(bào)告,其中包括影響安全性的功能。

      ·? 滲透測(cè)試的出現(xiàn)已經(jīng)有一段時(shí)間了,但是傳統(tǒng)上許多公司都設(shè)置有在軟件開發(fā)生命周期(SDLC)中測(cè)試代碼、構(gòu)建和部署流程獨(dú)立性的安全團(tuán)隊(duì)。目前比較流行的工具OWASP Zed Attack Proxy(OWASP ZAP)可以嵌入CI/CD工具(如Jenkins)中并觸發(fā)部署。ZAP項(xiàng)目負(fù)責(zé)人Simon Bennetts曾就ZAP的All Day DevOps系列產(chǎn)品指出:“使用得越早越好。ZAP在自動(dòng)化方面具有許多亮點(diǎn)?!?/p>

      ·? DevOps、云計(jì)算和開發(fā)工具通常都有自己的安全插件。例如,Jenkins和Azure DevOps有40多個(gè)安全插件,CircleCI也有20多個(gè)安全插件。微軟Azure已發(fā)布了自己的持續(xù)安全性方法,AWS則為CodePipeline用戶提供了DevSecOps準(zhǔn)則。 隨著安全技術(shù)、集成和devops工具的快速發(fā)展,信息安全和開發(fā)團(tuán)隊(duì)?wèi)?yīng)定期檢查這些工具以查找新的安全插件。

      ·? 另一個(gè)重要的考慮因素是保護(hù)CI/CD管道本身。保護(hù)鍵和參數(shù)的安全對(duì)于安全性來說至關(guān)重要,為此CircleCI、Jenkins和Azure都提供了鎖定這些鍵和參數(shù)的工具和建議。

      利用監(jiān)視和AIOps形成安全性閉環(huán)

      在保護(hù)基礎(chǔ)設(shè)施即代碼、強(qiáng)化容器安全和配置云服務(wù)方面有著一整套DevSecOps規(guī)范。此外,在數(shù)據(jù)安全性、身份管理和物聯(lián)網(wǎng)設(shè)備安全方面也有專門的DevSecOps主題。如果用戶的工程和開發(fā)項(xiàng)目涵蓋基礎(chǔ)設(shè)施、移動(dòng)、網(wǎng)絡(luò)、物聯(lián)網(wǎng)和分析,那么用戶還將在這些領(lǐng)域中找到專門的安全實(shí)踐和工具。

      除了基礎(chǔ)設(shè)施和數(shù)據(jù)安全之外,從事應(yīng)用程序開發(fā)的所有人都必須熟知應(yīng)用程序在生產(chǎn)環(huán)境中的工作方式。審查事件,參與對(duì)深層次原因的分析以及糾正缺陷都是應(yīng)用程序開發(fā)的重要職責(zé)。對(duì)于開發(fā)人員來說,這通常意味著改進(jìn)應(yīng)用程序監(jiān)視工具的日志記錄和審查分析功能。

      作為一種新興的運(yùn)營(yíng)技術(shù),AIOps利用了機(jī)器學(xué)習(xí)和自動(dòng)化功能簡(jiǎn)化了DevOps和應(yīng)用程序監(jiān)視。運(yùn)營(yíng)團(tuán)隊(duì)通常會(huì)使用許多不同的監(jiān)視工具,但是使用多個(gè)工具可能會(huì)減慢解決事件的速度,尤其是在復(fù)雜的多云環(huán)境中以及開發(fā)團(tuán)隊(duì)頻繁進(jìn)行修改時(shí)。

      AIOps工具聚合了多個(gè)監(jiān)視工具、應(yīng)用程序日志文件或基礎(chǔ)設(shè)施組件的運(yùn)營(yíng)數(shù)據(jù),然后再利用機(jī)器學(xué)習(xí)來幫助識(shí)別事件,觸發(fā)自動(dòng)響應(yīng)并減少解決問題的時(shí)間。這些工具還可以通過篩選縱向操作數(shù)據(jù)來幫助發(fā)現(xiàn)異常值和延緩問題的發(fā)展速度。通過這種類型的分析可以發(fā)現(xiàn)許多安全問題。

      對(duì)安全問題的審查監(jiān)視和AIOps工具可以幫助信息安全和開發(fā)團(tuán)隊(duì)將運(yùn)營(yíng)中的安全事件反饋至敏捷開發(fā)流程中并進(jìn)行修復(fù)。雖然這是一種被動(dòng)性安全措施,但是對(duì)于致力于管理和提高應(yīng)用程序安全性的敏捷團(tuán)隊(duì)和devops 部門而言,這是一項(xiàng)至關(guān)重要的實(shí)踐。

      解決軟件安全問題需要在敏捷開發(fā)流程開始時(shí)就積極主動(dòng)采取措施,使用開發(fā)管道中的最佳實(shí)踐和工具,以及基于監(jiān)視生產(chǎn)系統(tǒng)的被動(dòng)措施。安全威脅總是瞬息萬變,因此敏捷團(tuán)隊(duì)和DevOps部門需要不斷審查安全實(shí)踐并驗(yàn)證新方法。

      本文作者Isaac Sacolick為《驅(qū)動(dòng)數(shù)字技術(shù):通過技術(shù)實(shí)現(xiàn)業(yè)務(wù)轉(zhuǎn)型的領(lǐng)導(dǎo)者指南》一書的作者。該指南介紹了許多關(guān)于敏捷性、DevO ps和數(shù)據(jù)科學(xué)的實(shí)踐,對(duì)成功的數(shù)字化轉(zhuǎn)型計(jì)劃具有重要的指導(dǎo)意義。

      原文網(wǎng)址

      https://www.infoworld.com/article/3520969/how-to-bring-security-into-agile-development-and-cicd.html

      猜你喜歡
      開發(fā)人員應(yīng)用程序代碼
      刪除Win10中自帶的應(yīng)用程序
      Semtech發(fā)布LoRa Basics 以加速物聯(lián)網(wǎng)應(yīng)用
      谷歌禁止加密貨幣應(yīng)用程序
      創(chuàng)世代碼
      創(chuàng)世代碼
      創(chuàng)世代碼
      創(chuàng)世代碼
      后悔了?教你隱藏開發(fā)人員選項(xiàng)
      瑞丽市| 鹿泉市| 天水市| 莱州市| 木里| 阜阳市| 新丰县| 合川市| 龙川县| 凤庆县| 安化县| 宁国市| 古蔺县| 乌兰察布市| 永昌县| 孝昌县| 微山县| 新乡县| 博客| 昆山市| 洪泽县| 彭州市| 梓潼县| 成武县| 盐源县| 新晃| 白水县| 文登市| 洛宁县| 光泽县| 长阳| 太仓市| 开阳县| 吴江市| 四川省| 斗六市| 孟州市| 南京市| 惠州市| 汉寿县| 根河市|