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

三項DevSecOps核心原則,保證交付的安全與速度

譯文
開發(fā) 項目管理 漏洞
本文向您介紹將安全整合到DevOps中(DevSecOps),以保證您能更快、更低風(fēng)險地交付出軟件產(chǎn)品的三項原則。

三項DevSecOps核心原則,保證交付的安全與速度

【51CTO.com快譯】現(xiàn)如今,盡管各種駭人聽聞的網(wǎng)絡(luò)攻擊事件已是各類新聞頭條的“???rdquo;了,但是大多數(shù)企業(yè)仍會在其IT環(huán)境的搭建之初就忽略了、或錯誤地實施了安全管控。

而對于一些初創(chuàng)型企業(yè)及其新建的IT系統(tǒng)而言,它們時常會將有限的資金花費在無關(guān)的資產(chǎn)、或流程的保護之上。根據(jù)Verizon 2018年度數(shù)據(jù)泄露調(diào)查報告顯示,在一般企業(yè)的系統(tǒng)中,有40%的漏洞會出現(xiàn)在應(yīng)用層。而他們花費在保護應(yīng)用程序上的年度安全預(yù)算,卻只有3%~4%。

與此同時,一般企業(yè)的IT部門在人員崗位分配上也存在著不均衡的現(xiàn)象,時常會出現(xiàn)100名開發(fā)人員僅配備了一位安全技術(shù)專家的狀況。而這些孤獨的安全人員,往往不得不疲于提供瀑布式的安全策略與實踐,以趕上整個研發(fā)團隊的敏捷開發(fā)節(jié)奏。因此,當(dāng)他們根據(jù)安全檢查表中的不達標(biāo)項,叫停某些應(yīng)用編碼工作、進而導(dǎo)致延遲產(chǎn)生的時候,都將被視為是對公司當(dāng)前項目推進的阻礙、內(nèi)部生產(chǎn)效率的破壞、甚至是對整體文化的“毒害”。

在現(xiàn)實情況中,如果您沒有在整個軟件交付的管道中實施安全流程管控的話,那么您必將面臨著各種組件的延遲交付或風(fēng)險發(fā)布,而且這些組件往往會帶有潛在的漏洞。不過,這恰好是DevSecOps能夠發(fā)揮作用的地方。它通過各種安全實踐,來最小化軟件交付管道中的各種脆弱性,為組織的IT和業(yè)務(wù)的目標(biāo)保駕護航。

在XebiaLabs公司(譯者注:一家獨立的軟件公司,專注于為大型組織開發(fā)企業(yè)級的持續(xù)交付與DevOps軟件)最近組織的一次網(wǎng)絡(luò)研討會上,來自Signal Sciences的研究主管--James Wickett,與DevOps思想領(lǐng)袖--Gene Kim,以及XebiaLabs的首席產(chǎn)品官(CPO)--Rob Stroud,討論了如何將安全性接入到整個DevOps生命周期中的三項原則。

您除了可以通過鏈接:https://xebialabs.com/community/webinars/devsecops-missing-link-of-business-velocity/,來收聽該網(wǎng)絡(luò)研討會的現(xiàn)場錄音之外,還可以通過如下文字閱讀有關(guān)DevSecOps的三項核心原則。

原則1:為最壞的場景做好設(shè)計

為了將安全性盡量“左移”(指各項流程管道的初始階段),獲取開發(fā)部門的理解與支持是非常重要的。為了實現(xiàn)該目標(biāo),各個企業(yè)需要幫助研發(fā)人員了解到,在他們的應(yīng)用程序中可能存在的威脅與漏洞,并需要有針對性的進行各種計劃與設(shè)計。Wickett建議采用如下四種方式:

  • 艙壁模式(Bulkhead Patterns)-- 以一種分割應(yīng)用程序之間依賴性的方式,來設(shè)計您的程序代碼。這是一種“未雨綢繆”的設(shè)計理念。如果您能夠隔離應(yīng)用程序中的各個組件,那么縱然某一個組件出現(xiàn)了故障,而其他組件仍然可以運行并提供服務(wù)。Wickett說,該模式的典型應(yīng)用案例就是針對微服務(wù)的引入。您會很自然地借用艙壁的理念,將大的整塊服務(wù)分割成多個小的單功能服務(wù)。雖然這是一種絕佳的安全實踐,不過我們也需要在企業(yè)環(huán)境中事先考慮到微服務(wù)的擴展限制問題。
  • 惡意用戶場景(Evil User Stories) -- 您可以通過描述用戶如何破壞系統(tǒng)的安全性,來提醒敏捷開發(fā)團隊,在他們編寫最終產(chǎn)品代碼時限制惡意用戶的各種可能行為。例如他們可以這樣制定代碼的邏輯:如果有用戶在訪問某個網(wǎng)站時,試圖進行跨站點腳本注入攻擊,那么就直接拒絕其任何操作行為。Wickett說,那些具有高安全性的組織,通常會使用各種既定的語言、模式和測試框架,來描述不同的用戶場景,并以此融入現(xiàn)有的敏捷開發(fā)企業(yè)文化之中,使之成為可接受的系統(tǒng)的一部分。
  • 威脅建模(Threat modeling) -- 在軟件開發(fā)的過程中,您可以使用威脅模型來說明應(yīng)用程序在運行時所涉及到的組件,并識別出這些組件可能面臨的潛在風(fēng)險,進而選取最好的防護措施。威脅建模對于那些缺乏安全專家人手的環(huán)境是至關(guān)重要的。同時,通過提供一些具有針對性的風(fēng)險管控模型,安全人員會更容易實現(xiàn)與研發(fā)部門的溝通,并達成共識。
  • 風(fēng)險評估(Risk Assessments) -- 您可以將基于風(fēng)險的評估方法運用到自己的環(huán)境中,以確定哪些給定的措施更適合于自己的用例環(huán)境。這將有助于開發(fā)人員通過提供參數(shù)輸入的方式,將評估集成到應(yīng)用的設(shè)計與實施階段,并貫穿整個項目的生命周期。

原則2:安全測試貫穿整個管道

一般而言,針對軟件交付管道的全面安全加固,就意味著:在應(yīng)用程序的整個生命周期,對每一個組件和階段,都采取漏洞測試。您可以采用如下的方法測試軟件交付管道的安全性。

  • 逆境測試(Adversity Testing) -- 您可以通過各種“實戰(zhàn)性”的攻擊工具,對自己的管道進行注入攻擊,以找出不同的安全漏洞。Wickett推薦下載的工具包括:Metasploit(https://www.metasploit.com/)、Nikto(https://cirt.net/Nikto2)和Arachni(http://www.arachni-scanner.com/)。安全人員通過利用它們來對某個網(wǎng)站進行測試,以找出那些薄弱的環(huán)節(jié)。這些測試的目的都是為了獲悉您系統(tǒng)環(huán)境中的漏洞,以及整體抗攻擊的能力。
  • 安全即代碼(Security-as-Code) -- 類似于基礎(chǔ)設(shè)施即代碼(infrastructure-as-code, https://xebialabs.com/glossary/infrastructure-as-code/),安全即代碼是將各種安全模式集成到代碼系統(tǒng)之中,成為一個自動化的流程部分。由于它能夠更多地將開發(fā)人員帶入安全相關(guān)的流程中,因此安全即代碼是企業(yè)塑造DevSecOps文化的重要組成部分。
  • 漏洞測試(Vulnerability Testing) -- 通常情況下,我們會用不同的方法對應(yīng)用程序進行漏洞測試。其中包括:
    • 靜態(tài)應(yīng)用程序安全測試(SAST),提供了一套檢測應(yīng)用程序代碼漏洞的工具集。
    • 動態(tài)應(yīng)用程序安全測試(DAST),是采用外部攻擊,來測試應(yīng)用程序的運行狀態(tài)的一種方法。
    • 交互式應(yīng)用程序安全測試(IAST),是在測試階段分析應(yīng)用程序的行為,以幫助開發(fā)者對所發(fā)現(xiàn)的漏洞進行優(yōu)先級排序的一種方法。

原則3:摒棄只重視AppSec培訓(xùn)的謬誤

在過去十年間,整個行業(yè)都過于重視培訓(xùn)開發(fā)人員編出具有安全性的代碼。雖然AppSec培訓(xùn)非常重要,而且其各種最佳實踐能夠提高企業(yè)的整體安全意識,但是它也會帶來一些其他問題。對于一些新手程序員而言,只要是用人工編寫代碼的方式,就可能會帶有漏洞。因此我們不應(yīng)盲目地認(rèn)為他們所開發(fā)的代碼,足以讓其應(yīng)用程序固若金湯。同時,接受過AppSec培訓(xùn)的研發(fā)人員,會更具備“全棧”的開發(fā)能力,當(dāng)然更容易被其他公司所“挖”走。

因此,我們不能只專注于開發(fā)人員是否能編寫出更為安全的代碼,而應(yīng)該盡可能地將各種流程自動化,并放置到軟件交付管道的左側(cè)(初始階段),同時在右側(cè)(管道的末端)增設(shè)各種與安全相關(guān)的監(jiān)測工具。另外,我們應(yīng)當(dāng)盡量通過一套部署管理系統(tǒng),來強制實施各項自動化的進程,以保證代碼在最終發(fā)布階段的安全性。

安全性和敏捷性并重

對于一般企業(yè)而言,將不同職能部門的團隊組織起來,通過DevOps的協(xié)作方式,在規(guī)定時間內(nèi)交付出軟件產(chǎn)品是極具挑戰(zhàn)性的。我們時常會看到一些實施了DevOps的企業(yè),他們的團隊雖然實現(xiàn)了在軟件產(chǎn)品交付上的“提速”,卻無法讓產(chǎn)品達到相應(yīng)的安全水準(zhǔn)。因此,如果您在軟件持續(xù)交付的過程中忽略了安全性的保障的話,那么您最后將會失去客戶的信任,也沒有人愿意、或敢去使用您的軟件產(chǎn)品。

原文標(biāo)題:Delivering Security and Speed: The 3 Core Principles of DevSecOps ,作者:Tim Buntel

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

責(zé)任編輯:龐桂玉 來源: 51CTO
相關(guān)推薦

2012-06-25 11:35:42

2023-03-21 11:13:38

數(shù)字工具數(shù)字化轉(zhuǎn)型

2022-01-18 10:55:36

云計算CIODevSecOps

2015-06-29 16:22:10

2017-05-18 08:54:39

2024-07-05 11:11:00

2017-09-14 13:54:45

數(shù)據(jù)存儲

2010-09-02 14:08:58

無線網(wǎng)卡設(shè)置

2023-01-04 00:04:26

2009-04-01 13:43:35

索引開發(fā)MySQL

2021-10-23 06:49:57

WiFi 6WiFi 5通信網(wǎng)絡(luò)

2016-12-07 13:46:15

Amazon AI服務(wù)AWS

2023-06-29 00:17:58

DevSecOps軟件開發(fā)

2013-03-26 09:40:47

大數(shù)據(jù)大數(shù)據(jù)挖掘

2013-11-05 10:02:15

IBMTwitter侵犯專利

2009-09-08 14:18:36

CCNA專項

2020-11-09 10:38:57

物聯(lián)網(wǎng)

2023-01-09 14:36:51

BudgieLinux

2010-11-25 16:07:45

Rational軟件開發(fā)

2016-12-22 07:21:41

點贊
收藏

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