中国卓越技术团队访谈录
InfoQ
编辑部
9677 人已学习
免费领取
课程目录
已更新 47 讲/共 200 讲
中国卓越技术团队访谈录
15
15
1.0x
00:00/00:00
登录|注册

腾讯云如何破解落地难题,成功实践DevSecOps?

最近几年,国内越来越多的企业和软件开发团队开始践行 DevOps 的研发模式。随着 DevOps 的发展,研发安全保障的思维和技术也在进一步演化,其中,一个重要思想是 DevSecOps。但是,行业中关于 DevSecOps 的具体实践分享比较少,很多企业只能“摸着石头过河”。DevSecOps 诞生的背景是什么?它如何在企业落地?企业怎样在内部塑造 DevSecOps 的文化?… 针对上述问题,InfoQ 记者采访了腾讯云产品安全负责人、腾讯安全云鼎实验室安全总监 Fooying。

从 DevOps 到 DevSecOps

当今,随着云计算普及,微服务等基础架构的成熟,业务高速发展带来对开发运维更高效的要求,企业开发运维模型也从传统的瀑布模型演变到敏捷模型再到 DevOps。更敏捷的开发运维模式、更快的交付,甚至更小化的可行性产品,这些包含了文化、流程、机制、工具等变化和要求,“其实,这都给安全带来了挑战”。Fooying 说:“所以,必然需要新的安全模式或方法去适应这种变化,保障安全地及时有效性。”
而 DevSecOps 正是一种解决方案。它是一套基于 DevOps 体系的全新 IT 安全实践的框架和模型,糅合了开发、安全及运营理念。

DevSecOps 诠释

众所周知,Gartner 在 2012 年首次提出 DevSecOps 理念。四年后,它发布了一份名为《DevSecOps: How to Seamlessly integrate Security into DevOps》的报告。
这份报告的核心理念是:安全是全体 IT 团队所有成员的责任,要贯穿到业务生命周期的每一个环节。对应 DevOps 快速交付和灵活响应变化,DevSecOps 的价值是在不牺牲安全性的前提下,快速落地和实施安全。
除了强调每个人都对安全负责,DevSecOps 还强调安全前置,以及要柔和的、嵌入到企业现有的开发流程体系。
从 DevSecOps 工具链来看,它分为十个阶段,分别是计划(Plan)、创建(Create)、验证(Verify)、预发布(Preprod)、发布(Release)、预防(Prevent)、检测(Detect)、 响应(Respond)、预测(Predict)、适应(Adapt)。其中,预防(Prevent)旧称配置(Configure)。
在 Fooying 看来,DevSecOps 有三个关键点:人和文化、流程、技术
在人和文化方面,“传统安全里,业务发展优先,安全是‘以后’才会发生的事情,甚至安全被视为业务发展的阻碍,而 DevSecOps 强调的是人人参与安全,人人为安全负责,安全是大家的事。”他说。
在流程方面,要更多地考虑整合流程,建立相关安全流程,加强不同团队间的协作。同时,安全需要低入侵、柔和的嵌入开发和运维流程。
在技术方面,通过构建安全工具链,实现更多的自动化安全检测。
此外,落地实践上,随着 DevSecOps 整体理论和实践的不断成熟,行业专家也提出了一些实践的关键点,比如 2018 年,有专家提出“Golden Pipeline”黄金管道,强调自动化工具链支撑,与 CI/CD 流程的集成;2019 年,有专家在 RSAC 上提出 DevSecOps 九大实践关键因素和文化融合七个阶段,强调文化融合和实践效果度量;2020 年,有人则提出风险管理、合规与治理融入 DevSecOps,聚焦组织内部 DevSecOps 转型,强调人的因素。

腾讯 DevSecOps 的落地实践

随着业务发展和产品的快速迭代,安全始终跟不上业务的脚步,“再多的安全人力也不够”,腾讯希望通过落地 DevSecOps,提高安全效率以及持续降低安全修复成本。
Fooying 说:“整体的实践是跟研发运营模式一起变更的。最早从工具链和 CI/CD 流程中安全的嵌入开始,希望通过提供好用、易用的安全工具,让业务在更早阶段参与安全,用安全工具实现自动化地收敛安全问题。”
在落地过程中,第一大难题是 DevSecOps 文化的塑造。文化塑造绝非易事,也非一时之功,它需要企业持续花费时间和精力。
Fooying 表示,“虽然我们总是通过安全事件反向驱动,让业务团队更重视安全,但其实安全是生命线,它是业务的增值和保障。在腾讯云,大部分的业务团队都很重视安全,只是业务团队有业绩的诉求,所以如何在两者之间寻求平衡,这是很重要的。”
简言之,核心点在于怎样在保障安全有效性的同时能满足业务的快速迭代。
为了让 DevSecOps 的文化深入组织、深入员工,腾讯采取了以下措施:
在安全文化塑造上,与 HR、QA 团队进行常规的安全培训与意识宣传,提高大家的安全意识,让大家了解安全工具的使用;
在业务团队,设置安全接口人。因为让所有人都重视安全、懂安全,这很难,所以需要先搭桥梁,让作为桥梁的接口人配合安全团队推进一些安全工作,再影响到整个业务团队;
在度量等维度,安全团队和 QA 团队一起,在质量体系中建立安全质量体系,比如安全信誉积分,来实现对不同团队的安全度量;
尝试“安全卓越榜”等安全荣誉体系,通过正向激励让业务团队认知和重视安全工作等。
对腾讯而言,DevSecOps 落地的第二大难题是缺少统一的研发运营流程与平台。
安全的落地需要依托研发运营流程,而腾讯内部不同团队之间使用的工具、平台和流程差异比较大,那么,无论是工具链的构建,还是流程的安全建设与安全管控等,情况都比较复杂。
为解决这个问题,Fooying 他们最开始希望通过强制规范等方式要求业务团队统一,但这种方式阻力太大,不现实,因此,他们又换了一种思路:
在必要环节,安全团队进行额外投入;
针对与研发运营流程和平台强结合的安全动作,安全进行不同流程和平台的适配;
而其他安全团队可控度较高的安全动作维度,安全团队提供多检测方式和能力的支持,统一封装与输出到一个平台。
简言之,通过多种方式来满足业务团队的不同需求,但整体上,Fooying 他们会把握一个点,即安全数据结构统一,以及数据的统一回传。这样,业务团队不管采用哪种方式、哪个平台,他们都能通过数据确认产品接入安全流程的完整度、安全动作覆盖率以及有效性。
“一切的基础就是资产的关联和统一维护,这是挺大的工作量,比如独立提交的静态代码扫描的源码包如何与具体产品关联,可能更多是通过流程等方式辅助进行。”他说。
在工具层面,据 Fooying 介绍:腾讯内部大部分的安全工具是自研的,也采购了部分工具。他们选择工具主要关注工具能力、性能、易用性和扩展性。
能力上,维度比较多,包括检出率、漏报率、支持的风险类型数、支持的开发语言数、检测规则等知识库更新及时性等。
性能上,会关注扫描速度、资源占用等。“在安全嵌入流程后,比如一次扫描花费的时间会直接影响整体流程的时间,而效率与对业务的影响又是 DevSecOps 落地的核心点”。
易用性上,主要是使用体验等维度,比如报告的导出可读性、建立扫描任务是否简单、业务团队是否能直接上手。
扩展性上,不同公司有不同的业务特性,要考虑针对不同的编程语言、框架等不同环境是否快速方便,甚至非安全团队也能用起来,是否影响业务流程,是否支持新爆发风险的检出,检出结果是否需要安全团队或业务团队去处置等。
整体而言,腾讯的 DevSecOps 实践分为三个阶段:
阶段一,把之前模式的安全建设或风险收敛;
阶段二,为解决 DevOps 的挑战,从工具链开始的 DevSecOps 尝试落地。最初是整合和能力建设,来提供好用以及嵌入 CI/CD 的安全检查流程;
阶段三,除工具链的建设外,更多是度量体系、文化、流程等方面的建立和完善。
Fooying 表示,“目前,我们正处于第二阶段到第三阶段间,进行持续的能力补充与建设,同时,开始文化塑造、度量和流程体系等方面的建设。”
据悉,腾讯正持续推进 DevSecOps 的落地 ,现在主要推进工具链的建设,并针对一些新的、重点的安全场景进行能力补齐和增强,比如容器安全、API 安全、开源组件等安全检测能力的建设;
其次,在已有的研发运营流程中柔性嵌入安全动作,主要基于 CI/CD 平台和流程的安全嵌入以及应用推广;
再者,质量度量体系的建设,以及安全意识和培训等文化意识建设从原来的办公行为安全、漏洞防范倾向于安全工具的使用、编码安全的宣导以及安全责任的传播;
最后,以此整体体系和安全能力为基础,细分产品安全的多个场景,比如第三方产品、私有化产品、自研产品等,实现不同场景的适配应用与运营保障,比如 2020 年对腾讯会议的安全建设与保障。
在新尝试上,Fooying 他们主要关注能力的补齐以及流程的落地。能力上,重点做开源组件及容器相关的安全,因为这两个维度如今成为一些主要的安全风险。流程上,除了 CI/CD 的安全嵌入和质量红线的建立,更多是针对不同类型的产品,包括第三方产品、私有化产品、自研产品,进行精细化体系建设与运营,以及整体安全质量度量的事。

DevSecOps 成功落地的关键

通过 DevSecOps 的落地,不仅实现了对业务的快速安全支持和保障,保证了业务及产品的安全稳定。同时,安全效率的提高也降低了安全团队的人力投入。并且,文化和度量体系的建立对安全建设的价值体现更加明显。
DevSecOps 在腾讯的实践,让 Fooying 对 DevSecOps 有了更深的理解和认识。在他看来,企业能否成功落地 DevSecOps 取决于三个方面:
第一,工具链的建设,主要是 AST、SCA 等。只有具备相关的能力,才有后续的落地,其中的关键是 CI/CD 流程的安全嵌入;
第二,人和文化非常重要。不仅有业务团队对安全的重视,而且不同团队的协作同样是让更多安全动作落地的必要因素,甚至包括老大们对安全的重视和投入;
第三,体系和流程的建立。值得注意的是,企业一定要结合自己业务的情况进行,这样才能让事情事半功倍。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

腾讯云产品安全负责人Fooying分享了关于DevSecOps的实践经验。随着云计算和微服务的普及,企业对开发运维的效率要求越来越高,这也给安全带来了挑战。为了适应这种变化,DevSecOps应运而生,它是基于DevOps体系的全新IT安全实践框架和模型,融合了开发、安全和运营理念。Gartner在2012年首次提出了DevSecOps理念,强调安全是全体IT团队成员的责任,要贯穿到业务生命周期的每一个环节。DevSecOps的工具链分为十个阶段,包括计划、创建、验证、预发布、发布、预防、检测、响应、预测和适应。Fooying认为DevSecOps的关键点在于人和文化、流程、技术。在人和文化方面,强调人人参与安全,安全是大家的事;在流程方面,要加强不同团队间的协作,安全需要嵌入到开发和运维流程;在技术方面,通过构建安全工具链实现自动化安全检测。随着DevSecOps理论和实践的不断成熟,行业专家也提出了一些实践的关键点,如自动化工具链支撑、文化融合和实践效果度量、风险管理、合规与治理融入DevSecOps等。这些实践关键点为企业落地DevSecOps提供了有益的指导。 腾讯云产品安全负责人Fooying分享了关于DevSecOps的实践经验。随着云计算和微服务的普及,企业对开发运维的效率要求越来越高,这也给安全带来了挑战。为了适应这种变化,DevSecOps应运而生,它是基于DevOps体系的全新IT安全实践框架和模型,融合了开发、安全和运营理念。Gartner在2012年首次提出了DevSecOps理念,强调安全是全体IT团队成员的责任,要贯穿到业务生命周期的每一个环节。DevSecOps的工具链分为十个阶段,包括计划、创建、验证、预发布、发布、预防、检测、响应、预测和适应。Fooying认为DevSecOps的关键点在于人和文化、流程、技术。在人和文化方面,强调人人参与安全,安全是大家的事;在流程方面,要加强不同团队间的协作,安全需要嵌入到开发和运维流程;在技术方面,通过构建安全工具链实现自动化安全检测。随着DevSecOps理论和实践的不断成熟,行业专家也提出了一些实践的关键点,如自动化工具链支撑、文化融合和实践效果度量、风险管理、合规与治理融入DevSecOps等。这些实践关键点为企业落地DevSecOps提供了有益的指导。

该免费文章来自《中国卓越技术团队访谈录》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • 喻绍剑
    受益匪浅,谢谢。
    2022-02-15
收起评论
大纲
固定大纲
从 DevOps 到 DevSecOps
DevSecOps 诠释
腾讯 DevSecOps 的落地实践
DevSecOps 成功落地的关键
显示
设置
留言
1
收藏
4
沉浸
阅读
分享
手机端
快捷键
回顶部