乔宏明 梁奂 姚文胜 陈春华
【摘 要】为快速支持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.