「一场值回票价的演讲」将重现QCon? 了解详情
写点什么

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

  • 2021-02-26
  • 本文字数:3683 字

    阅读完需:约 12 分钟

腾讯云如何破解落地难题,成功实践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 流程的安全嵌入;


第二,人和文化非常重要。不仅有业务团队对安全的重视,而且不同团队的协作同样是让更多安全动作落地的必要因素,甚至包括老大们对安全的重视和投入;


第三,体系和流程的建立。值得注意的是,企业一定要结合自己业务的情况进行,这样才能让事情事半功倍。

2021-02-26 10:263123
用户头像
万佳 前InfoQ编辑

发布了 677 篇内容, 共 348.0 次阅读, 收获喜欢 1800 次。

关注

评论

发布
暂无评论
发现更多内容

学习心得 - 架构训练营 - 毕业设计项目

Fm

Flutter 自定义 ACERaido 单选框 & ACECheckBox 复选框

阿策小和尚

28天写作 内容合集 签约计划第二季 12月日更

网络协议之:还在用HTTP代理?弱爆了!快试试SOCKS5

程序那些事

网络协议 HTTP 程序那些事 12月日更 SOCKS5

如何查看Java进程和线程

李子捌

28天写作 JAV A 12月日更

大厂算法面试之leetcode精讲21.树

全栈潇晨

算法 LeetCode

大厂算法面试之leetcode精讲22.字典树

全栈潇晨

LeetCode 算法面试

Linux系统学习《Linux一学就会》Linux文件系统结构

侠盗安全

Linux linux运维 运维工程师 云计算架构师

[Pulsar] 消息从Broker到Consumer的历程

Zike Yang

Apache Pulsar 12月日更

Kotlin 初学者教程【Kotlin专题1】

坚果

kotlin 28天写作 12月日更

爱奇艺基础数据平台演进

爱奇艺技术产品团队

极客时间算法训练营 Week03

jjn0703

Git进阶(九):Git 命令实现提交指定文件

No Silver Bullet

git 12月日更

陈齐彦 Roby:开源也许是中国未来IT行业最重要的统战对象 I OpenTEKr 大话开源 Vol.1

OpenTEKr

大话开源

架构训练营毕业总结

apple

毕业设计

Li. Mr

模块七作业

bob

「架构实战营」

架构训练营 模块五 作业

dog_brother

「架构实战营」

quarkus微服务+istio+k8s云原生devops持续集成演示( Tekton(ci/cd) + quarkus + harbor + Nexus)

weir威尔

Kubernetes istio 持续集成 Tekton Quarkus

react源码解析15.scheduler&Lane

buchila11

React React Hooks

全面适配DPDK 20.11,DPVS发布v1.9.0版本

爱奇艺技术产品团队

系统化思维 VS 场景化思维

Ian哥

思维模式 系统性思维 场景化思维

聊聊工作界面

Justin

工作效率 沟通 28天写作 沟通界面

分布式系统中,权限设计实践

架构 分布式 权限设计

说了半天跨平台,今儿咱就来跨跨!(上)

为自己带盐

Docker dotnet 28天写作 签约计划第二季 12月日更

TDS构建数据湖、数据仓库应用介绍

星环科技

瞰源 | 当我们谈论开源时,我们在谈论什么?

OpenTEKr

狄安瞰源

异构组网如何解决共享资源冲突?|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

深度解读|Spark 中 CodeGen 与向量化技术的研究

Kyligence

给弟弟的信第4封|你需要尽早知道的理财知识

大菠萝

28天写作

第八模块

Li. Mr

让设计如语言一般自然

鲸品堂

设计 通信 运营商

腾讯云如何破解落地难题,成功实践DevSecOps?_安全_万佳_InfoQ精选文章