写点什么

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

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

关注

评论

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

分布式事务的模式

陈一之

架构 分布式 分布式事务 事务

解析稳定率达99.99%!合合信息“大模型加速器2.0”助力AI打破“幻觉”

合合技术团队

人工智能 #算法 #大数据 图表解析

下一代产品的“双向奔赴”  鸿蒙版百度网盘发布多项领先AI能力

极客天地

如何选择合适的日志管理系统?功能对比与应用场景解析

运维有小邓

日志管理系统

龙蜥社区第六届理事大会成功举行,共话技术创新与生态合作

OpenAnolis小助手

开源 龙蜥社区 OpenAnolis 龙蜥社区理事大会

TiCDC 新架构 v9.0.0 使用实践

TiDB 社区干货传送门

TiCDC新架构

DeepSeek&东信营赛洞见:“深度思考”模式重构AI营销新范式

东信营销科技

连接与效率的艺术:解码ToB 移动端协同产品的用户体验设计奥秘

inBuilder低代码平台

UX 移动端 体验设计

OpenAI 发布新一代 STT/TTS 模型,10 行代码构建 Voice Agent;声网推出对话式 AI 开发套件丨日报

声网

SysOM 可观测体系建设(一):万字长文解读低开销、高精度性能剖析工具livetrace

OpenAnolis小助手

AI 可观测性 SysOM 龙蜥系统运维联盟 livetrace

【2月13日 - 3月14日】TiCDC 新架构试用通道正式开启,全新升级,抢先体验,多重参与奖励等你拿!

TiDB 社区干货传送门

保姆级离线 TiDB V8+ 解释

TiDB 社区干货传送门

8.x 实践

龙蜥 2024 年度“最佳合作伙伴”揭晓!申威、AMD 等多家新晋贡献厂商实力登榜

OpenAnolis小助手

操作系统 龙蜥社区 OpenAnolis 龙蜥社区年度优秀贡献者

荣耀时刻!第二届开放原子大赛-OS Copilot 学习赛获奖名单新鲜出炉

OpenAnolis小助手

开源 操作系统 龙蜥社区 龙蜥赛事

CST软件如何用天线远场计算Group delay延时

思茂信息

cst CST软件 CST Studio Suite

【Redis技术进阶之路】「原理分析系列开篇」探索事件驱动枚型与数据特久化原理实现(数据持久化的实现AOF)

码界西柚

数据库 redis redis持久化 aof Redis底层原理

高性能存储SIG月度动态:erofs快照器合入containerd社区,ANCK支持virtio-blk直通

OpenAnolis小助手

操作系统 高性能存储 龙蜥社区 龙蜥社区SIG EROFS

用 tcpdump 分析 Java 客户端的 prepare 行为

TiDB 社区干货传送门

性能调优 故障排查/诊断

重塑家庭观影标准,海信激光电视探索X1斩获艾普兰奖

新消费日报

面试官:谈谈你对Reactor模型的理解?

王磊

人形机器人发展路线之争:“大脑”优先,还是“运动”优先?

机器人头条

科技 大模型 人形机器人 具身智能

用户说 | 零基础用通义灵码 AI 程序员开发个人笔记网站

阿里巴巴云原生

阿里云 云原生 通义灵码

用户说 | 零基础用通义灵码 AI 程序员开发个人笔记网站

阿里云云效

阿里云 云原生 通义灵码

《汽车电机MES系统实战指南:打造柔性化智能产线的4大核心模块与3项关键技术突破》​

万界星空科技

mes 制造业工厂 电机MES 汽车电机 汽车电机mes

重识 APO:DeepSeek 掀起可观性领域变革 | 龙蜥生态

OpenAnolis小助手

AI 系统运维 apo 龙蜥生态 DeepSeek

TiDB × AI :DeepSeek 时代你需要什么样的数据基座

PingCAP

AI TiDB DeepSeek

Karmada v1.13 版本发布!新增应用优先级调度能力

华为云原生团队

云计算 容器 云原生

用HAI+AI助手,不懂代码也能自己做页游

穿过生命散发芬芳

HAI应用服务器 腾讯云 AI 代码助手

Netty源码—Reactor线程模型一

不在线第一只蜗牛

Java 算法 前端

高性能网络SIG双月动态:加速 SMC eBPF 透明替换特性上游化进程,并与上游深度研讨新特性

OpenAnolis小助手

操作系统 龙蜥社区 smc 龙蜥SIG月报

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