随着技術的發展和企業對快速傳遞軟體的需求日益提升,DevOps因為其讓開發、運維、測試協同作戰的理念,能夠提高研發效率、實作高效傳遞、實作靈活開發而受到企業的追捧。
DevOps能夠大幅提高企業應用的疊代速度,但安全如果不能跟上步伐,不僅會抵消 DevOps 變革帶來的提升,拖慢企業數字化轉型程序,還會導緻漏洞與風險的出現。
是以,在提升軟體開發效能的同時,保證軟體安全開發同樣重要。而DevSecOps則是将安全防護流程有機地融入傳統的 DevOps 流程中,通過與 IT 安全團隊、軟體開發人員和營運團隊合作,在标準 DevOps 周期中建立關鍵的安全原則,為研發安全提供強有力保證。
安全開發為什麼重要?
安全與開發品質息息相關,如果開發過程控制良好,後期修補缺陷的成本就會大幅降低。研發驗證是安全前置實踐的關鍵所在,而保證研發階段的安全又是整體安全左移實作的關鍵,是以在軟體開發過程中,要時刻關注代碼程式安全,避免引入風險。
代碼是軟體應用服務開發的最初形态,其缺陷或漏洞是導緻安全問題的導火索,做好安全編碼,并盡早發現源碼缺陷能夠大大降低修複安全問題的成本。美國國家标準與技術研究所(NIST)統計資料顯示,編碼階段的修複成本遠遠低于釋出後執行代碼修複的成本。
研發營運各階段代碼漏洞修複成本
業界安全開發實踐
Gartner表示,各類安全漏洞掃描、開源元件版本檢查等工具可以讓研發人員在編碼時就發現和消除一些潛在的安全風險。
安全開發如此重要,使得企業在追求開發效率提升的同時,不得不關注安全問題。下面就為大家盤點一下各個企業的DevSecOps和軟體安全開發實踐:
- 百度在DevSecOps工具鍊中提出,在開發階段要做好源碼漏洞安全檢查、倉庫安全檢查、供應鍊安全檢查、高危架構檢查和安全編碼規範檢查。
- 騰訊在DevSecOps工具鍊中提出,在開發編碼環節使用的工具/機制需要有安全開發庫、安全相關的基礎設施&架構機制,IDE中的代碼品質工具、代碼review需要有安全加強的統一編譯建構環境和騰訊軟體源。
- 微軟在研發營運全生命周期安全管理中提出,在開發階段要做好第三方元件的安全管理、使用經過安全性檢查并認可的工具、執行靜态應用程式。
- 思科在研發營運全生命周期安全管理中提出,要利用工具了解潛在的第三方軟體安全威脅,不斷更新已知第三方軟體威脅和漏洞清單,并對産品團隊進行告警;建立内部的安全編碼标準,維護經過稽核的通用安全子產品。
- Vmware 在研發營運全生命周期安全管理中提出要明确産品中開源及第三方元件中的安全漏洞,在釋出前期進行修複,通過靜态代碼分析與漏洞掃描等手段保證研發階段的安全。
企業實作安全開發的關鍵
關于如何落地DevSecOps,保證開發階段的安全,通過上文不難發現很多企業都有自己獨特的方法。但其中使用安全的工具、安全編碼、對開源和第三方元件進行管理這三個方面往往必不可少。
使用安全的工具
工欲善其事,必先利其器。工具的安全性是保證安全開發的關鍵一環,開發團隊使用的編輯器、連結器等相關工具,可能會涉及一些安全相關的環節,是以在使用工具的版本上,需要提前與安全團隊進行溝通,使用經過安全性檢查并認可的工具、安全加強的編譯建構環境,以確定編碼實際安全。
安全編碼
安全編碼對保證産品和服務的安全至關重要。一直以來,缺陷和錯誤都是導緻可被普遍利用的軟體漏洞的主要原因。安全編碼可以通過遵循已建立的威脅模型來降低與安全相關的脆弱性、漏洞數量和內建錯誤,進而防止安全漏洞的意外引入。
對開源和第三方元件進行管理
随着開源軟體的盛行,其成為現代軟體開發最基礎的原材料。混源(兼有閉源軟體和開源軟體的一種混合體)軟體開發已經成為目前軟體傳遞的主要方式,對它的全面風險審查應考慮從第三方開源元件缺陷及後門、自研代碼通用漏洞、自研代碼業務邏輯漏洞、潛藏惡意代碼等次元綜合審計。并不斷更新已知第三方軟體威脅和漏洞清單,對于産品團隊進行告警,保證軟體供應鍊的安全。
SoFlu軟體機器人助力企業實作安全開發
SoFlu軟體機器人是一款讓企業快速實踐DevSecOps 的絕佳工具,其能夠實作全自動化軟體開發,在開發人員和安全專業人員之間建立一個協作環境,使企業能夠更快、更輕松地建構安全代碼。
SoFlu軟體機器人改變了原來手工編碼的作業模式,通過可視化拖拽元件以及參數配置就能實作等同于編寫複雜代碼的業務邏輯,在設計業務邏輯時就完成了微服務應用開發,也就是“業務即圖,圖即代碼”, 實作 “一人一項目、十人抵百人”的開發效果。
關于安全編碼,SoFlu軟體機器人制定了自己的代碼規範。比如,限定每行代碼的寫法、有些地方不允許 SQL 拼接、Join 不允許超過三次等。此外,所有的代碼還必須接受嚴格檢測,确定沒問題後才會被送出到代碼倉庫;同理,所有元件也必須經過代碼品質管理工具掃描無誤後才讓使用者使用。由此保證代碼的品質和安全。
關于開源和第三方元件,因為SoFlu軟體機器人覆寫了軟體開發全流程,可以獨立完成整個軟體項目的開發,且SoFlu軟體機器人融入了CMMI經驗和DevSecOps理念,其開發的軟體天然就符合規範,是以開發者在開發過程完全無需引入第三方工具群組件,進而從根本上杜絕使用開源和第三方元件帶來的潛在風險。
目前,SoFlu軟體機器人已經應用于醫療、金融、教育、零售等八大行業的上百家企業,幫助它們實作高品質、高效率、高安全性的軟體開發。中國石油的資訊化團隊曾在5個SoFlu軟體機器人的幫助下僅投入9人+45天就完成傳統開發模式下需要27人+300多天才能完成的大型電商平台的系統重構,且平台上線至今的兩年多時間裡一直保持穩定運作,其安全性得到有效保障。
圖靈獎得主大衛·帕特森曾對SoFlu軟體機器人評價道,“SoFlu軟體機器人能夠通過自動化的方式變革傳統軟體工程模式、大大提高工作效率。新的開發模式、最佳實踐的沉澱、人工智能的賦能,打開了創新的大門,讓軟體行業迎來了黃金時代。”