00:00
各位腾讯产业互联网学堂和腾讯安全视频号的朋友,大家晚上好,呃,欢迎来到今天的技术公开课,我们今天公开课的主题是如何实现产品的出厂安全落地。呃,那么在传统的研发运营模式中间,研发和安全的割裂既影响了研发效率,也带来一些安全问题。甚至有很多产品,它在开发阶段就已经引入引引入了一些安全风险,这也是导致企业安全事件频发的一个主要原因。为了解决这种割裂,近年来像安全左移这样的一些新兴的理念也逐渐成为了行业的基本共识。呃,基于这些共识,包括说S以及一些新的安全开发理念也逐渐受到开发者的关注。那么什么是OPS?它是字面上来看就是三个单词组成的,分别是develop。
01:02
呃,我们望文生义的理解。他其实讲的就是说安全需要去贯穿软件开发,合并为全生命周期的流程。呃,那么腾讯云过去几年来也是一直在致力于自身研发体系的标准化和一些安全运营理念的落地,到目前已经形成了一套完整的研发运营安全解决方案,基于我们一站式的平台与流程,在项目协同编码呃等等不同的软件生命周期,嵌入了开发呃,嵌入了安全的活动呃,从不同的维度去收敛安全风险,以此实现了一部分场景的默认安全。呃,基于我们自己的实践,去年在信通院的呃牵头下面我们一起去做了一些行业标准的制定。那呃在业内也受到很多反响,包括很多开发者会对于里面具体如何实现的一些细节会比较感兴趣,所以今天我们也邀请到了腾讯安全云顶实验室的一位专家来给我们做一个详细的分享,那么呃,接下来主要的时间就留给今天的主角就是腾讯安全云顶实验室高级安全工程师张恒,我们把时间交给他,请他来分享,有请张恒。
02:22
哎哎,各位好,哎,我是那个腾讯安全云点实验室的张恒,然后本次主要给大家做一下那个。在腾讯云如何去实现产品的出厂安全,也就是今天的主题,讲解一下啊S在云开发运维中的落地实践。嗯,首先我们在做腾讯云的安全建设上面会发现啊,腾讯云业务线它会很多具有。啊,各种线啊,智慧线啊之类,然后它的研发体系多样化,就是会来对安全来说,会导致呃,安全相关的管控难以统一的落地。
03:07
那么现在啊,公司内部也在推一些业务上云,那么业务上云会也会带来新的云场景的一些新的安全风险,那么再加上云的产品形态会比较复杂,有自主研发,合作研发,OEM等等,甚至还有一些像私有化交付啊,Q币啊等场景。那么就会导致。啊,原有的一些安全机制其实是难以做到完全适配,那么为了应对上面的一些问题和挑战,我们大概去啊,从两个方面进行应对,一块是会去基于漏洞去建立防御体系,那么另外一块的思路就是做威胁的整体防御。啊,那么基于漏洞的话,其实就比较明显,就是说我们在啊。安全的啊。呃,对产品的分析过程中会发现,比如说有一些呃特定的漏洞,我们就是相当于发现已知的漏洞,会进行针对的选性的防御,比如说云上的SSR等,我们会去啊,专注去研究,然后去开发一些扫描工具,那么它的一个优点是。
04:18
针对特定的漏洞,我们可以简述简单,快速高效的建立起相应的防御体系,但是它会存在说啊防御不够全面。那么针对未知风险的一个。呃,防御能力其实就会相对比较弱,核心还是说会去增加一个攻击成本,那么再下来我们会去相对针对软件开发生命周期,要去建立整个的危险防御体系,那么它核心是去发掘潜在的安全风险,通过比如说危险建模啊,安全测试啊,安全设计等多个环节和角度去啊消解和建立防御手段。啊,相对来说它这套方式方案就会比较系统和全面,但是相对劣势来说,它的执行周期会比较长。
05:09
那么针对呃,过去我们对腾讯云上面发生的风险做啊引入的相应的流程和机制来进行收敛。呃,首先其实在呃风险的引入控制阶段,我们会去做一些相关的安全的意识提升,然后并发在内部颁发一些像编码规范啊,啊业务开发运维规范等相应的规范去规范产品,在开发运维体系相关的。基本要求,然后针对研发也会提供一些像编码的安全库啊,Check list呀,开源组件安全等。那么针对啊风险发现,我们其实会去做应用主机啊,应用安全,主机安全,网络安全,数据安全等各个方面去做一些呃,安全的扫描,然后监测,然后甚至说给到产啊产品团队去做一些安全的质检仪,防护覆盖,那么这里其实整体上是基于风险的角度去做相关的发现和防御体系的建设。
06:12
那么啊,到运营阶段的话,可能会去做相应建立相应的以及相应流程,在入侵响应上面如何去。啊,快速的帮助业务团队去啊止损,然后建立起相应的违规和相应的啊流程标准,包括比如说事故的定级啊,违规通报啊复盘等等。那么最后会针对啊,定期会去做一些漏洞的复盘的相关的闭环改进。那么基于这个框架现在延伸出来,其实我们就会去整体的去提高效率,那么一个落脚点其实就是基于。呃,那么在呃产品的。呃,安全体系建设这一块,我们导致的其实走了四个阶段嘛,那么最早的一个阶段其实就是呃,我们分为定理阶段,那么在早期就是没有任何的安全体系,那么我们核心的一个输入还是说基于呃。
07:13
互联网边界这块的收敛,其实通过去收敛边界去规避啊外部入侵的风险,其实啊侧重于去收敛啊严重的安全风险啊,这阶段的话,其实纯粹是啊,通过人工测试的方式去发现和收敛严重的安全问题。啊,那么这块的话就会发现对人力的成本消化会很大,难以cover呃,内部的所有的安全产品,所有的产品安全,那么啊,那么我们后续就进入了第一阶段,就从无到有,那么其实核心就是做安全框架和体系的建立啊通过。啊,颁发相应的安全规范,然后以及相应的安全管控和流程的建设,然后呃。
08:03
建立起了核心的一个安全体系,那么啊,相应的检查检测能力上通过啊。资产测绘和风险检测的能力。结合漏洞扫描和。以及情报相关能力的建设啊,补齐了相关的安全能力和活动。那么到第二阶段就有了基本的框架之后,我们其实就进入到了一个精细化运营的阶段,机会就会去梳理啊,腾讯的一些场景的。安全特点,比如说我们其实会分为呃,云上有公有云的产品,私有化交付的产品,甚至还有第三方准入的相关的产品。那么针对各种场景的话,去建立相应的啊体系,专项的去收敛这里面的安全问题,那么去通过削减核心的安全风险来消,来保障整个云上面的产品的安全。那么有了基本面,我们之后其实迈向的是一个进入,相对追求一个标准和高效,其实这也就是近几年来大家所说的安全转移啊,去建立安全质量的可视化和度量,从而提升安全相关的效率。
09:17
啊,这块其实就核心是通过,然后结合我们的安全运营平台去呃,度量相应的安全活动和指标,然后去不断的完善啊产品的安全相关的整个体系,然后。同时,同时还会根据云攻防场景相关的研究做结合,去深入化一些安全的风险,那么隐私之外,我们其实还可能就是有了相应的。安全能力之后,可能我们还会做一些像影响力建设呀,信息安全能力的孵化,开源协同等等相关的事项。那么从呃,产品安全问题的解决的话,其实我总结下来大概也就是说是四个方面啊,第一个就是说从外,就是互联网的外部边界,我们核心去收敛外部的。
10:13
严重安全风险,然后再逐步到到呃内网的相关的安全的风险的收敛。那么抓大放小,那么早期的话可能就侧重于在呃一些核心安全的问题的收敛,那么。呃,先把啊基本面抓住,那么有点界面的话,其实就是相对我们会去呃先做一些呃,比如说漏洞扫描相关的,然后再针对云场景整个建立整个相应的一个啊风险的面。啊,有出造系的话可能啊,就是早期我们其实是整个云来去啊,建立整个体系,那么到精细化运营会去啊,比如说像公有云私有化第三方等等去啊识别里面的一个腾讯的场景特点,去做精细化的运营,那么啊。
11:06
主要是通过啊,从解决问题,然后逐渐的去到现在去讲究安全的效率。呃,那么不同阶段的一个。呃。漏洞修复成本这块其实核心说的其实就是说我们当前在产品去迭代的过程中,研发产品会去追求啊。迭代的快速高效,但是说漏洞其实会去成为了产品研发的一个效率的阻碍,那么在不同阶段的安全漏洞,对啊,产品研发的修复的时间和经济成本其实是不一样的。那么。量高量的报告就是会指出,呃,如果在生产之前有50%的软件漏洞被削减的话,它带来的成本的收益其实是可以降低75%。那么右边图其实其实也是啊,大家其实也。
12:03
看到比较多的就是在不同的阶段去呃削减安全漏洞的话,它带来的一个修复,修复成本的一个差异,那么其实到发布阶段的话,它相对于呃设计阶段的安全消减,其实会带来60~100倍的一个修复成本的。增长。嗯,那么嗯,就是那么到底为什么我们要来落地。除了刚才我们说的那个修复成本以外,那么呃,其实呃会发现在呃业界做产品安全建设,其实会有一呃早先会有个软件开发生命周期,就是微软提出的那个SH的SDL。那么。呃,SDL是不是就完全不适用的,其实并不是,呃,安全其实是基于研发运维模式来进行的,所以这一块我们还是要去结合啊团队的研发运维模式,然后来去做相应的适配。
13:08
那么早先其实会,呃,在这里的话,其实后面我会介绍到啊,为什么就是说腾讯产品的一个研发模式的变更,导致相应的安全,其实要做相应的适配。那么针对产品的研发体系建立,那么会涉及到一个问题,就是如何尽早的去消减漏洞,就是刚才也提到过,那么就是有一套方案,其实是基于微软提出的SDL。那么其实是帮助开发人员去构建更安全和解决合规的同时去降低开发成本的一个软件。开发过程会发现其实。呃,人员入职开始做安全的培训,在需求设计去确定安全的要求,那么在设计实施和验证发布阶段都会有相应的。
14:05
安全的一些。消减,那么其实它整个活动的话,其实是保证了软件开发过程中对安全的基本要素的保证,从而开发出安全的软件应用。呃,那么它的一个核心理念其实就是把安全。呃,集成带来软件开发的每一个阶段啊,那么其实呃,也能来带来产品的一个产品软件开发过程中漏洞的一个消减。那么到现在来说,呃,近几年业界比较火的hopes就是它是只基于啊O体系啊这里的一套新的。It安全实现战略框架,那么最早其实是感染2012年提出的,那么它的一个核心理念其实是。将安全就作为了整个it团队的一个成员的责任,而不是说仅仅限于安全团队,那么他是将啊,每个人都需要对安全负责,安全工作的潜质和柔和嵌入现有的开发和。
15:12
运维体系,那么其实它本质上也是在呃,研发运维体系中去加入安全活动,但是相比来说它会更自动化来响应做对啊,一个平台体系,快速迭代的一个适配。呃,那么在呃。那么其实刚才讲到了SL和那个都可以帮助减漏洞,提升产品的安全,那么如何去选和落地,其实就会涉及到需要去考虑产品的一个研发模式。那么从早期的瀑布模型啊,就是做了啊,全面的做完产品整个的需求设计开始,经历漫长的一个开发周期,然后去完成一个测试,到最终的部署上线,那么后续的话。
16:06
然后逐步迭代到敏捷模型,其实就是相当于开发和测试的交互,最终去实现一个呃,部署上线,那么到现在所推行的,然后就是小互快跑的那个软件迭代,我发现就是他在做完需求设计之后,它的一个开发部,整个交互部署的生命的周期会。大大的缩短。那么这个就是说软件呃,产品的一个研发模式的变化,那么导致我们需要对安全来说,要去适配这块研发模式的变化。那么就是根据右图的话是呃,信通院发布的一个。报告,那么其实会指出中国的现状就是目前已经在互联网和金融行业运营商造业得到了泛的落地和实践。
17:02
呃。其实就是会为开发团队带来更快更好的协作,可以满足在几天,几周到几天的一个交互和部署软件,但是说呃,软件的快速开发创新其实与传统的安全的检查其实会存在一定的冲突。那么如何让安全性成为。那么让安全性成为double o的瓶颈,那么去推广S啊,其实是势在必行的,比如说腾讯会议,其实在呃。过去260天,它会就高速迭代了29个产品。那么如果是安全的。呃,相关的啊,速度跟不上产品迭代的话,其实会阻碍产品的啊,一个快速的研发。那么box啊,研发模型的转变其实会给我们之前其实说啊,在消减漏洞的话,其实有两套方案,一套是基于传统的SL,那么还有一套就是基于的。
18:14
落地,那么这块其实就会相对来说会给SDL带来了很大的一个挑战,因为SD的话整个的一个呃周期会比较长,那么应对ox的一个快速交的话,它会导致F的整个过程以啊满。那么另外的话,其实现在在做,比如说基于K8S,微微服务等一些新的技术的出现,那么传统的安全能力和单独的安全团队其实是难以解决这类的问题。那么另外一块的话就是。呃,现在的都这么一节小部块,把它倡导一个最小化的可执行产品的概念,那么导致在需求设计的阶段的简短,那么针对传统的一个安全评估其实很难啊,去做全面的开展。
19:07
那么安全的职责也从导向的安全团队为安全兜底,其实现在变更需要去安全,完全要去安全团队的收敛,那么其实呃安全团队也难以覆盖啊,协同这一块的话,SDL其实是基于安全专家对产品进行安全的建设啊,对业务的深入性和业务的了解性,其实一块是要啊投入大量时间,要么其实相对的了解就会存在不足,那么文化的话,影响就是一块是说我们会去。一边在收敛安全问题,那么有一段不断的去产生的安全问题,会导致安全问题的重复产生。需要将开发人员转变为安全人员。那么从从D到,那么其实它的一个核心转变就是呃,早期的啊,DEV3个角色其实是相互独立的,那么安全这块的。
20:10
任务其实主要在赛or赛这部分,也就是相对来说是安全团队的一部分,那么在这块的话,其实它是将安全技术融入到了整个体系,那么对呃,开发人员和运维人员同样需要去了解安全,为安全的一些呃,为产品的呃安全落地去需要做啊,负责。那么对比下两者,我们其实我们的目的其实是说通过去减少软件开发过程中的一些安全问题,那么从原有的体系过渡到新的S,我们其实并不是说要去推翻到SDL的原有体系,那么其实当我们去对比分析两者之后发现啊,这里其实并没有明显的一个冲突。
21:01
只是说我们需要更多的去考虑自动化安全,融入入侵的去融入开发。因为流程把安全转移。啊,最后其实在呃,文化方面的话,去提升大家对安全的认识,形成大家都为安全负责的一个共识,就是相对SDL来说,Think是一个单纯的安全开发模型,呃,也不仅仅是说仅关注到开发阶段,它其实更多的是强调人人为安全负责,人员参与安全,就是将安全切入到开发和运维的整个阶段。呃,其实对fo可以,呃看一下历届rac对fo的一个演进,那么一七年其实是最早在那个是首次在SC大会里面去做的引入,那么当时呃办呃出现这个概念的一个共识就是主要是说安全的移去,更多的往啊开发阶段去啊渗透。
22:11
那么在整个研发和运维阶段的话,是通过融合的嵌入现有的一个开发体系。那么到一八年的话,其实他会更多的去强调底层工具链的支撑,其实也就是说,呃,比如说我们现在业界有说的比较多的ST,就是ast相关的工具SDT,然后在开源软件的软件,以及上线的那个。等等,那么一九年的话,其实它会更具教育文化的融合和实践效果这块的度量。那么到了二零年的话,其实他会去相当于会去聚焦整个的短信,去强调人的因素,将人融合到呃里面去更多的强调安全意识的培训。
23:04
那么这块我们其实也有借鉴和参考,其实业界一些呃公司的模型其实会发现,呃,像华泰证券,华为阿里云。啊等互联网公司其实都有在落地,那么大家的落地其实会发现,整体还是说是依据啊各自公司的一个研发运维流程去签入相应的安全活动,但是啊更多的是要与满足自身的业务去做适配。那么其实会发现呃,华泰证券整体的话,它是呃,依据内部的研发流程去做很详细的一些安全的活动的嵌入,那么到阿里云的话,它整体云延伸的程度会相对比较高,它更多的是基于阿里云的云延伸的一些。产品研发流程下啊,基于镜像的构建呀,啊,然后呃分发等去构建整个的体系,那么就是基于产品的特点去做啊,相应研发体系的建设。
24:09
那么呃,那么基于腾讯云的话,其实也会相对于我们去参考了的那个的模型,那么基于啊我们内部的一些安全和安全的落地,其实啊也整理了一个腾讯云的WC cos模型,那么呃核心的话,其实我们会将呃研发,运维通呃开发成了十个阶段,然后在每个阶段去嵌入啊所需要的安全活动,比如说在计划阶段的话,我们会去要求做一些安全的培训啊,考试啊,尽尽量的威胁建模等等,在代码阶段的话,去要求去做啊编码的规范的检测啊,以及。S。
25:00
呃,那么讲到呃,咱们这里可能呃有三个关键点,分别就是人和文化,流程与技术。那么传统安全里面其实是业务发展优先,安全其实是以后相对之后才会去解决的一个事情,那么甚至有些会认为安全会阻碍业务的发展,那么在里面可能强更多的是强调人人参与安全,人人为安全负责,那么相对安全是就是是大家。的事情。呃,其实也确实适应这样的,那么在流程方面就是更多的去考虑流程的整合,建立相关的安全流程,去加强不同团队之间的协作,以及安全需要。低嵌入式的嵌入现有的开发和运维流程。那么技术方面的话,更多的我们会去打造一些自动化的工具,构建整个安全研发安全的工具链,来实现更多安全的自动化检测。
26:06
嗯,这里的话其实是用了一棵树来表示它落地的一个。结构,那么最基础的其实就是说我们要去做一个工具链的建设,然后核心的制的话就是落地点就是在啊流水线就是cicd安全作的部分。在第二部分的话,就是一些需要重点的安全动作,包括自动化测试啊,软件成本分析、识别与检查,以及在一些新的技术趋势下需要特别关注的一些关注点,比如说容器的安全,API的安全和第三方组件的安全。那么腾讯云在,呃,模型落地的话,其实是早期我们会去,因为早期的话内部会有多的。研发模平台,那么安全团队其实需要去适配不同的研发平台,基于主动的一些扫描机制,像啊业务方线之后我们会去周期性的做安全的覆盖巡检,像高危服务啊,漏洞扫描啊等等。
27:16
那么呃,到开发阶段的话,核心其实就是去打通不同的研发平台,去做相应的安全能力的。扫描,比如说sa,呃,做代码漏洞的分析啊,开源组件的分析sa,以及哪些相关的检查。然后基于。安全能力汇聚到我们的安全平台,然后去做安全的度量、告警及审批等工作。那么近年来内部也在推研发平台的统一化,那么于呃基于呃腾讯云的话说,我们其实是基于内部的平台,其实做的安全的入,那么其实这里可以分为啊四层啊,最上层的话,我们会基于研发流程,然后去呃做相应的安全的卡点,那么基于本地的代码扫描,然后流水线上面的产门禁以及呃针对发布,我们要去做制品等级的检查,那么底层的话,其实就是基于安全能力的集成像。
28:23
呃代针对代码扫描,制品扫描,然后在外表服务的漏洞扫描,以及服务风险和安全回归这一块的安全能力,然后去做呃安全能力的支撑。那么底部的话。最底部的支撑其实就是安全员数据的上报,那么针对整个研发的力度,要做好安全的一些数据的上报,提供基础的数据支撑,那么运营平台的话,核心其实就是帮助安全团队和业务团队去分析啊,现有的安全分,安全风险以及可能啊存在的一些。安全的,呃,整体。
29:04
呃,那么这里的话其实就是说我们其是核心其实就是左边的话,其实是呃,内部的一个平台,那么他会去将研发啊流程拆分的不同的功能模块,那么安全团队其实就是将安全能力集成到对应的一个对应的。功能模块是提供啊。安全的知识,那么比如说以测试来说,那么业务在做自动化测试的过程中,我们通过在呃测试任务里面去提供安全扫描的开关,然后来提供较低成本的一个安全能力的嵌入,那么在测试过程中,其实就可以通过一键开启,或者说。一些安全的规则的配置,这样的一些产品实现方式去呃,将安全的能力柔和的嵌入到现有的一个。发平台,然后去保证去满足产品,发过程中对安全的需求,更多的是将安全能力为一种沉啊,沉淀到产品的能力里面去。
30:14
那么针对代码分析的话,其实呃,核心的话,我们是在本地扫描和在。流水线和入这一块去做能力支持,那么呃,代码扫描,我们其实核心主要是会去关注代码的安全漏洞,看看组件相关的漏洞,以及敏感信息这一块。那么正在开发者来说,他在本地做代码扫描,其实需要通过本地的代呃,本地的扫描的工具的检查,才能去触及到我们的一个代码的托管平台,那么在做呃功能分支开发完成之后,入到。主干分支做。河流的过程中需要去在就是线上做代码的安全扫描,然后去,呃,通过质量门禁这一块来把关,他整个的一个。
31:05
呃,安全要求就是比如说我们会要求致命的一些安全风险,是不能不允许被入的。那么这一块的话,其实核心其实就是通过本地开发和河流这一块,我们去把控整个的安全的,安全代码这一块的。接入。然后针对自动化扫描这一块的话,其实呃,核心我们是会在自动化平台去。提供安全扫描的能力基于啊业务的正常测试,其实也是基于呃传统流量转发的方式去复制业务的扫描流量,呃业务的请求流量做安全的扫描,但是因为呃考虑到对业务的影响,所以这块的话就是呃更多的是做后台的一些异步扫描,通过安全工单的方式来收敛和收敛相关的安全问题。
32:07
呃,那么针对呃制品来说,其实呃内部的话,其实会会将所有要发布到呃测试和生产的环境都会统一托管到制品库,那么我们这里的话,目前是针对了容器镜像去做了一个。制品的扫描,那么它会包括对呃,一些镜像类的应用组件,系统组件,恶意程序是敏感做啊对应扫描的能力扫描。那么呃,针对用户来说,可能就是在推送制品库的过程中,会去主动的去触发安全的扫描这块,其实是呃,只要有,只要有制品的上传行为,都会在后台去做默认的一个。会做一个默认的安全扫描,然后通过呃扫描去发现啊食品的安全问题,去做相应的规则工单的推送,这里也会。
33:04
将扫描结果回传到制品库,对。像其实也就是说将风险数据写入到制品,那么这里会有一个制品等级,那么在做啊生产发布的过程中,其实要去验证现有的制品是否有相应的安全问题,如果有的话,可能需要做相应的安全审批,那么这一块其实就是通过对制品的一个安全能力的自动化检测,来保证啊发到生产环境的一个制品的一个安全可靠性。呃,那么呃针对编码这块的话,其实内部呃在呃对。内部有出了一些安全的编码规范,比如说对C加加,然后以及呃。等等,那么这块的话,我们呃也颁布了相应的课程,比如说研发必修必考,要对编码的规范做相应的考试,通过这块其实也是这块也是在。
34:05
呃,针对学员去做推广,去覆盖大家对呃编码过程中安全的一些基本的了解。嗯,那么还一块的话,其实是针对需求设计这一块,我们其实有去设计啊,安全评估的自动化,其实将啊很多的场景的安全审核通来建立安全的检查,这块其实核心还是做半自动化的一个评估。云的业务场景比较复杂,针对自动化的落地还存在一定的困难。那么呃,针对进一步的话,可能针对一些像通用的一些安全问题,比如说SSF啊,大SS的,我们会提供一些默认啊。框架去,框架的组件去啊,提供通过SDK啊或者一些。
35:02
公共的安全服务。然后去降低去。实现整个产品过程中的一些安全问题。那么比如说通过代理,我们可能去做一些像。网络隔离啊,然后呃,通用的一些组件的名单,黑名单啊之类的去满足,将就是将安全能力去做了下沉,那么业务来说,只要去接入这一块的安全能力就能呃一定程度上的保证他们的服务不受相关安全问题的影响。啊,那么针对啊。这块我们也做了统一的标准要求,那么其实会去在不同的流程去对业务提出相应的一个。基本的标准要求。那么基于业务分级,然后去。啊,基于业务分级去做啊,去满足,呃,业务在产品开发过程中的安全达标。
36:08
然后另外一块的话,其实就是说我们会去建设,建建设整个的一个度量体系,就是针对啊这个整个过程中会去。比如说我们会针对我们自身可能会去做一些呃,能力的建设,比如说安全工具能力建设的完整完整度,然后在运营推广方面会去做一些,比如说啊。云云云的个业务的一些接入的完整啊,完整情况,包括我们对漏洞收敛的相关的。你可通过对呃定期的度量和量的话,其实去去呃可是让业务团队去对安全的一个建设有更高的一个感知。那么整体的风险和收敛的话,其实核心在呃,在上线前,上线后,那么上线前的话,其实主要是通过流水线,通过安全门禁去实现风险的一个基本拦截,那么。
37:09
啊,通过建立主动的一个扫描,那么将安全风险我们的内部平台去做相应的推荐,然后呃。正呃,然后基于度量这块的话,我们有一些就是就是鼓励啊产品团队更多的去主动接入安全的一些能力,那么我们可能在度量里面其实就会相对来说就呃不算入业务团队的一些安全分,那么上线后的话,我们其实就会去考虑点做一些常规的安全扫描去化度量啊,产品的一个安全建设,然后通过安全工单的方式,可能会就去啊去跟进,然后去拉入到它相关的安全度量,然后针对呃。你对核对的话,通常是通过专项专项收敛的一个方式去做的覆盖。
38:02
呃,然后在安全,然后在安全治理这一块。的话,过去大家在处理安全问题过程中和事件中,其实我们大多会接触啊,三种角色来去。满足业务团队需要,一块是安全团队的接口人,这里其实就是说核心就是对业务团队去做安全的负责。另外一块其实就是。和业务团队、安全接口人。那么的话,其实会去主动的去帮助参与安全度量维度相关的事宜,协助我们产品在内部建立并引导落地的相关的流程。那么业务团队的话,其实就是业务业务团队安全接口人,其实就是业务团队的一个安全代表,那么主要其实是对接安全事宜,然后帮助呃安全相关的,帮助安全团队去落地相应的安全流程和标准,来跟进整个业务团队的一个。
39:03
安全问题,那么整体的话,其实就依依托三种角色,我们去实现了腾讯云相关的安全体系和流程标准,以及在呃去践行在腾讯云的践行来提升整个。腾讯云的产品安全。呃,那么呃,这次分享的话主要是。这些内容,然后看看大家有什么问题。好,欢迎大家继续提问。嗯,我这里啊,那首先我先,呃。对大家的问题做呃一个啊回复,那第一块说啊,就是说大家有关注到,比如说OS啊,强调的一块是文化,那么文化这块是在,呃,腾讯是如何落地的,嗯,这块的话,第一块是说我们首先在高层的认识上,会有一个公司内部的的联合项目,那么去负责整体的的一个。
40:25
市场推那么啊,会比如说联合HR去做,呃,相关的。文化的宣传,比如说啊,新人入职必须要去做。安全的一些,比如说研发类的考试啊,安全的必值必考啊之类的,然后针对内部的话,我们其实会定期的会去基于呃眼下平台去做一些呃安全功能的宣传,然后跟业务团队其实会有定期的那个沟通和那么另一块在啊度量这一块的话,其实会有两个方面,呃,一方面的话会去啊整个公司内部会去推开源治理,那么其实所有的那个有一个对内开源的一个概念,那么呃。
41:13
内部的代码会定期的去做相应的安全的扫描入。那么会。对整个部门的开源情况,其实做一个晾晒,去驱动大家对安全这块的关注。然后另外一块的话,其实就是。啊,基于呃内部啊,基于内部的一些。啊,这块的度量,然后去提升整个产品在安全这块的重视,那么在不同的阶段的话,其实会吸引更多的啊开发测试啊,去共同来参与,来提升整个产品的安全啊,然后这块的话其实是呃。文化这一块在腾讯如何去做的一个落地?
42:01
呃,然后还一块的话,其实呃,有同学问到就是说的话,软件分析检测到的开源组件问题,然后去呃。推业务修复是做怎样做的,呃?啊,这里的推动的话,其实分两块吧,一块是说是。代码层面普遍的问题,因为呃,其实SAS呃,都是做代码里面的一些安全问题的发现,那么。啊啊,早期。呃,一块就是说那么在呃,业务在本地开发,或者说在流水线开发过程中发现的,比如说开源组件的问题,那么。他的流水线其实是会有安全的结果,甚至比如说他在做或者本地开发的过程中,其实会去将呃这块扫描的结果和他和我们的那个代码平台去打通,那么他在做的时候,其实呃是必须要去通过相应的安全检查,那么。
43:09
如果没通过,其实它的合并是通不过的,这块其实也是基于质量门进来做的,那么这块其实就能啊帮助啊。业务团队在产品产品开发过程中对安全问题的一个感知,避免啊早先的话其实会发现大家其实啊代码扫描。过了,其实商标完之后,对结果的这一块的感知其实相对不足。呃,那么还有另外一个方面,就是说对漏洞的修复,因为其实呃。业务团队其实相对来说他啊看到了相应的安全问题,那么如何做修复,那么呃sa这块其实会有一个相对SSA来说,它会有一个比较大的问题,就是呃现在大量的软件开发其实会引入很多的。
44:05
开源组件那么啊,一个项目可能呃,有些引入的多,可能有数千的数千个那个开源组件其实存在安全问题的,如果说都去做修复的话,其实相对成本会很高,而且不是说所有引入的。开源组件都会对产品本身的安全造成安全风险,所以这一块安全团队其实是做了一定的。区分其实相当于去定制了一个基本的水文线,那么在呃内部的话,我们其实是。定制了一个高危组件库,那么针对高危组件库里面的组件来说,其实它里面就是说第一个是啊,经常出现安全问题,然后有巨大安全风险的,那么这一块的话,我们是要求必修的,那么另外一块的话,其实就是呃。啊,开源组件的漏洞这一块就是就。
45:01
就不要求,比如说呃,不在高维主件库里面的,可能我们会去把结果推送给业务,但不做强制的修复,那么呃,内部业务团队可能根据自身的一个产品的需要,比如说有一些团队对安全的重视,甚至有些是私有化交付的,那么在客户的关注里面。比较啊比较重要,所以他们会去选择做,比如说中风险以上的都要做修复。这块可能就是由业务团队去。做一个具体的决策,那么安全团队这里可能会去给出一个基本的水位线去做啊,基本安全的要求。OK,那啊,这个是这个问题的一个啊解答,然后呃。我看有的同学问到,对于开发人员是否意味着又要开发又要做安全,如何理解开发者的安全责任与义务?嗯,对,这块也是说我们内部会碰到。
46:03
比较多的一个问题就是说开发同学不懂安全,然后。呃,就是本身的安全的一个,呃,本身对安全的不了解,然后去额外的去,呃,比如说去呃如何去做安全的扫描啊之类的,会带来附加的成本,那么在这一块的话,其实。呃,内部的电脑的话,其实会有一个共识,就是说。安全其实是要对呃开发是要对安全做负责的,那么基于这共识之下的话,其实我们会更多的去考虑如何让呃开发的同学。更好的去,比如说去落地安全这块的话,其实是基于。呃,开发现有的一个流水线的就是,呃开发的话,其实他会要去做。编码的构建啊之类的去。
47:01
那么我们这块其实就是提供一个安全能力,那么将安全相应的规则提供在插件里面,那么针对它那个去通过去勾选去做安全的扫描,这样的话其实呃。核心上来说,对开发同学来说,如何去做主动的安全扫描这块其实是没有成本的。因为通过全局的那个。安全扫描的插件的配置,那么就是在开发过程中都会做的安全,那么安全开发对开发者的安全责任和义务的话,呃,一块是说我们会要求开发者要了解基本的。啊。呃,安全安全知识,比如说你在编码过程中如何去规避SQ注入这种,呃主要是通过呃培训考试,然后我们就是开发入职的话,都要去做安全编码相关的。培训以及考试,然后去达到一个呃,安全的基本知识的了解。
48:05
那么另外一块的话,其实针对开发的代码其实会去做,呃,安全质量门禁这一块,那么对开发同学来说,他的一个基本责任和义务是要保,就是说对他开发代码要负责,那么针对开发代码过程中的安全漏洞,然后去。相对来说去做修复,那么这里来说,其实呃,安全团队可能更多的是提供一个呃,比较容易理解的一个。安全漏洞的一个描述和修复建议,然后呃,开发同学可能需要去根据这一块去做漏洞的修复,当然呃,这块我们也有在探索啊,比如说去自动的帮安帮开发同学去做。呃。漏洞的修复,呃这块目前来说主要是在S这一块,那么针对比如说引入的引入的一些第三方源组件,那么基于呃,它的版本过低导致的一些安全问题,那么我们可能就会去帮他们去做一些,比如说呃安全的推送,告诉他啊,比如说我们会去推一个就是MR去给他,比如说你该版本过低,你可以升级到哪个版本,如果他同意的话,其实就可以直接合入,这样去减少开发同学在安全这一块的一个。
49:29
投入。呃,然后还有同学有问到,在建设初期和业务团队磨合遇到哪些困难点?嗯,一块是说,呃,分两到三点吧,一块是说业务团队对安全的。不了解,因为呃,我们在推呃的过程中会发现,其实业务团队本身对呃业务呃,业务团队对需要做哪些安全。
50:01
呃,以及安全有哪些能力,可能是呃信息上不太啊不太了解,那么我们其实会更多的去做一些宣传和定期的沟通,然后去加大,就是呃,增加业务团队对安全的了解,然后另外一块的话,其实就是说。呃,开发同学对安全的引入,会去阻碍他们的一个快速高效的研发流程,会有比较的顾虑,对你的一个核心,呃,一个比较大的比较业务团队比较多的问题,其实就是时间。就是比如说我原有现有的开发流程,可能针对代码的编写到河流发布,可能是需要在呃分钟小时就完成的,那么引入了安全的一些插件,比如说做代码的扫描,制品的扫描,然后以及呃。呃,Web相关的web web测试相关的一些能力之后,会导致他整个的一个。
51:07
啊。发布的就是发布变更,发布的一个时间变长,这块其实是会碰到业务团队比较多,会比对这块的影响,嗯,这块其实呃一会我们也会去,呃,站在业务团队角度去考虑,另外一块的话,我们会将我们的工具能力以及他相应的一个,比如说它的一个时间和所消耗的时间,它的一个检测原理和。检测效果就是会去定期的公示出来,这样的话双方会去做一个啊。沟通和了解,那么他们就知道就是我们安全的一些。插件对他们实际的一个损耗,按时间的损耗会有哪些?当然呃,针对一些长时间的损耗,其实我们也会去做优化,甚至说呃,在在不影响业务团队研发流程的过程中,我们通过异步扫描的方式,比如说针对呃。
52:08
自动化测试这一块,传统的呃,流量个测试这一块的话,因为要考虑到测试环境的一个稳定性,那么呃,我们通常会去做一个S的限制,这样就会导致整个。扫描周期变长,所以我们其实也会做一些,呃,跟业务团队适配,那么就通过业务扫描的方式去部署说他的一个研发发布,然后去做一个。呃呃,那个风险的收敛。呃。自动化建设中的经验和工具可以多一些嘛,尤其是静态代码扫描和实时运营相关的,呃。呃,这块的话,呃,我们其实在做自动化工具建设这一块,其实会。
53:02
第一块其实是说呃工具的显型,那么其实在呃内部的话,我们大多其实像计算代码扫描,其实呃我们因为是内部是自研的。呃,这块的那个扫描能力,就是内部我们有有相应相关团队在做静态代码扫描,然后。呃,这块的话,其实就是说我们会去做一个跨团队的。呃,跨团队的,呃协作,那么我们其实将啊,公司内部的静态蛋白扫描的能力做引入,然后去做相应的安全的集,如果大家对这块的技术比较感兴趣的话,其实。内部自研的那个静态代码扫描引擎,也有一个商业版的叫那个插件,如果大家有有一些更详细了解,其实后续可以去呃呃找小助手这里去做了解。
54:01
然后运营这一块的话,其实呃,其实是里面比较重要的一块。那么这块的核心其实我们会去是要打通各个安全插件或者说安全工具的数据,那么我们要去做,呃,要比较有一个比较庞大的数据分析的能力去。第一块是说,比如说产品从开发到。发布上线,他今年哪些环节,每一个环节的安全数据,这一块其实需要去做联动和分析,然后另外一块的话,其实要对它整体的一个就是最终我们其实要去对产品去做安全的度量和打分。那么。这块的运营的话,其实就是基于我先前讲的,我们会有整套的流程标准,那么针对不同环节,它要就是相对来说要做什么,就是比如说要做静态代码扫描,那么做没做,做了之后他的,比如说他做完之后扫描之后是否还有相应的。
55:06
安全漏洞带到了下一环节啊等等。呃,然后呃,有同学问到,就是说目前这套体系是限制于腾讯平台内部,还是串联腾讯各的共识?嗯,这块呃两点吧,呃,就是我们在内部落地的,就是工具能力的,呃落地其实是基于腾讯云这一块的内部平台,但是跟啊整个B跟整个公司各B的这一块的能力建设,其实是在做协同建设的,就是啊,因为各BG可能有自己不同的一个。Double平台,那么基于啊各BG的平台做的话啊,就是各BG其实相对呃都在做,那么基于底层的工具能力,其实刚才呃上一个问题其实有提到,比如说金台代码扫描论可能啊,我们公司就是说是有团队来集中提供,那么基于各平台,然后去做相关的工具能力的嵌入。
56:15
呃。呃,有同学问腾讯落地了动态插扫描代码的吗?嗯,这块目前有呃有在做啊,但是说没有说呃像s sat全也是在逐步的在落,目前是有一些呃业务其实已经落地动态来扫码。呃,预计预计应该在呃。呃,一的话应该会去推这块的覆盖。呃,还有同学会问,呃,有问到比如说给行业提供一些输出,比如开源检测工具,最佳实践方法和体系规范这块的话,其实会持续在做,比如说现在提到的安全编码规范,呃这块那个腾讯相关的那个仓库,其实你是可以看到的安全编码规范这一块的。
57:17
然后呃,比如说最佳的一些实践方法的话,目前呃。哦,我们还在做持续的积累,后续可能通过一些。啊,方式可能会提供出来,然后针对工具层面的话。目前其实有一些比如说代码扫描的内部的一些工具,其实也有在做相关的开源这块,其实大家可以后续多关注一下。嗯,然后还有同学在问啊,卡密做代码扫描,平均一个项目需要扫描多久,然后呃,工具扫描效率如何提升。呃,业务是否会有不良反应,呃卡密代码扫描的话,这一块的话。
58:05
呃,其实会分为呃,针对呃代码,代码扫描,我们其实有做全量和增量,如果说全量的话,这一块其实就会根据。那个代码就是根据项目代码来做一个。呃,有关,那么呃对增量来说,目前的一个扫描的效率应该是每秒啊几千行的一个速度,那么呃,工具扫描效率的这块的提升的话,也是我们有持续在做的,这块的话就是会,呃第一块就是说工具内部本身的一些优化,另外一块的话,其实就是说我们会去相对来说去。了解业务的一些代码,比如说呃,一些呃相关的代码,其实可以去设定它,捕捉相应的扫描这一块。呃,整体的问题大概呃是这么多。
59:03
呃,如果呃,然后时间有限,然后部分问题不方便在这里想太多,大家可以扫码加小助手加群,然后之后有机会再私下沟通。嗯,好的好的,感谢张恒,也感谢线上的500多位小伙伴的今天,在今天下这么大的雨来听我们的公开课,然后今天的分享大概就到这里了,可能有一些问题还没有解答,如果大家还感兴趣的话呢,可以扫描这个二维码去加我的一个沟通群,后续有一些问题我们可以在群里交流。然后今天就先到这里。
我来说两句