喬宏明 梁奐 姚文勝 陳春華
【摘 ?要】為快速支持5G業務創新和業務發展,有必要在5G網絡功能開發和運營中引入DevOps體系。分析了5G網絡引入DevOps的驅動力,總結了引入DevOps后需關注的安全風險,并參照DevSecOps理念,重點就DevOps實施過程中的安全管理給出了建議。
【關鍵詞】5G;DevOps;安全
1 ? 引言
5G業務的發展需要快速的市場響應能力,5G網絡自身開放性也支持業務快速迭代開發,借鑒IT業界的實踐,可以在5G網絡中引入DevOps,支持快速的業務迭代,更好地滿足業務的要求。結合前期IT領域DevOps實施經驗,安全管理常常是被忽略的要素,而考慮到5G自身的特點和基礎網絡運營對安全的特殊要求,在5G網絡DevOps中必須高度重視安全管理工作,從引入DevOps之初就建立系統的安全管理體系是非常有必要的。本文分析了5G網絡引入DevOps的驅動力,總結了引入DevOps后需關注的安全風險,并就DevOps實施過程中的安全管理實施要點給出了建議。
2 ? 5G網絡引入DevOps的驅動力
5G時代將是萬物互聯的時代,特別是uRLLC和mMTC兩類應用場景,更是為商業模式創新、新生態體系構建乃至社會管理體系的變革打開了一扇新的大門。未來以5G網絡為核心的通信網,將成為整個社會運行不可或缺的“神經”。5G時代的運營商,也將從傳統的網絡運營者轉變成數字化生態使能者和更廣泛的生態體系中的數字化合作伙伴。
相對語音、短信、數據等“穩態”的傳統電信業務而言,5G的uRLLC和mMTC類業務雖然潛力巨大,但不確定性強,具體的運營模式還不清晰,業務需求變更也更頻繁,需要產業鏈通過快速迭代、快速試錯進行創新探索。為此,要求電信運營商不僅要提供更快的網絡速度、更完善的網絡覆蓋,還要能更快地適配多樣化的業務需求、更快地響應市場變化,從而在新生態中把握好自己的位置。
從技術角度看,為了支撐5G新的業務場景和需求,5G核心網絡采用了云原生設計思路,引入了SBA(Service Base Architecture,基于服務的架構)、網絡切片、邊緣計算等一系列新特性,將網絡功能拆分成多個可獨立部署、服從統一管理的NFS(Network Function Service,網絡功能服務),并基于標準化的接口構建成一個開放的平臺。一方面支持業務的“即插即用”,進而為更快速的業務創新奠定架構基礎;另一方面通過將部分網絡功能下沉到接入網側,簡化網絡信令,從而滿足5G特定業務在時延和帶寬等方面的要求。
從部署視角看,越來越多的廠商在5G核心網中采用了NFV的云化組網方案,將傳統的網絡設備功能轉變為虛擬網元,基于開放、可靠、高效、簡約、智能的云化NFV平臺,實現更高效的資源共享和敏捷的業務編排等能力。總體而言,為了更好地滿足萬物互聯時代快速響應需求的要求,5G網絡從技術架構上引入更多的IT領域已經驗證的技術,越來越“軟”;同時,企業內部的IT系統作為快速提供服務支撐能力的核心載體,也在5G時代和傳統意義上的網管系統、業務平臺日益融合,逐步成為未來電信運營企業對外能力開放平臺的核心。5G網絡切片技術和對外能力開放平臺相結合,將成為未來5G業務和網絡創新的基礎。
國內電信運營商的IT系統近年來都在推進技術架構升級。學習領先互聯網企業的經驗,以云化、開放化、互聯網化為目標,以期更快地響應業務需求和商業模式創新,而這也正是5G網絡,特別是核心網絡的構建目標。運營商在IT架構互聯網化方面的探索已經取得了一定的成效,但在開發運營一體化(DevOps)方面還存在顯著的短板,在業務創新速度上有跟不上未來互聯網合作伙伴的風險。目前5G網絡有引入開發運營一體化的業務驅動和技術架構基礎,電信運營商有必要協同5G網絡設備和功能服務使合作伙伴加大投入,更好地適應5G發展要求。
3 ? DevOps理念及在通信行業的應用
DevOps是“開發”(Development)和“運維”(Operations)的縮寫,是一組起源于2009年的最佳實踐,強調IT專業人員(開發人員、運維人員、支持人員)在應用和服務生命周期中的協作和溝通,強調整個組織的合作以及交付和基礎設施變更的自動化[1],目標是通過持續集成、持續部署和持續交付,快速應對變化的業務需求,提速業務響應。目前,DevOps的方法論已經成熟,圍繞DevOps各關鍵環節有了一系列的開源或商用支撐工具(如Jenkins、Bamboo、Zabbix、Nagios、Github、GitLab、Maven、Gradle、Pinpoint、Puppet、Ansible、Saltstack、Docker、Kubernetes等)來輔助相關理念的落地,實現相關環節的自動化,并在IT軟件開發領域得到了廣泛的應用。2018年,工信部信通院還牽頭發布了DevOps能力成熟度模型,標志著相關方在應用DevOps理念上有了標準化的實施評估辦法,DevOps成熟度提升到了一個新的水平。
隨著5G網絡中大量IT技術的引入,5G網絡功能的開發部署也可以引入DevOps。通過引入IT領域在DevOps方面的探索和實踐,可以進一步提速5G網絡和IT支撐能力創新,更好地支持5G商業模式和業務創新。
早在5G之前,電信運營商在IT領域已經對DevOps進行了廣泛的實踐和應用。在5G網絡側,諸多5G網絡設備和功能服務提供商也有實施DevOps的經驗。中興公司構建了基于DevOps的切片管理系統,并獲得了業界的廣泛認可[2-3]。華為公司不但在產品研發中使用了DevOps,還協同運營商進行了基于DevOps的5G業務網元聯動部署,真正實現了從廠商開發到運營商運維的端到端打通[4],對未來供應商和運營商合作構建DevOps體系進行了寶貴的探索。針對5G NFV研發中使用DevOps時的軟件驗證和確認也有專題進行研究[5]。
除了設備商-運營商合作的模式,5G時代運營商內部的網絡、IT自主研發團隊也日益壯大,提供DevOps支持能力對于提速基于自主研發的業務創新也至關重要。在5G時代,DevOps的全面引入雖然需要克服很多內外部困難,但大的趨勢不會改變。
4 ? 實施DevOps需關注的安全風險
傳統上,DevOps強調業務的快速交付,但在信息和數據安全方面卻面臨著諸多風險。總體而言,實施DevOps需關注的安全風險主要體現在以下幾個方面:
(1)對安全風險“視而不見”。DevOps以快速交付業務價值為核心目標,速度為王,對于安全這種“非功能性”要素關注不夠。當安全管控和開發速度有沖突時DevOps的實踐往往優選速度,將安全風險后置,根據Threat Stack的調查,甚至有60%的被調查者沒有將安全和審計納入到DevOps流程中[6]。安全性相關檢測、管控通常在開發工作的最后階段由特定的團隊來負責實現,或者在部署階段才由運維人員檢測,隨著交付速度的提升,安全相關要素往往被忽略,讓步于新網絡功能或IT能力的快速上線。
(2)安全管理無法適配DevOps迭代。目前5G網絡設備或功能服務的開發和運營維護分別由設備提供商和電信運營商負責,大部分開發團隊缺乏專職的、面向過程的安全專家,主要是面向階段交付件的安全檢測人員。部分安全控制策略和措施更新周期慢,無法有效控制開發環節的安全風險。運維團隊和開發團隊由于分屬不同實體,開發團隊多以“交鑰匙”的模式向運維團隊提交最終的產品而非源代碼,運維團隊對于相關產品的安全主要通過入網測試進行“黑盒”式檢測,在安全控制機制方面開發和運維缺乏溝通,無法建立開發-部署-維護-反饋的安全管理閉環。
(3)5G網絡自身的復雜性增大了DevOps安全風險。相比一般的IT系統,5G網絡功能服務復雜度更高。5G網絡設備或功能服務在應用可靠性、產品可維護性、版本兼容性、部署設備及運行環境等方面有獨特的要求,比如對嵌入式設備和定制化設備的支持、對多種協議的向下兼容、對長期在網運行的支持、特定場景下軟硬件一體化交付等。這些要求增加了5G網絡研發運營的復雜度,也增大了在DevOps中引入安全問題的概率。
(4)5G背景下實施DevOps有更高的管控協調和人員技能要求。因為功能的復雜度更高,5G網絡設備或功能服務的研發團隊往往規模比較大,隨著微服務架構的引入,跨小組、跨團隊的協調也更加復雜,項目群協同和大規模并行開發普遍存在,既增加了DevOps的實施管理難度,也加大了安全風險。同時,因5G網絡設備或功能服務相對傳統4G設備變化較大,對運營商維護人員的維護技能也提出了新的要求,引入DevOps提高交付速度后,人員技能短板更加明顯,增加了安全風險。
以上安全風險,都需要在5G的DevOps實踐中予以關注和解決,才能在更大的范圍內推進DevOps,提速5G業務價值交付。
5 ? DevOps安全管理目標及實施要點
IT領域在應用DevOps時同樣面臨一系列安全挑戰,為應對這些挑戰,Gartner在2012年的一份報告中提出了DevSecOps的概念。DevSecOps是一種全新的安全理念與模式,認為安全是整個IT團隊(包括開發、運維及安全團隊)每個人的責任,需要貫穿從開發和運營整個業務生命周期的每一個環節才能提供有效保障[7]。以DevSecOps為代表的理念和最佳實踐,可以為5G網絡DevOps實踐提供參考。
5.1 ?DevOps安全管理目標
參考IT的實踐,5G網絡下的DevOps的安全管理,應通過網絡設備和功能服務提供商與電信運營商的深度協同,建立一套基于DevOps原則的IT安全方法,將安全管控左移,使其涵蓋整個相關軟硬件設備生命周期。通過固化流程、加強不同人員協作及提供必要的工具與技術手段,將可以自動化的重復性的安全工作融入到研發運營體系內,及早發現安全問題,降低修復成本和安全風險。
5.2 ?DevOps安全管理實施要點
通信行業的研發工作往往由多家合作伙伴承擔,運維工作由運營商負責,這也加大了DevOps實施及安全管控的難度。為了解決5G網絡DevOps的安全問題,要從觀念、組織、流程和技術幾個方面入手,其中觀念轉變是基礎,組織變革是保障,技術工具是手段,流程對接是核心。
在5G網絡DevOps實踐中,要在所有參與方中樹立快速響應和信息安全同等重要的理念,不能片面追求上線速度。改變過去只有專職安全相關測試、維護人員對安全負責的態度,必須能讓相關方的開發團隊、運維團隊和安全團隊認識到每個人都需要對安全負責。要建立跨廠商和運營商的聯合安全團隊,要將安全管理觀念具象化為流程和制度,落實到人員職責和技能中,不能讓開發人員或測試人員、維護人員“兼顧安全管理”。DevOps實踐引入安全管理控制最大的阻礙力量是對降低業務價值交付速度的擔心,一般而言,其對交付速度的影響也是客觀存在的。為兼顧速度和安全,安全管理要盡可能借助現有開發、部署、運維、安全相關的軟件工具,盡量實現安全管理的自動化,降低安全管理對功能交付速度的影響。
安全觀念要體現在工作流程中,組織和技術工具也要通過流程發揮作用。在典型DevOps生命周期的各流程階段,建議關注以下安全管控相關實施要點。
(1)需求管理階段
在需求分析過程中,需要根據《中華人民共和國網絡安全法》和《信息安全技術網絡安全等級保護基本要求》(GB/T 22239-2019),對需求進行合規性檢查,包括需求的隱私要求和數據保護要求等。需要根據《信息技術安全評估準則》(GB/T 18336)選擇合適的威脅模型,進行風險的安全評估。
(2)設計階段
在系統設計過程中,需要分析系統潛在威脅并設計威脅應對方案,可供參考的規范和模型包括STRIDE威脅模型(Spooling、Tampering、Repudiation、Information Disclosure、Dos、Elevation of privilege)、攻擊樹、威脅樹等。需要根據系統架構,明確深度防御,職責分離,最小攻擊面,隱私保護,最小特權等設計原則,并設計安全相關方案和測試用例。需要選定安全編碼規范。
(3)開發階段
在軟件開發過程中,需要根據選擇的安全編碼規則和自定義編碼規則對代碼進行自動化缺陷檢查,代碼質量檢查。需要根據SAST(Static Analysis Security Testing,靜態分析安全測試)自動化測試結果,對代碼缺陷進行審計,并修復代碼缺陷。需要SAST測試和代碼審計自動化集成。
(4)測試交付階段
在交付測試過程中,需要加強系統的自動化安全回歸測試、集成測試、模糊測試。需要利用自動化掃描檢查工具對應用包、鏡像、配置腳本、數據庫腳本等進行掃描檢查,并修復安全漏洞。需要對持續集成流水線(Pipeline)權限統一管理,代碼倉庫安全存儲,安全備份。
(5)部署發布階段
在應用部署和發布過程中,需要加強運行環境自動化安全檢查、合規檢查。需要自動化執行滲透測試用例,并根據結果修復漏洞等。
(6)運營維護階段
在網絡運營維護階段,需要定期對DevOps交付的網絡功能組件或系統進行自動化安全測試、安全基線檢查、安全測評、漏洞掃描、補丁管理、動態安全防護等。需要關注變更過程中的配置管理,數據保護和隱私保護。需要加強可信訪問,數據加密,虛擬化安全。對于使用容器技術部署的功能組件或系統,需要加固容器安全,如網絡隔離、宿主機加固、宿主機隔離等。需要快速響應安全事件,加強告警與防御連動,對于發現的系統Bug需要及時反饋到需求和開發環節。
(7)下線階段
在相關網絡功能或系統下線后,應及時對所占用的資源進行釋放,以便進行統一回收再利用。對相關用戶權限進行技術回收,避免非法用戶訪問。對系統敏感數據進行銷毀或脫敏處理,防止信息泄漏。
6 ? 結束語
5G業務和網絡特有的特點為實施DevOps提供了足夠的驅動力,但DevOps的實施仍是一個過程,DevOps安全管理也要融入到各個階段,同步推進,避免后續補債。短期內,5G網絡設備或虛擬化網元的開發、運維分別由相關供應商和運營商負責的局面不會改變,開展DevOps安全管控需要兩方協同,在遵守現有入網審批相關制度的基礎上,通過流程的打通提高安全管控效率。雙方在DevOps實施的過程中要對安全相關的實施要點進行通盤考慮,結合各自的職責分工和當前開發、運維過程中面臨的安全風險,找準切入點。通過相關供應商和運營商在DevOps安全方面持續的努力,一定能又穩又快地支持5G業務的快速創新和發展。
參考文獻:
[1] COIS C A, YANKEL J, CONNELL A. Modern DevOps: Optimizing software development through effective system interactions[C]//Professional Communication Conference. IEEE, 2015.
[2] 中興通訊. 中興通訊將DevOps引入5G網絡切片 已完成關鍵技術驗證[EB/OL]. (2017-06-15)[2019-09-17]. http://www.sohu.com/a/149169667_171073.
[3] 云開源. 中興通訊Carrier DevOps Builder再獲年度大獎,使能5G端到端切片[EB/OL]. (2017-12-22)[2019-09-17]. http://www.sohu.com/a/212130813_468741.
[4] 高效運維. 首次!廣東移動和華為5G基于DevOps的通信業務網元部署實踐[EB/OL]. (2019-07-15)[2019-09-17]. http://www.sohu.com/a/326870067_262549.
[5] ZHAO M, GALL F L, COUSIN P, et al. Verification and validation framework for 5G network services and apps[C]//Network Function Virtualization & Software Defined Networks. IEEE, 2017.
[6] Threat Stack. BRIDGING THE GAP BETWEEN SECOPS INTENT AND REALITY[R]. 2018.
[7] MOHAN V, OTHMANE L B. SecDevOps: Is It a Marketing Buzzword? - Mapping Research on Security in DevOps[C]//International Conference on Availability. IEEE, 2016.