最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

腾讯云如何破解落地难题,成功实践 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:263020
用户头像
万佳 前InfoQ编辑

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

关注

评论

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

《2023中国低代码商业落地研究报告》

EquatorCoco

低代码 行业报告

央国企数字化转型的“压舱石”与“新方略”

优秀

数字化转型 中央企业 国资委中央企业 央国企数字化转型

《Java实战(第2版)》PDF

程序员李木子

AI数字人系统源码无限制作数字人模型!

青否数字人

数字人

微服务及其发展趋势

蝉翼2u

微服务 云原生 服务网格

思考-RBAC中对于权限编码部分的压缩处理

alexgaoyh

Java rbac 权限设计 压缩算法 权限编码

KubeBlocks 参展首届 PolarDB 开发者大会,双方发布深度合作

小猿姐

数据库 云计算 polarDB 阿里云PolarDB

代码之外:工程师的成长进阶秘籍

声网

《Java并发实现原理:JDK源码剖析》PDF

程序员李木子

【第七在线】利用大数据与AI,智能商品计划的未来已来

第七在线

POKT Network (POKT) :进军百亿美元市场规模的人工智能推理市场

股市老人

K8S学习指南(6)-k8s核心概念label和label selector

俞兆鹏

什么是 Redis?它的特点是什么?Redis的数据类型有哪些?Redis的主要应用场景有哪些?

百度搜索:蓝易云

redis 云计算 Linux 运维 云服务器

云桌面解决方案四大优势

青椒云云电脑

云桌面

移动图形工作站有哪些价格实惠的推荐?

青椒云云电脑

图形工作站 移动图形工作站

K8S学习指南(7)-k8s核心概念Annotation

俞兆鹏

贯通用友T+与企企,引领企业数字化转型新篇章!

聚道云软件连接器

案例分享

云桌面解决方案在教育领域中的应用

青椒云云电脑

云桌面 云桌面解决方案

中国首个车路云一体化研究中心成立,将如何改变自动驾驶?

自象限

自动驾驶

K8S学习指南(5)-k8s核心对象namespace

俞兆鹏

Kubernetes

解密最受欢迎的开源 Serverless 框架:流量篇

阿里巴巴云原生

阿里云 云原生

Java语言之float、double内存存储方式

百度搜索:蓝易云

Java Linux 云服务器 float double

青否数字人源码的四个端口!

青否数字人

数字人

【深度观点】资源数字化、数字资产化与资产数权化是分布式商业运行的核心要素

Geek_e4ef21

数字化转型 数字资产 数据要素 分布式商业

5分钟教会你如何在生产环境debug代码

EquatorCoco

前端 bug 生产环境 review

线上SQL超时场景分析-MySQL超时之间隙锁

快乐非自愿限量之名

MySQL 数据库 sql

私有云部署有哪些特征?企业该如何正确上云

青椒云云电脑

云桌面 云电脑 云电脑平台

图文共赏---人工智能时代的由文生图

fliter

Nginx【Nginx核心指令(rewrite指令、实战rewrite 、if指令、set和break指令】

百度搜索:蓝易云

nginx 云计算 运维 Web 云服务器

C# 字符串操作指南:长度、连接、插值、特殊字符和实用方法

小万哥

C# 程序人生 编程语言 软件工程 后端开发

【深入浅出JVM原理及调优】「搭建理论知识框架」全方位带你认识和了解JMM并发模型的基本原理

洛神灬殇

Java JVM 计算机 Java虚拟机 2024年第十六篇文章

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