什麼是DevSecOps?開發人員如何為安全而左移
在IT流行語的字母組合中,DevSecOps是一個很容易讓人混淆的縮寫。
DevSecOps是一個特定工具嗎?
是否有DevSecOps流程或最佳實踐?
DevSecOps 應該成為內部 IT 部門的優先事項,還是更廣泛的公司理念?
如果一個公司已經利用了DevOps的流程和技術棧,那麼它應該升級到DevSecOps嗎?或者這隻會讓已經超負荷的流程變得更復雜嗎?
DevSecOps不僅僅是一個流行的詞,它已經成為成熟組織在全面開發過程中演進的下一步。
DevOps從傳統軟體開發生命週期的自然演變
DevOps(開發-運營)作為一種整合的流程理念在2008年左右出現了發展勢頭。
傳統上,軟體開發生命週期(SDLC)遵循結構化的瀑布方法。依賴於某個部分的完成會導致瓶頸,從而導致應用程式、修復和更改的交付速度變慢。
為了滿足市場需求和提高內部開發速度,IT運營和軟體開發部門需要更快地釋出程式碼。產品需要在沒有重大障礙的情況下快速實施。
隨著對速度的需求不斷增加,新的敏捷開發方法獲得普及。隨著團隊一起開發和測試,這個過程涉及更頻繁地釋出和調整。
透過協作和自動化,這種更快的交付方式導致了持續的開發過程,從而形成了今天的整合DevOps過程。
為什麼DevOps必須向左移動以確保安全
然而,現代 DevOps 流程的速度和自動化可能會增加風險以及更多漏洞和缺陷。
在傳統的 DevOps 流程中,安全評估在開發流程結束時進行。這種安全至上的方法:
透過其被動的、強制性的安全方法減慢開發生命週期。
導致開發人員和安全團隊產生間隙,因為他們需要重新處理幾乎交付的程式碼來修復本可以更早發現和解決的安全問題。
因此,組織已經開始向左轉移,即主動將安全性引入開發生命週期本身,而不是在最後一刻進行安全修復。
儘管安全性的重要性得到了普遍認可,因為這種額外的責任會影響開發人員推出新程式碼的效率。
此外,開發人員不是安全專家。他們如何知道應該優先考慮哪個漏洞?為什麼他們要負責解釋沒有上下文的資料可能存在的安全風險?
開發也不是唯一需要增加安全整合的過程。運營團隊也必須包括在新的安全優先順序中,因為作業系統、資料庫、Web 伺服器和技術基礎設施的其他部分經常包含許多潛在的漏洞和缺陷。
最終,DevSecOps在允許開發敏捷性和速度之間取得了很好的平衡,同時保持了安全的應用程式和操作環境。這種全面的協作過程需要所有三個團隊之間的意識和自動化:開發、運營和安全。
開發人員需要認識到安全性的重要性,而不是將其視為降低生產力效率的阻力,並主動將風險評估和修復納入開發生命週期本身。
安全性和運營必須透過提高效率和確定漏洞和弱點的優先順序來確保和促進持續的開發生命週期。
沒有通用的DevSecOps工具
坦率地說,在一個持續整合/持續交付(CI/CD)管道中,沒有一個工具或解決方案能夠解決許多不同的需求。
DevSecOps 涵蓋了太多不同的專業和潛在挑戰,單一的技術或應用無法覆蓋所有領域。作為有效的DevSecOps協議的一部分,組織可以進行:
-
基礎設施掃描
-
動態應用程式和靜態程式碼掃描
-
第三方漏洞掃描
-
自動化滲透測試
-
API模糊測試
當然,這只是技術要求的一部分。
不要忘記許多其他必須綜合、整合和採取行動的漏洞資訊來源。
在不增加額外工作的情況下優先考慮DevSecOps理念
最終,DevSecOps並不是開發過程中的一次性工具或單點,而是關於自動化、協作和整合。
畢竟,左移不僅僅是一個用來描述開發人員單獨考慮安全性的過程的術語。向左轉移要求整個團隊從專案的一開始就考慮潛在的漏洞、弱點和風險。
這種轉變需要在開發過程中透過SAST、SCA等工具掃描程式碼,並在出現問題時作為整體操作的常規、整合部分進行修復。自動化安全測試應該與軟體開發並行執行,在程式碼審查期間合併,並新增到驗收測試標準中。
而且,如果要將安全性直接納入一般運營和開發流程的一部分,那麼漏洞和弱點資料的彙總和優先順序排序就變得至關重要。
成熟的DevSecOps專案的自動化、整合技術棧
雖然DevSecOps沒有一個工具可以涵蓋流程的每個部分,但必須有一個強大的工具集來跟蹤跨團隊的工作並協調關鍵任務,以便在程式碼公開之前消除程式碼中的安全漏洞。
開發人員傾向於使用特定工具(例如 Jira)來管理他們的工作負載。另一方面,運營團隊可能使用服務管理解決方案,安全團隊通常擁有不同的工具套件,如透過WuKong靜態軟體安全測試工具檢測程式碼缺陷和漏洞,SCA掃描開源元件安全等,它們可能整合也可能不整合。
許多實施DevSecOps流程的組織發現,將這些資訊自動化和集中到一個普遍可訪問的整合中心,使所有團隊(開發、運營和安全等)能夠在正確的時間處理正確的任務,同時實現跨部門的測量和對關鍵KPI進行報告。
透過DevSecOps賦能開發週期
最後,DevSecOps是關於增強開發、安全和運營團隊之間的協作。
開發人員和運營人員接受有關安全意識的培訓,並配備適當的工具和流程以促進早期的安全重點。透過授權團隊在DevOps生命週期中承擔安全責任,DevSecOps使開發、安全和運營團隊能夠更快地發現和修復安全問題。
文章來源:
https://www.ivanti.com/blog/what-is-devsecops-how-great-developers-shift-left-for-security
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000012/viewspace-2895116/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 什麼是Web開發?如何成為一個Python Web開發人員?WebPython
- 為什麼安全是Java開發人員的首要任務?Java
- 淺談DAST,什麼是DAST,開發人員為什麼要使用它?AST
- 什麼是 DevSecOps?dev
- 為什麼開發人員喜歡低程式碼?
- 為什麼 Python 開發人員應該使用 PipenvPython
- 調查:76%汽車開發人員已經或正採用安全“左移”策略
- 【譯】為什麼 React16 對開發人員來說是一種福音React
- 為什麼開發人員痴迷於“關注點分離”?
- 為什麼像Google公司的一些開發人員認為敏捷開發是無稽之談? - QuoraGo敏捷
- 人是什麼?人生是什麼?人為什麼會變?
- 為什麼開發人員必須要了解資料庫鎖?資料庫
- 為什麼 Web 開發人員需要學習一個 JavaScript 框架?WebJavaScript框架
- 什麼是前端開發?為什麼要學前端開發?前端
- 為什麼阿里巴巴禁止開發人員使用isSuccess作為變數名阿里變數
- 為什麼說減少開發人員和安全團隊之間摩擦有助提高軟體安全性
- 為什麼說web前端開發人員的薪資高、待遇好Web前端
- 為什麼Web開發人員在2020年不用最新的CSS功能WebCSS
- 如何成為更好的軟體開發人員
- 什麼是殭屍網路攻擊?安全專業人員指南
- 什麼是測試左移和測試右移
- 為什麼銷售人員需要CRM?
- 裁員為什麼總是先裁技術人員?網友一針見血!
- 為什麼說人員管理是成功交付專案的關鍵?
- 為什麼測試人員必學Linux?Linux
- 為什麼說HTTPS比HTTP安全? HTTPS是如何保證安全的?HTTP
- HashMap的最大容量為什麼是2的30次方(1左移30)?HashMap
- 【HenCoder】HTTPS 為什麼是安全的HTTP
- 為什麼說 TCP 是安全的TCP
- 為什麼說 HTTPS 是安全的?HTTP
- 作為IT從業人員,你需要什麼證?
- 為什麼?為什麼StringBuilder是執行緒不安全的?UI執行緒
- 測試人員與開發人員的比例究竟多少是合理的?
- 我們為什麼而工作
- 谷歌專家:為什麼Java伺服器端開發人員不採用Kotlin? - Ivan谷歌Java伺服器Kotlin
- 動態表單是什麼?如何開發?
- 為什麼VSCode是程式碼編輯器而不是IDE?VSCodeIDE
- SPC控制圖為什麼是±3σ,而不是±2σ或±4σ?