《不只是DevOps,更需要DevSecOps》要點:
本文介紹了不只是DevOps,更需要DevSecOps,希望對您有用。如果有疑問,可以聯系我們。
DevOps作為軟件開發過程管理領域的新思維,已經被越來越多的IT企業所接受.不得不說,DevOps所帶來的業務效率提升是毋庸置疑的,“1天10次部署”、“15分鐘從完成補丁到上線”已經逐漸成為更多企業用于評價開發和運維的新標準.
在前不久結束的RSA 2017大會上,安全連接DevOps(開發運維一體化)成為大會的一個熱點話題,這也就是DevSecOps.
一、什么是DevSecOps?
“DevSecOps”,是一種全新的安全理念與模式,從DevOps的概念延伸和演變而來,其核心理念為安全是整個IT團隊(包括開發、運維及安全團隊)每個人的責任,需要貫穿從開發到運營整個業務生命周期的每一個環節.
過去由于絕大部分企業IT部門會采用開發團隊負責價值交付、運維團隊負責可用性保障、安全團隊負責安全保障的方式完成IT業務的管理,導致大部分企業和機構的安全、開發和運維部門業務目標相互獨立、割裂,有時甚至是對立和沖突,最終導致安全風險的閉環管理時間周期長、成本高.
二、如今DevSecOps有希望讓二者展開協作
DevSecOps的實踐可能會顛覆企業現有的IT開發與運營模式.在RSA 2017大會DevSecOps研討專題演講嘉賓Chris Carlson做了比較詳細的介紹.
傳統安全運營工作與DevSecOps模式下安全運營工作最核心的區別在于兩點:
(傳統模式下,安全運營主體工作)
(DevSecOps模式下安全運營工作的具體內容)
1)新模式里安全工作前移(Shift Left)
采用安全在軟件開發前期介入的方式降低解決安全問題的成本,前期介入的內容包括對開發、維護人員的安全意識培訓、安全開發規范的培訓、安全需求(非功能需求)的導入、前期的代碼審計工作、基于白盒的安全測試、滲透測試等內容.在運營階段增加的內容與前期開發階段類似,主要內容集中在對新安全需求實現情況的驗證以及軟件整體安全評估.IBM的研究人員曾公開過統計數據,在產品的發布以后修復安全問題的成本是在設計階段解決成本的4到5倍,而在運維階段修復安全問題其成本將達到甚至超出100倍.雖然在DevSecOps模式中,安全工作環節增加了,但是從軟件整個生命周期的開發與維護成本來看,提前發現問題會導致安全成本大幅降低.
2)安全與開發工作的對接
為了避免安全工作(例如:測試與評估、安全策略的部署等)成為開發瓶頸,使得應用系統在最短周期內實現其應有的價值和安全屬性.DevSecOps采用快速迭代的開發方式,這就需要實現安全與開發工作實現無縫對接,將安全工作導入現有的開發工作流程和工具中,包括將安全需求導入至統一需求管理流程與工具、安全測試工作與持續集成/持續部署(CI/CD)對接、安全測試結果導入至缺陷管理工具等諸多環節.
而MITRE提出從攻擊視角進行協同
MITRE是一家美國非營利性研究機構.他們提出,開發階段的安全目標是預防導致漏洞的安全問題;運營階段的安全目標是通過保護已部署系統的基礎設施、配置與使用,防止系統出現安全問題.所以,最終目標是使所有的運營軟件沒有漏洞,徹底安全.安全開發與安全運營的共通之處是都需要了解攻擊者攻擊軟件的方法,這是兩者的核心問題.盡管如此,兩個領域在抽象化水平和目的等具體需求上各有不同,但又相互協同.安全開發需要從理論上了解攻擊者的意圖,以全面提高安全,而并非針對單個實例.安全運營需要詳細掌握攻擊者的具體攻擊行為,以識別、了解攻擊,預估其影響,規劃緩解方案.安全開發提供的是自上而下視角,安全運營則是自下而上視角,兩者達到平衡后,每個領域都可以解決自己的需求,同時為另一領域主要關注的問題提供重要輸入.
三、但流程工具等方面仍舊是DevSecOps實踐中的難點:
雖然DevSecOps提的框架很誘人,但RSA 2017大會上,來自甲方、乙方和第三方機構紛紛講述了實踐的難點,大致可分成三類問題.
第一類:問題是戰略與文化的挑戰.對傳統開發模式和安全運營模式來說,DevSecOps實質上是一種顛覆性的模式變革,其實踐的推動首先需要CIO從戰略高度推動.實現DevSecOps需要改變過去只有安全人員對安全負責的態度和觀念,必須能讓開發團隊、運維團隊和安全團隊認識到每個人都需要對安全負責.
第二類:問題是人員技能與知識結構的調整.DevSecOps實踐需要開發人員、運維人員和安全人員通力合作,能站在對方的視角客觀看待問題.具體到開發人員而言,不僅僅需要開發技能,還需要對運維及安全有了解,對運維人員和安全人員也是一樣,需要各自擴充不同領域的通用技能與知識.
第三類:問題是流程與工具的對接.DevSecOps達到初始目標需要實現快速迭代,在開發和運營的過程上需要高度自動化.開發、運維、安全工作的工具和流程需要無縫對接.這對大多數企業而言,需要是個艱巨的挑戰.
DevSecOps的出現將對應用及IT基礎設施的安全管理產生極其深遠的意義,DevSecOps的廣泛應用將標志著應用及IT基礎設施的安全管理進入到一個全新的時代,將安全作為管理對象的一種屬性,從應用和IT基礎設施開發開始進行全生命周期的安全管理,構建一個安全屬性很高的應用或IT基礎設施,而不僅僅是通過安全為應用和IT基礎設施提供保障.筆者認為,DevSecOps的如果能夠廣泛應用,將徹底改善企業和機構在應用和IT基礎設施的安全現狀.
不知各位運維兄弟如何看待安全在DevOps實踐中的挑戰和機遇呢?