00:35
诶,各位腾讯安全直播间的粉丝们,大家好。我是来自腾讯安全的James朱建,那今天呢,非常高兴呃,各位来到我们的直播间,参与今天关于软件供应链安全和开发安全的这样的一个直播活动,那非常高兴啊,今天我们也请到来自腾讯研究院产业安全中心的主任翟油翟老师跟我一起来主持,翟老师跟大家一起打个招呼吧,好,大家好,我是翟优,腾讯研究院的翟优。
01:04
对,我们今天这个呃议题的这个明确也很很明确啊,这个软件供应链安全和这个开发安全啊,这个话题其实呃这两年也是非常的火,特别是安全界呃讨论也比较多,像安全左移啊等等这样的一些概念,所以呃,第一个问题也是想问问这个咱们展老师,您也是一直在关注这个产业安全领域的这样的一些研究,就是这个话题为什么这么火,就这块儿您您有什么心得吗?啊好呀,谢谢向老师,呃,这个说起来,呃,软件供应链或者说是软件这个行业呢,大家都知道这个一定是我们这个社会啊正常运转的一个非常基本的一个要素之一,那软件的安全问题呢,也是我们当前这个数字经济的一个根本性和基础性的问题,其实业界很早就意识到这种网络攻击的事件发生的一个主要原因就是啊,由于比如说软件开发者在开发过程当中,可能会对开发工具啊,开发团队啊,开发的生命周期和软件产品自身的管理不当,可能会早导致这个软件存在的安全风险和缺陷,比如说啊,我们大家知道最近这个很多的开源软件用的比较多,那的一个报告就从就啊呃做出一个相应的一个分析,发现这个应用程序当中啊,应用程序当中啊,大部分的代码其实是组装的,而不是开发出来,所以呢,这里边有95%的组织都在自己非常关键的这个业务系统当中,当中,主动或者被动的使用了这些重要的开源软件。
02:33
那啊,Forest这个research的这样一个研究也说啊,也做过一些统计分析,比如说应用软件里面80%~90%这个代码都来自开源,那这种开源软件的安全性该的这个一个安全的一个水平,就决定了我们整个软件供应链的一个安全的一个问题,是否是一个啊严重或者说是一个不严重的问题,但显然来看,我们现在这么多的开源软件的出现,包括整个链条上相关的这些啊,开发和开发工具啊,所以说来讲啊,对于我,我所以对于我们现在在讨论的软件供应链安全这个话题呢,还是非常重要的。
03:08
那我们研究院这边呢,其实对软件供应链安全这个问题关注已经啊有一段时间了哈,那我们会发现其实有三点啊,这个主要的原因想给大家简单做一个分享,那首先呢,就是这种啊,软件的开发模式发生一个非常大的一个变化,那我们用户对于软件需求啊,尤其是。啊是非常强的,那导致这个软件开发的这个自主开发,它会变成过去这种纯自主开发,变成了自主开发开源获取,外包开发和商业购买的一个组合体,因此当变成一个组合体的时候,它会引入非常多的不可控的因素,所以呢,软件的安全评估就会增加,难度就会增加。其次呢,就是这个软件自身的变化,它的软件系统规模越来越大,它的逻辑会越来越复杂,在理解和分析起来就会更加更加困难,那大量的这个算法呀,结构啊,它会出现这种复用,那它呃必然会带来一定的缺陷和漏洞啊的这种漏洞的风险的复制,那过去的可能是一个点状的问题,现在是从一个点状问题会一旦这个点状的问题爆发了,那可能会引发是大面积的一个问题的一个出现啊,这就是因为它里边有大量的服用。
04:17
那最后一个呢,就是环境的一个复杂的变化,那呃软件大家都知道它是一个全啊呃全生命周期呢,它会更加的复杂多样,再加上生产和发布的环节也会非常非常的复杂,一些辅助的工具和渠道呢啊,它的不安全因素呢,会传导到这个软件产品当中来,增加这个软件供应链的攻击,所以呢啊这个呃,腾讯研究院这边我们已经在启动了,包括跟我们腾讯安全的小伙伴已经在启动了软件供应链啊的相关的研究工作,包括跟钱老师还有我们这边的产品同学一起,我们希望能把这一块的工作做得更扎实一点,提出我们的解决方法啊,和我们的解决方案和我们的方法论来给业界在这种。软件开发出现新的情况,新的这个趋势的时候啊,能够就提供更好的这样的安全的解决方案啊,我这边就是这些钱老师,嗯,好嘞,谢谢那个翟老师的分享,的确就是安全本身是一个呃持续的长期的一项工作,那安全左翼也好,或者说在这个开发的阶段来去提升整个的安全防护的能力也好,也的确是能够更好的从源头去呃这个控制整个安全风险的这个发生,所以说今天我们呃这样的一个呃直播的分享的这个主题,也是希望能够呃基于这样的一个话题,能够给呃各位这个直播间的小伙伴带来更多的这个干货,那接下来呢,我就给大家介绍一下今天整个的议题和我们分享的嘉宾,那今天我们的分享会分为三块,那第一块呢,是着重呢,去介绍整个腾讯在这个开发安全这一块的一些最佳的实践,因为大家知道腾讯是一个比较大的一个啊,软件公司,互联网公司,其实我们自己就是一个非常重度的。
05:58
这样的一个用户,那在从这样的一个第一视角,我们也是希望给大家带到呃,我们更多我们呃自身的这样的一些感悟和实践,那那第一趴的这样的一个分享嘉宾呢,是来自于我们腾讯安全啊,这个产业安全运营部的刘宪磊刘老师,那第二块呢,我们会呃有请我们的两位产品经理啊,重点去介绍腾讯安全在整个的开发安全和软件供应链安全这个领域的两款新的这个产品,一款是白盒的叉。
06:28
一块呢,是我们的这个产品。那最后呢,我们也非常荣幸的邀请到来自呃腾讯coding团队的架构师呃何文强何老师,那大家都知道das das它其实是一脉相承的,先有S这样的一个流行,以及呃大规模的普及,那才会有S的这样相关的一些工具也好,或者是实践的这个诞生,那腾讯作为一家大的这样的一个互联网公司,其实呃我们的这样的一些在开发领域的这个也是紧跟着这个世世界的前沿啊cody呢,就是我们非常有代表性的这样的一个呃这个产品,那所以说今天呢,围绕这三个领域呢,也是会有嘉宾的这样的一个重磅的这个分享。
07:12
那接下来呢,我们呃就把时间交给我们的第一位分享嘉宾呃留献磊刘老师,那各位呃观众如果在过程当中呃有任何的问题呃或者想要去互动的,也非常欢迎呃扫描这个屏幕辖的这个二维码,加入到我们的企微群啊,跟我们各位专家一起互动呃交流问题,同时呢,您也会有机会呃去获得我们这个呃产品的一些试用的机会,那请导播把画面给我们的刘磊刘老师。好的,大家好,我是腾讯安全的刘夏磊,然后今天很高兴能够有机会就setups这个话题跟大家做一次探讨和分享,然后今天的内容呢,主要是分为三个方面,第一个呢是从开发安全出发,看当时腾讯面临的问题和挑战,第二个的话呢,是针对我们在落地devups的一个整个历程当中,然后我们主要的收获和相关的这个经验,最后呢是详细的介绍一下我们在S的落地的实际的内容。
08:21
前面如主持人所说,呃,腾讯作为一家互联网公司呢,它的这个软件开发是它的公司经营活动的主要的组成部分之一,那也是到现在为止,腾讯也有着一个非常庞大的一个研发团队,而且呢,我们的创始人很多也都是这个研发出身啊,自身呢也是非常注重这个工程师文化的这种建设,呃,相信大家或多或少的都会用过腾讯开发出来的这些APP,或者说是这个应用,那么它已经成为了我们日常生活的一部分,但是腾讯能够走到今天,并不是说呃完全的这个。呃,一帆风顺,它也充分面临着日益的这个呃市场竞争,尤其是在这个发展过程当中,可能最津津乐道的就是在PC互联网这个像移动互联网转型期间,像这个微信,对吧,可能就那几个月时间,再到那几年时间,可能奠定了这这呃过去十年的一个商业版图,那么在这种情况下面呢,然后就从一六年开始,大家又开始说移动互联网,然后转到这个产业互联网的时候,又从产产品向这个服务转型的时候,那么可能在每个细分的这个行业里面,我们都面临的不仅仅是发版本要快,而且要针对各个行业的特点,要做针对化的这个剪裁,那这个时候呢,对我们的效率其实是更进一步的这个要求,那么呃在从一从零四年开始,那么我们其实就一开始在讨论的时候,就决定到底是用I pd还是用这个敏捷的时候,我们已经定了,就是要用这个敏捷,但敏捷呢,它其实是一个呃解决。
09:57
这是需求到研发的一个点,它可以快,呃,它可以把一个大的需求拆分成若干个小的需求,但是他没有实现的一个是这个点是什么呢?就是把开发和这个运文然后统一起来,那这个问题呢,其实一直大家都有做讨论,直到一零年的时候,有人还发表了相关的论,呃,这个论文,然后去做了这个论证,那么随着这个基础设施的这个成熟,比如说云计算,尤其是容器这种技术的这种出现,大家发现其实S这个时候就应运而生了,那么在这个效率这面,然后找到一个这个未来的方向之后呢,那腾讯在安全这一块,其实是一直受到一个,呃这个非常大的一个重视和积极的一个投入,大家都知道互联网公司最核心的是用户,那数据呢,其实是我们最核心的这个命脉,那安全呢,是一切的这个基石,呃,咱们坦白说,如果是腾讯的任何一个小的点上出现相关的安全事件或者问题,那它的影响呢,基本上是。
10:57
是非常大的,第二天可能热搜就能持续好几天,但是呢,随着咱们刚才讲我业务的这个市场的竞争,然后以及我业务形态的这种转变,和我这种新场景和呃这个新技术的这种呃这种出现,然后传统的安全工具呢,其实出现了非常明显的这个效能瓶颈,那这个时候呢,我们再开发安全这个呃领域里面,其实安全一定要必须跟随着开发模式的这种变化,然后去做这个适应,那我们再仔细看一下当时腾讯面临的这个问题,那么当这个研发模式走入到这个dev的这个阶段之后呢,我们看一下呃,传统的这个呃开呃开发模型呢,一般是遵循这个SLSL呢它也不是一个很新的东西,2000年微软就提出过,后来像这个国内的搜狐啊,然后这个华为啊,他都都这个提提出过,但是呢,在这个SDL的时候,它注重的是什么呢?它的一个本质是在呃这个呃需求。
11:57
实施和验证的每个开发的这个呃阶段里面去插入一些这个安全的一个要求以及检查项,那么这个点呢,其实在式开发是比较适合,在敏捷的时候呢,也还OK,但是如果是说你的这个敏捷里面,如果发版本特别快的话呢,我记得是在疫情期间,一九到二零年的时候,那个时候腾讯会议可能要在几个月之内不断的迭代这个版本,这个时候你在说我在用这个呃,传统的这种软件开发周期,呃,然后去用这种管理方式去做这个,呃安全的话,可能你需要投入大量的人员去做分析,去做审计,对吧,然后这个时候呢,你可能会发现哦,这个时候我已经安全,已经真正的成为阻碍这个生产效率的一个点,那么在这种情况下面呢,啊,在全面转向之后。那么。
12:50
呃,我们也在这个考虑怎么实现S呢,其实也有到今年为止刚好十年了,一二年就提出来了,虽然说他只是在David斯之间插入了一个赛,但是呢,它的这个核心理念就是如下面这个,呃莫比乌茨环,呃莫比乌环一样,它的核心是整个的,是一个持续的,是一个自动化的,是一个循环的,是一个永久能够像云动机一样的,然后自洽的这么一个这个流程,这个是我们所希望的上面的那种代表的,以SL代的话呢,可能是安全和开发还是离的啊,那么下面这下面这种呢,它是把S后融入到这个开发和运营的每一个环节里面去,那么在这个这个背景下呢,我们当时也做了一下这个探讨,其实呢,SL跟跟这个其实并没有说很明显的一个冲突,它的一个本质区别是,首先是大家明确的时候以前。
13:50
可能是安全是安全,开发是开发,再到这个当下的这个div模式之后呢,安全就是每个人的这个责任也不用说,呃具体是呃,谁应该承担或者谁不应该承担,那么他应该是每个人的责任,而且呢,以前可能是呃,咱们说的很直白一点,就是有一些对抗的因素在啊,可能大家还是存在一定的这个冲突,尤其是当我快要发版的时候,然后这个时候你说有一个安全的一个呃,这个问题没有解决,而且为了解决这个问题要很大的工作量,这个时候呢,其实大家的这个对抗因素可能会比较大,但是呢,在这个devs里面呢,它更多的是强调的是在每一个环节里面都去柔性的去嵌入到整个的开发和这个运维过程里面,那么安全呢,是每个环节的一部分,那么也就不存在说直到最后我们才发现了有一个问题,那么它最适合的就是说周期短或者迭代比较快的这种业务,那么在这种情况下面呢。
14:47
呃,我们在这个落地的时候呢,其实也是在借鉴了S的这个整个过程,而且它的本质,比如说敏捷在开发阶段还是用的这个敏捷的这个思想来做,只不过呢,在交付运维阶段是还实现了敏捷的这个右移,然后再往下,那么每个人说这个div赛,就是说可能有很多的东西要做,对吧,有人可能想到的是自动化,有的可能是说黄金管道CICD,有人有的人是希望能够实现呃,这个交互运营和这个安全的这个一体化,那么我们今天呢,可能侧更侧重讲的就是大家经常提的这个安全左移,就是如这个呃,这个呃莫比呃无丝环里面的这个左边的这个环,我们更希望呢,是先把左边的这个打牢,把基础打牢,这样的话呢,你整个呃,这个流程跑起来才会比较扎实,那么我们为什么会先做左边这个呢?因为大家都很清楚,如安全介入的越早,然后漏洞的这个修复成本越低啊。这个基本上成为一。
15:48
和业内共识了,左边的这个,呃,左左边的这个图呢,是forest发布的这个相关的一个调研报告,那么就是说,呃,如果你越早介入,然后相比到最后发布阶段你才去介入,你的修复成本可能要提高100倍以上,当然了,这个每个人调研的这个结果可能不太一样,像惠普可能是50倍,像那个IBM可能是呃,上百倍,然后呢,可能能上千倍,这个都不重要,但是有一点。
16:15
是大家都会去做这个共识,就是说啊,现在这个阶段,然后实现安全移会是大家比较关注是啊比实呃上这个S的一个最最重要的一这个切入点,那么在这个情况下面呢,我们看一下整个这个腾讯在落地的这个发展的一个这个时时间线,呃,零六年的时候呢,当时我们在确定使用这个ID还是这个敏捷的时候呢,我们最终选择了是敏捷,而且呢,这个时候我们还自研了我们的一个敏捷的这个配套管理这个工具,就是我们的ta在零年的时候呢,那个时候呃是这个PC互联网摄像这个移动互联网转型的,呃,这个期间啊,公司的这个业务。业务量是急剧的一个增加,那个时候呢,我们就开始自研内部的一个这个漏扫的一个工具啊,其实就是这个黑客扫描,在一零年的时候,其实那个时候大家回想一下,那个时候发生了很多的大事,使得我们的这个安全呢,是上升到了整个公司的这个新高度啊说啊就是达到了一个战略的一个高度,所以呢,从那之后,大家对安全的一个这个呃要求会进一步的这个加强,从一一年开始,我们开始推动在研发过程当中的这个安全测试,然后那个时候呢,主要还是以这个漏洞为这个对象,然后去做这个漏洞管理,然后在一二年的时候,我们成立了业内的第一个呃这个R,那从那时候开始呢,整个互联网就开始了,整个呃,每个互联网公司的这个R的一个这个建设到一二年的时候呢,啊,我们是结合国内外的经验,也提出了自己的这个企业级的软件开发啊,软件安全开发生命周期模型啊,就是TS。
17:56
开始这个相关的,然后等等开始加强这个文化的一个这个建设,在一四到一六年期间,那个时候呢,我们就开始。
18:13
已经采购了市面上大部分的这个呃这个呃相关的这个工具链,然后去做我们的这个呃开发过程的这个安全扫描,比如说那个时候我们采购了像这个白盒这个工具,然后去建立自己的这个代码检测平台,并跟我们的这个呃开发呃这个呃项目管理平台TPT去做这个融合,那么直到一年的时候,我们开始在这个落地的时候,因为一三年腾讯开始做这云计算嘛,那么在这个经过几年的发展,我们在落地S的时候呢,那个时候基本上是全面落地,然后这个开发效率跟这个呃开发安全的这个瓶颈呢,那个时候已经非常突出了,然后在这个情况下面呢,啊,我们发现原来的很多的这个商业化的这个工具,比如说拍盒的这个代码,扫描的这个产品,它是很难满足在dev的这种场景下,因为它有很多的这种误报,这个误报呢,它的误报率就使得我的这个黄金管道就是那个流水线,然后很难真正的跑起来。
19:14
那么从那个时候开始,我们决定去做这个自研,就是我们今天的一个啊,这个我们自研的白块产品就是叉,就是在一九年的时候就正式的去做了一个上线,然后并逐步做了一个替代,那么从一九年到现在呢,那么这个S基本上成为了是我们公司的一标准,并且是直到现在一直在持续的优化和丰富相关的这个工具链的一个建设,然后呃,到目前为止,叉呢,基本上是覆盖了公司的全部的这个开发业务,然后每个人在提交代码的时候都会经过查这的一个扫描,然后直到从2020年吧,然后那个时候RC上也有很多人开始兴起这个软件,供应链的这个安全,然后尤其是去年的时候,然后很多这个供应链安全的这个问题,也使得大家对软件供应链的这个问题呢,可能是更加的这个聚焦,那这个时候呢啊,我们自研的这个二进制S的这个工具呢,也呃开呃也开始做这个推广啊,就是我们内部呢,其实已经一直有这个关注。
20:14
这个问题,并且有我们自己的这个工具啊,在这个,呃,到目前为止,这个工具呢,已经跟我们的这个流水线去做了这个对接,然后到目前为止,我们开始去做这个推广,这是我们整个的一个发展的生命线,咱们可以简短的理解为。它的整个的这个呃安呃开发安全的整个的这个文化建设其实是一直是持续的,那么啊整个的这个sups的一个呃建设呢,呃是随着develops的一个落地,然后我们逐步的去诶完善,然后去开发了自己,诶真正适应S的一个这个呃工具链,那么这个是这个腾讯的一个建设过程,那我们再看一下我们在落地的这个时候,在落地SS的这个呃这个过程当中,我们认为最关键的三个部分,第一个当然是这个人和文化,因为呃。
21:09
呃,在之前的话呢,可能在SL啊,或者在其他的这个,呃安全的这个模型里面,可能更多的是说安全和这个开发是这个分开的,但是你不能说因为就加了一个赛,然后你就把开发和运维,然后你都可以很好的一个融入,这需要很多人的一个认知,至少是在认知层面大家能够拉平,而且呢是团队能够自洽,然后人都呢都能参与到这个,呃呃这个安全的这个规范里面来,然后呢去做到一个执行,最终才能够完成,这个呢是一个隐性的,但它又是一个非常重要的。第二个的话呢,呃,你要想达到这个人和文化的一个,呃,这个最终的一个这个呃统一的认知,那可能在某个阶段,你可能需要有相关的这个流程的这个制度,然后鼓励大家,像我们内部就会经常去呃去晒出来很多人到底有多。
22:00
呃呃,正面的典型对吧?啊,以及反面的典型是不是有人违反这个呃高压线,然后有没有人这个触发了这个,呃安全编码的规范等等,然后去做一些典型的case,然后也做一些鼓励和这个奖励,这个是在流程制度层面,还有一个非常重要的就是这个技术工具,如果是说你想实现里面呃那个非常好的那个呃融入以及自动化,那可能就对工具有一个新的一个要求,那么因为传统的这个模式里面,可能嗯安全是一般是在开发完之后,或者是每个阶段在开发完之后才去执行,这个时候呢,对时间的紧迫性和这个。相关的融入没有那么紧凑,所以呢啊,一般是由安全人员自己使用,但是在devups的这个阶段里面,可能这个工具是由这个一定要保证对这个开发是相对友好的,至少是不要有那么多的误报,一旦有这个检出的这个问题的时候,至少要呃基。
23:00
至少要保证它是一定存在问题的,这样的话呢,才不会引起别人的一个这个反感,第二个的话呢,就是说呃相关的这个工具链最好是能够丰富,然后遵循这整个S的这个每个环节啊,然后在每个阶段都有对应的这个检测工具,那么在这一块呢啊,腾讯其实也不是说一开始就呃从无到有去做了个建设,他基本上是先从这个技术工具开始,那么在技术工具的这个呃范呃范畴里面呢,一开始的时候就是在一九呃在零几年的时候就开始自研了自己的这个黑盒漏扫工具,那么后来呢,又开始自研了这个呃白盒代码的这个工具,然后在呃我们去年又开始自研了我们这个S制么这块呢,我们每次开发完之后,把嵌我们整个呃流程里面来,然后未来的话呢,我们还会按需补充更多的这个工具,像我们的场景化建模,以及我们的和这个,然后这是在。
24:00
呃,技术工具链这个章节,这个章节呢,我们会在后面,呃更多的看到这个的话呢,可能是对大家的一个,呃,这个借鉴可能意义更大一些,然后下面这个呢,是我们有非常完善的这个流程和这个制度,那么在每个阶段一开始的时候,我们在这个设计阶段和开发测试阶段,就是在敏捷的这个,呃,这个开发模型下面,我们也都有相关的这个安全的这个评审,然后运营阶段,我们建立了这个应营应急响应机制,以及漏洞管理规范,并并且有相关的这个我们这个的过程当中呢,我们也是试点项目,然后标,然后每做这个,然后有点到面的去做这个推广,然后最终呢,我们是形成这个可度量的这种体系化,然后就是每一个地方,我们的出工具的一个呃,建设的一个度量,以及我们接入的这个覆覆盖率,以及检出率和这个漏报率,以及漏洞的这个修复结果,我们基本上是每周,然后每月都会去做一个整体的一个通报。
25:00
最后一个呢,就是说。呃,这个隐性的这个仁和文化的一个建设啊,因为这个的话呢,啊,它是一个隐性的,但是呢,其实是需要耗费诶咱们很多的时间去做这个啊投入的就比如说从每个人入职的时候,然后再到定期的去做这个考核,然后再这个安全规范和这个呃知识库的这个整理,以及相关这个安全专家的这种培养,这个可能都需要花大力去去做,而且这个是啊比较呃呃短期内很难看到直接效果的这么一个这个这个作用,那么呃,经过长时间的这个磨合,然后我们最终建立了我们的这个整个的这个文化,现在呢啊,可能我们没有人说我们每个人是由具体的人去对这个安全负责,但是呢,我们每个人都会注意到自己的这个每个的这个呃动作是不是会违反这个,呃这个安全违违背这个开发安全的这个准则,这个是我们到目前为止最大的一个收获,那么我们是从技术的友好,然后呃流程制度的这种鼓励,然后。
26:03
示范最终是实现了我们整个个的一个落地,以及我们的一个维化的一个这个呃,达成这是我们整个,那么最终的一个落地效果呢,大家可以看一下,如果是说我们按照这个研发流程来看呢,在需求设计阶段啊,那么我们还是原有遵循原有的这个威胁建模,然后在这个开发的时候呢,我们本地会去做这个校验,但是他在代码提交的时候啊,就是用我们这个去做这个提交代码的时候,我们有我们会经过我们的这个代码扫描,然后呢去作为一个质量门禁,这个应该是啊,我们跟业内其他的一个非常大的一个差异,可能大家都落地这个S,但是真正的能把它作为一个质量门禁来的可能是少之又少的,那么腾讯这应该是呃内做的比较好的,或者说是呃应该是做的最好的一个点,那么。呃,他在这个呃只呃在这个呃能够提交完之后,那么在集成打包之后,我们会因为这个新兴的技术,比如说容器,对吧,容器经常也会出现啊这个新的安全问题,我们针对容器啊,或者是一些二进制,然后以及这个APK,然后以及这个其呃其他的这个二进制文件,我们都可以去做一个制品的一个扫描,然后最后我们才会提交到这个自动化的这个测试流流程里面去,然后才会去做这个黑盒的和这个呃交互的这个isd的一个测试,这样的话呢,我们在每个每个阶段,就是我们在整个的这个C和这个CD的呃黄金的这个管道里面,我们每个都会有相应的这个工具链去做一个这个支撑,同时呢,我们在每个阶段都会有相应的这个运营平台去分析每个数据的这个,呃,这个业务的一个覆盖和它的一个接入,以及我们的检出率和漏洞的一个修复率,并及时的去做这个通报,那最后到真正上线之后啊,我们还有一整套完。
27:56
完整的基于网络安全分工,呃,这个这个评估体系的,然后去做高危这个服务的管理,然后管理后台,然后漏扫啊,然后像这个更外部的边边界层的,比如说像这个,然后防火墙等等一些这个防护啊,那么这个是我们是呃落地的内部落地的一个这个实际的一个这个这个流程,那么啊,我们在落地之后呢,很多的这个外部的这个伙伴啊,也都说诶那你们走的比较靠前,而且呢,整个还落的一点还不错啊,也都我们也希望向你们学学,然后去做一下这个取经,然后我们这个时候呢,开始去在外面去做这个交流的时候呢,也得到了很多的这个启发,后来呢,我们就决定看这个是不是可以去做持续的分享和一定的这个啊,相关的这个能够复制的去做部分的这个商业化,那么在这个呃,莫比乌子华里面呢,我们把自己的这个能力和这个。
28:50
呃,相关的能够这个复制的产品,我们也都做了一个标注,大家看到的这个白色的这个字,基本上都是可以能够复制的这些产品,就是说啊,虽然我们落地了这个S,那么我们里面的一些这个像这个工具链的这个这个工具咱们可以直接拿出来,可以去诶去做到一个这个复用,那我们也可以把这块去做到一个这个商业化,那么呃,像这个蓝色的,那可能就是说是呃,在这个文化建设啊,或者流程制度方面啊,以及这个其他方面的一些,这个可能不太好,这个做这个通用的啊复制的这个内容,那么我们首先看在这个计划阶段啊,我们的这主要内容都有哪些,计划阶段的第一步就是说开发安全意识培训啊,基本上是每个人在入职的时候啊,那么他都会首先是接受基础安全的培训,然后高压线的一个行为规范,然后以及安全编码和软件源,呃,和这个软件源代码的这个安全管理的规范,然后以及腾讯开源管。
29:51
理的一个这个规范和研发安全规范,还有这个相关的运营规范,最终呢,是做到一个上线上的考试,并并且呢,对这个。
30:00
考试的这个呃,排名较高的人去做这个呃通报,那么这是呢一个事例啊,基本上我们安全编码规范里面,针对常见的安全漏洞,我们都已经做了这个覆盖,而且针对各种的这个呃,开发语言的这个呃,研发人员我们都有对应的这个考题,然后让他去做这个考试啊,那么就保证呢,大家对这个事儿啊,从入职的时候就开始对每个人去做行为规范,呃,因为入职的时候大家的这个行为规范是最容易纠正的嘛,那么这个时候呢啊,就是大家可以就默认哦,这个安全其实是属于这个开发的一部分,那么我们在这个需求分析阶段,其实我们针对这个最小供给面的这个原则去做这个威的一个建模,像这个数据安全,运用安全和认证啊等等,然后我们都持续的去做这个安全的一个这个检查。那么在第二个环节呢,可能就是我们今天着重要讲的就是呃,前面的那些可能在落地的时候,大家可能呃,每个企业都或多或少的有一部分这个呢,我们可以到时候可以再相互交换,可以相互去交流,那么后面的这几个呢,可能是大家啊。
31:10
比较关注的就比如说呃,大家在开发一个这个产品的时候,肯定不是说把自己把所有的能力全部实现完,尤其是像腾讯,他已经有很多的这个呃组件可以给到每个开发团队去去试用,大家可以经常看到呃,腾讯的一个这个team可能没多少人,但是他很快就能出一个产品,这个其实大家就是啊,基本上就是在各个组件的这个技术之上,然后再做应用层的一个这个开发啊,这个是业内的一个开发的一个典型的模式,但它在这一块呢,我们现在已经推动了,我们在自己的基础组件里面,比如说我在下载我的这个上传啊,我的这个web,这个访问我的这个标准的SDK,然后呃等等,然后我的这个。呃,做这个机群化部署等等,然后我在每个这个基础的能力里面都已经进嵌入了我的这个,呃安安全的一个这个扫描,然后呢,是保证每个组件是安全的,那么它在调用的时候可以也能保证它最大化的一个这个安全啊。第二个的话呢,是他自己开发的所有的这个代码啊,那么他在诶去提交到这个呃OS的这个流水线之前,默认呢,都会去触发这个扫描,那这个的扫描呢,就是由我们的这个叉check去做的这个扫描,那叉check呢,它作为一个这个工具,它可以跟这个流水线去做这个对接,那么去做默认的这个出发的扫描,它也可以对接咱们的这个代码仓库,然后去做呃这个全量的扫描,也可以做一个独立的一个审计工具啊,然后去做到一个这个呃,本地化的,就是你自做一个这个本地化的一个审计,这个它的部署方式是比较灵活,但如果咱们有这个develops的一个这个建设,那尽量的还是。
32:55
跟咱们的这个C流水线去做到一个这个整合,那么尽量实现这个的门禁,这样的话呢,才能够落实这个安全左移的一个这个原则,这一块呢,一会就是我们后面的主讲的第一个产品,那么这个我们为什么会这个要自研呢?这个我们可能再预告一下,因为嗯,在如果是你每次提交啊,你的这个扫描的这个时间可能让他等的很长,然后扫描了之后呢,要返回一些很大的这个误报,那这个时候呢。
33:26
对开发而言,他是心态可能就呃受到非常大的这个挑战,因为他的工作效率会极度的这个呃会受到这个极极大的一个这个影响,那在这种情况下面呢,我们是通过我们的字眼来彻底解决了这个呃检出率的呃误报问题和这个时效的问题,这块呢,大家可以着重的关注一下后面的这个分享,然第二个阶段呢,就是在制品的这个阶段,那么我们在这个配置完流水线之后,那我们把容器镜像也好,还是我们啊集成的一些这个啊打的那个二包,然后E或者说是D文件,然后或者是这个A文件,然后送到我们的这个库的时候,默认也是要触发这个安全扫描的这块,也是我们分享的第二个这个。
34:11
这个内容这块呢,可能更加侧重于。这个供应链的一个这个扫描啊,就是咱们的使用的这个开源组件,然后里面的。是否包含一些这个敏感信息啊等等,这个的话呢,一会咱们可以再关注一下啊,这个是我们一会儿分享的两个产品,这个是在我们在落落实的时候,我们最的两个点,也是在这两个点,所以呢,我们会的展开去做这两块的这个介绍。第三一个呢,是在验证阶段,这个业内做的最多的,一般还是说做那个插装式的,或者说是做流量式的,那插装呢,基本上是在这个服务器侧,然后去装一个agent的,然后去做这个监控,然后在终端侧去模拟,去发一些这个交互类的这个测试,然后去收集整个的这个过程,然后呃,这个黑盒的这个扫描呢,基本上就是呃,我从呃外部的一个这个呃模拟攻击,然后去验证,然后看你的这个反馈结果,去验证你是否存在这个漏洞,这个是属于呃,咱们常规的这个漏扫的一个这个范畴,那么呃在呃在这个验证和发布的后面的这个阶段呢。
35:18
呃,在上线前,那么我们针对移动这个这个部这个部分呢,我们还有两个这个环节去做,一个呢,是针对动应用的安全的漏啊,就是说针对移动应用这个开发过程当中现在比较多的啊,就是啊是不是存在这个啊相关的安全这个漏洞,然后如果是APK文件上传到相关的应用市场之后呢,如果是你存在安全的问题,呃,或者是没有经过加固,那么会被这个工信部给抽,抽检到之后,那会被要求去做这个下线,或者是被这个通管局等等,然后去要求这个下线,那么我们可以在这个环节上面去先做到一个预防,然后针对这个安全问题去做一个整改,整改完之后我们再对外去做这个发布,那么第二个的话呢,我们是可以针对安卓也好,IOS也好,还是针对这个SDK,我们都可以做到一个安全的加固,安卓的话呢,我们可以针对这个文件去做加密加壳,然后以及做这个VMP的这个,呃,这个关键函的。
36:18
防护I们混淆,然后相个全,固然这个SDK我们可以针对相关的这个件,然后去做到一个防篡改,防这个破解的这么一个这个安全防护,那么在这一块呢,我们为什么会有这个,呃,这个相关产品呢,主要是因为。呃,腾讯在移动互联网的时候,它还有很多的这个应用,那么每一个应用呢,在对外发布的时候,它都会有这种相关的这个安全诉求,那么直到它没有任何的问题,它才会公布出去,那么到目前为止,我们大部分的这个APP都会去认集成我们的这个呃架构,就是我们的那个呃那个的那个面的那个呃那个呃那个在呃在发布之前的这个呃检验加固环节,那么呃整个的这个左边的这个环呢,基本上是讲完了,那么在这个呃在这个部分呢,然后我们主要是有呃微呃场景微信化的一个建模,然后有两款这个在这个白盒这个扫描和一个制品扫描,还有在验证这个阶段的这个ID一个的一个安全测试,然后以及上线前的这个移动的漏扫,和这个相关的一个个加固,这个是这个部分,右边这部分呢,我们也有,那么我们整个体系。
37:43
应该是比较完善了,像整个的这个预防阶段的这个外,呃,这个外,然后上这个。这个还有我们的这个,然后以及我们这个C相关的安全产品,这个是属于传统的这个网络安全的一个范畴,那这块呢,呃,相关的这个安全团队和这个能力,应该是属于安全和运维人员更加的这个关注,咱们今天呢,可能更加聚焦的是安全左移之后的这个开发安全的这个落地的这个情况,那么在这一块呢,基本上的内容就是这样,然后看那个那个主持人。
38:18
好的好的,谢谢那个谢磊老师的这个精彩的分享,就是在他的分享里面,其实我捕捉到两个关键词,一个是这个咱们叫最佳实践,千锤百炼,嗯这其实也是腾讯自己把自己当呃小白鼠,那我们自己的这个业务里面面临的一些问题,最终我们提炼或者浓缩汇聚成我们的这样一个标准化的啊工具类的这个产品,那第二个关键词呢,其实呃应该说不仅仅是工具,呃els呢,我们是把它从这个模型到流程到架构,最终到工具的这样的一个整体化的这样的一个一个演进,所以说呢,通过呃以上的这样的两个这个亮点吧,其实我也呃解答了一些问题,是什么呢?就是呃这个在开发安全或者软件,软件供应链,呃,安全这样一个领域里面,其实国内外有挺多的这样的一些这个厂商,像海外的像这个像啊fortyify呀。
39:19
啊等等,像国内那我们很多知名的这样公司,像啊海云等等,那腾讯那作为一家这个。从C到B的这样一家公司,那我们在开发安全领域,我们自己的特点特色在哪里?那其实刚刚这两个点呢,我觉得是非常好的能够去阐述呃和回答,那接下来呢,就是就着这两个具体的这个产品的一些呃功能的特性,呃产品的强大的能力,那我们呃希望把时间交给我们的两位产品经理,那首先呢,我们呃有请叉切的产品经理刘天勇刘老师。
40:03
好的,各位下午好啊,我这边来首先介绍我们的开发安全的第一款啊产品,叉叉静态应用安全测试系统,叉叉产品呢,其实我们这个工具啊,在去年或者在更早的时候,也在咱们的一些安全圈内有一定的这个推广,包括大家可能都听说过,今年呢,把它整个产品我们正式的面向市场做商业化,然后今年年终以及下半年正式开始我们呃发布了一个全新的商业化的大版本,所以这次的产品发布呢,其实更多的也是一个呃,新版的一个大发布,这个新的版本在商业化的阶段提升了更强的一个能力,能够更好的去满足咱们各种各种不同行业,各个各个的关于代码检测的这个需求。然后整体来看的话,诶。这个切换页面啊,整体来看今天的是两款产品呢,我们分别是在呃,原代码和开源组件的二进制构建五两个维度进行了一个检测,通过这两个产品会实现一个整体的一个覆盖,我这边呢,会来作为那个第一个产品的一个介绍,稍后我们的产品经理会介绍第二款关于二进制软件成本分析的工具。
41:11
讲到叉这款白盒代码扫描产品的话,会先跟大家来讲一下整个产品的一个代充背景,因为大家可能对白盒这个技术品类可能比较熟悉,大家都会说啊,白河可能我们很早就建设过了,或者说这个产品或者这些工具我们体验过很多同类的产品了,那你们腾讯叉T有什么不同呢?那其实这一块的从这个问题呢,我们也可以去把腾讯自己叉产品诞生的一个背景跟大家做一个分享,就从这个腾讯叉诞生的背景里面就能讲清楚我们和同类产品的一个差异化,以及我们的特点在哪里,随着整个开发模式的演进,其实大家对于白河的定位是产生了不同的一个呃需求的,这里面其实刚才最开始呃,谢磊老师在沟通,在讲我们腾讯内部实践的时候有提过,其实我们大概公司从一九年全量的上了,在这个阶段下,我们就发现以前瀑布式开发,敏捷开发的时候啊,白河产品它更多的是作为安全团队独立使用的一个审计平台,很。
42:11
测试或是业务上线之前,然后由啊把代码压缩包给到安全团队,安全团队进行代码审计,这个时候借助工具来提高审计的效率,然后返回一个报告给到开发人员,这个是整个白河工具最早的定位,也是目前市面上主流的或者是我们能看到的绝大多数的白河的一个设计理念。但是其实从dev OS的这种研发模式的推广之后,白盒的使用方式已经不再是这种独立使用了,它更多的一个使用场景,或者是我们更推荐的一种使用方式是把它做到C流线里面,作为整个的一个自动化的插件,由研发团队或者是我们的啊测试业务或者是研发效能团队来直接进行使用。安全团队更多的从一个工具的使用者变成一个工具的维护者,或者是说我们工具检出结果之后的一个呃修复的协助者,所以在这个产品的变化的这个背景之下,我们发现市面上传统的白盒是很难满足这个Di OS的这个更高要求的。
43:11
其实腾讯也是在我们一九年之前,我们的一些啊,商业化的很成熟的,很知名的一些品牌的工具都会在用,但我们发现随着公司的业务上了流水线,那么我们把白河做到自动化的一个S的这个一个理念里面,可能是没有办法落地的,基于这个背景啊,我们这里面不能落地的点主要有两个,呃,两个共性,第一个是扫描速度比较慢,因为传统的白盒可能在呃,正常的扫描可能是十几分钟,几十分钟,如果到了一个呃,特别复杂的业务,或者一个特别大的项目,甚至会数个小小时,那这个速度是完全没有办法适应我们快速迭代的这种流水线的一个效率。第二个点呢,就是白的误报比较高,因为传统的白,大家认为它是一定要经过人工二次审计的,那么从检测原理上,从产品设计上面,其实对于误报的控制是很难做到啊,比较比较低的这个控制管理的那一,在这个背景之下,那它误报太高,也就意味着它没有办法真正的作为一个自动化的质量门禁红线了,因为一个自动化质量门禁的红线,可能我们会设置它,比如大于一个高危,或者大于一,或者出现一个S注入,我们就要终止整个流水线的这个发布,但是误报太高是完全没有办法去落地这个问题的,所以为了解决速度慢和误报,呃速速度慢和误报高这两个问题,那我们可能就是内部全新采用了不同的技术路线啊,由一个我们自研的一个创新的新一代的白河工具叉就是在这个背景下诞生的。
44:41
这是我们整个产品的一个大的一个背景,也是解释了我们这个产品在一个白河这么一个成熟的品类里边,我们的特点,我们的差异化在哪里。然后这里面下一块呢,跟大家分享一下,就是我们这个产品在腾讯内部的一个落地的一个情况的一个统计,因为刚刚讲的是这个产品在内部诞生的一个背景嘛,那实际上这个产品在内部我们已经实现了全量的呃覆盖,以及对商业化产品的一个替换,那我们统计在呃去年7月到今年7月,以一一个自然年为一个统计单位,我们去啊简单的去把内部的一个产品落地的一个效果和实际的情况跟大家做一个分享,首先从呃任务的数量来看,整个叉在一年的时间里面,我们是检测了643万次任务,也就是说我们每天可能是有数万个呃代码检测任务去并发的去进行扫描的,整体啊,统计下来应该是13.3万个项目啊,这里面是这个啊,可能字体有一点问题,项目可能被挡住了,就是我们这里面实际上是说从项目来看,我们是有数十万个项目在进行持续的这种开发安全检测,然后每个项目会进行反复的多次的增量的这种分析,所以这个产品在每年都是上百。
45:55
万次的一个任务的情况,而且随着业务量的增大,我们整个的这个呃,实战的这个经验会不断的持续优化,从我们最关注的这个告警数和这个误报率来看的话,我们以一个相对比较严格的统计方式,就是不管你是真的是存在误报啊,就使用一个平,还是说我们认为它虽然误报,但是我把它认为它不重要,把它进行了忽略,以忽略加倍频率的所有的数量比上我们全部的减的漏洞来看,整个误报率是能够控制在10%以下,是在7.62%这个水平,我们在很多的呃客户和啊不同的行业的客户里面也做过类似的一个测试,其实整体的一个误报水平都是差不多的。
46:35
这是整个那个叉在报层面的一个表现,然后另外一点就是我们内部的一个呃,语言风险和耗时的分布,当然前面两个类型可能对于咱们的这个不同的客户,不同的行业,参考价值并不是特别大,因为每个公司的这种研发的业务不太一样,但是耗时这块是我们可以稍微展开来说一说。因为刚刚提到同类产品可能啊,正常的一个任务是要十几分钟,几十分钟,然后一些复杂的项目甚至要啊几十分钟上上,甚至超过一个小时,那么整个叉D的速度,我们作为一个新一代的白鹤产品,在速度这个维度上实现了非常大的一个突破,首先我们可以看到有百分之啊81以上的项目是小于五秒钟的,也就是它基本上是秒级就处理完成了整个啊小于60秒的任务呢,可能是大于了95%,也就是说这600多万次项目里边,95%的项目都是在一分钟之内扫描完成的,它这个效率在整个流水线里面是完全是能够自动化切入的,对于开发也是更加友好的,整个统计下来,我们真正超过五分钟的任务只占到了不到1%,所以整个的这个呃,产品的扫描的速度是我们非常大的一个特点。
47:50
啊,刚才第一块是跟大家一起去回顾了整个产品诞生的背景,以及内部落地的一个实际情况的一个介绍,然后下面第二块的话,就由我来跟大家正式的去做一下啊,整个产品的一个功能的一个讲解跟说明,首先他这个这个产品我们可以看到它的整个架构是一个啊相对比较简单的一个架构,整体采用了就是客户端加服端的这个形式,服务端的各个组件是支持一个水平的伸缩的,然后我们可以去更支持更大的一个啊海量的分析的一个任务,从整个的呃,实际的使用层面来看呢,用户可以通过外部页面,也就是通过我们的一个独立的一个控制台来去进行一个使用,当然这个更多的是比如安全团队,作为一个公司的安全管理人员进行这个独立的一个使用,同时整个产品还可以通过API接口以及命令工具的方式进行一个调用式的一个对接,可以和和各个客户自己自建的divorce平台以及代码安全检测平台进行一个集成,然后将我们的检测结果可以进行一个直接的。
48:51
导入在咱们自己的平台里面进行一个展示,我们作为一个底层调动的引擎。整个插的产品呢,其实支持我们对于不同的代码仓库以及管理系统的一个对接,也可以提供常见的C平台的插,本地I插,实现一个全面的开发场景的一个覆盖。
49:14
整个产品刚单是一个大的一个框架,我们针因为咱们作为一个代码扫描类的产品,其实整个呃核心的能力还是在引擎这一面,那针对于叉叉类的引擎,我们是采用了一个双引擎的一个架构,通过不同的引擎的一个技术去覆盖我们不同的客户需求,在第一个我们的物是我们的物点追踪引擎,物点追踪引擎呢是叉T,我们核心的就是竞争力的所在,也是我们刚才讲过的,我们通过创新技术的一个独家的一个引擎,物点追踪引擎通过采用不同的技术原理,实现了刚才咱们提到的速度快,误报低这两个核心的一个优势,当然这个引擎也不是一个就是万能的一个引擎,它的一个核心的点在于说我们速度快,误包低,适合在流水线里使用,当然了,它的整体的在语言种类和风险类型上面,相对来讲是一个更加精而专的一个引擎,这个引擎我们主要覆盖的是后台类的语言,像Java go PP Python not JS这类的一种语言,同时在风险类型上面呢,更多的是去检测这些。
50:14
和污点模型的漏洞,像QL注入,命令注入啊,包括反序列化叉S等等这个引擎的一个。定位更多的是帮我们解决最核心的,最高位的这种安全的问题,以及说去体现我们在流水线里面这种追求高速度和低报的这个情况。当然我们后来随着整个产品的商业化,我们也发现可能不同的行业对于白的要求会更加的广泛,可能在首先在整个语言层面,也许除了这种外部后台类的语言,大家对于客户端的语言,对于前端的语言,或者一些小众的语言也是有这个覆盖的需求的。同时在一些风险类型上面,可能大家觉得除了一些就是这种呃通用类的,外部类的这种呃安全类的污点传播模型风险,还需要去支持错误的配置啊,硬编码,敏感信息等等这些可能不符合污点成本模型,但同样是很值得关注的安全的这种风险。所以我们还有一个第二个引擎,作为我们底层的一个呃,一个一个一个能力来进行一个补齐,通过我们第二个规则匹配引擎,实现了我们整个产品在覆盖范围广度的一个覆盖,能够去满足更高的呃,更多的语言的覆盖,以及更多漏洞类型的覆盖,通过污点追踪引擎跟规则匹配引擎两个双引擎的这个互补,那我们整个的产品实现了一个呃,对于代码安全扫描场景的一个全面的一个覆盖。
51:33
这是我们整个产品双引擎架构的一个介绍。下面是我们针对产品的一个原理的一个展开,因为刚刚都提到了,说我们的产品速度快,误报第一跟大家一定分享,知道说我们是怎么做到的啊,这里面就针对刚才咱们提到的第一个污点追踪引擎,我们针对它的技术原理和一个产品的优势做一个呃,相对比较详细的一个展开,我们可以把代码安全扫描的,呃,整个原理把它拆解成两个环节,第一个环节是对代码的一个解析啊,相当于是我去看懂这个代码,去读懂,去去解析这个代码。第二个环节呢,是对代码的一个检测和分析,那我们要去从代码里面找到问题,那么我们在第一个环节插的一个独家的一个创新点是我们有一套自研的代码分析的模糊解析器,基于这套我们的自研的模糊解析器,整个代码白盒的扫描可以无需依赖于编译就能够实现将代码快速的转化成抽象语法术,因为这一个呃原理的这个创新,那我们相比同类的产品在解析的速度上是实现了大幅度提升的。这个无需。
52:40
以及我们的这种快速的一个解析的方案,是我们在速度上核心速度这个优势上的一个核心点,刚才也其实也提到我们整个产品的一个速度是一个很多任务是秒级处理的嘛,所以我们整个的这个扫描速度实际上是能够达到每秒数千行甚至上万行的这么一个速度。第二个环节是刚才提到的我代码解析之后,我要做整个的检测和分析,那么在这个方面我们更多的是基于污点追踪来做为我们核心的这个检测原理,这一点也是和我们市面上同类产品的一个比较大的差异,传统的白盒,或者是目前大家能看到的一些开源的白盒的方案。
53:18
更多的还是基于规则的一个匹配,通过一个嗯,丰富的一个复杂的一种规则库去去实现更多的漏洞类型,更多的漏洞场景的一个检测,但是呃,你基于漏洞库的规则去进行匹配的检测,一定没有办法控制误报,相当于这也是我们目前认为是白河的一个通病,所以说我们整个叉的这个引擎,我们完全摒弃的这种路线,我们完全基于污点追踪的方式进行一个精细化的模型的设计,通过这我们的这个模型的算法进行一个静态的模拟执行和污点分析,然后再找到我们整完整的一个污染传播的一个路径。那么这个分析方式大家肯定会说,那啊污点追踪也不是你自己发明的,那为什么别人或者说那个为什么同类产品没有在污点追踪这块做到我们这个程度,其实这里面就提到了我们刚才的一个点,就是我们首先从产品设计上是一个新一代的白鹤工具,所以在最开始设计产品的时候,我们会把所有的研发资源和我们算法的这个积累放到了这个方向上面。其次就是说整个污点追踪模型的打磨是需要海量的任务去做的,那么整个腾讯我们可能从一九年开始,每年都有上百万次任务的打磨,我们通过这个,呃。
54:33
大大量的任务的打磨,实现了我们整个污点追踪引擎的一个误报和漏报的一个精准,所以在这块也是刚才提到说,为什么这个引擎知识的语言那么少,为什么市面上同类的产品它可以支持的语言数更更多,因为整个从原理上面,我们的这个污点踪引擎还是基于我们啊大量的任务去做的,所以针对Java Python PHP go note JS这种后台语言,我们有更多的经验,以及这种语言是真正会存在漏洞的语言,也就是这种语言才会有真的啊我们会测出来的问题,所以说这也是我们这个产品第二个优势,也就是我们一个精细化的模型设计,去实现了一个精准的误报这个漏洞的一个识别。
55:16
当然第三点,作为一个呃白盒扫描的引擎,大家也很关注的,就是说它的一个拓展能力,其实叉的话,我们两个引擎是有自己分别有自己的自定义规则的这个能力的,在我们的规则引擎啊,在我们的这个污点分析引擎里面,我们啊平台里面内置一个简易的这个呃污点函数的一个定义的方式,通过我们定义危险函数啊,定义整个传播的链条,可以快速的去实现一个呃黑白名单的,这就基于污点传播的黑白名单的一个定义来实现整个规则的自定义,那么如果是一些呃更呃不符合污点传播模型的漏洞,或者说我们希望通过正则的方式写一些规则,直接去实现咱们自定义的需求,那我们就可以利用我们第二个引擎呃的能力来做,像一些配置类的问题啊,硬编码类的问题,或者是咱们每个公司有自己的信息泄露相关的这种呃规则,我们也可以通过我们第二个引擎,我们有一个规则编辑的那个方式,也可以在平台上面实现一个自定义规则的拓展。
56:14
这是我们整个呃产品在技术原理这块的以及产品优势的一个介绍,下面的话是我们产品的一个一些功能亮点的一个展示吧。首先第一个就是插我们的整个呃平台可以在独立的去进行一个平台独立来使用,也可以把整个产品作为一个引擎集成到其他的平台里边,那么我们整个的这个检测的结果是一个能够去完整展示污染传播链条的,会包含了漏洞的一个缺陷的介绍,修复的建议,包括我们整个路径追踪的一个链路,那么这整个结果可以在我们的平台上直接能看到,咱们的研发同事也可以以租户的形式登录到我们平台直接去。看我们整个基于代码的这个危险片段,风险位置的这个呃结果,而不是说直接给一个PDF的那个报告,当然我们这个结果也可以完全以格式导出给到咱们自己的呃平台,或者是那个CI流水线,或者是其他的咱们的代码扫描的一个平台,作为一个一个输入,这个也是可以支持。
57:16
另外一个就是刚才提到,其实我们呃,创新的这个污点追踪引擎是重点深度的去支持了我们几几类外部后台类的一个语言,那么我们啊,除了说误报比较低之外,在漏报维度,也就是在检测的这个检出率上面,其实是有也有我们独家的一个优势的,就以Java语言为例,实际上我们做了大量的这种语言特性的支持,通过支持这些语言特性,我们能够去提更多的检出问题,也能更准的去保证整个的这个汇报。第一个就是说,首先呢,类变量的识别像啊,这也是加va的特性嘛,像比如说一个污点传递到user对象里面,它可能是一个内部变量,也能一个H变量,那么如果你不能识别这种类变量的话,那你很有可能就会变成一个呃统一都是报成那个问题就统一都是误报,或者一统一认为没问题,那就是漏报了。所以第一点类变量的识别是我们的一个技术上面的一个亮点,也是我们做了很多呃能力的提升的地方。第二个点就像一些多态和重载的一个识别,我们差能够去识别继承关系,能够去找到正确的重载函数,能够对map进行精确的识别,这也是我们对Java特性的一个深度的支持。当然第三点是像Java的反射也是同样,我们可以通过去啊这个特性的一个支撑,来实现我们对Java语言的项目的更深度的一个检测。以上三类都是我们同类白盒扫描产品的一个技术难点,也是我们的一个特色。
58:41
第四块的话是防护识别,这个点呢,实际上指的是说我们有很多代码或者是他呃是有一定问题的,但是我们研发同事经过了自己的一个呃,人工的方式做过了一个修复,但是这个修复的手段可能不是特别的标准,那如果我们是基于啊整个的那个规则来进行检测,那很有可能仍然在修复之后还是会被爆出来。
59:04
但因为我们是整个基于污点追踪的方式来做的,所以我们虽然会识别到这里面可能会有污点,但是它的链条由于人工的处理之后,它断掉了,整个链条并没有形成一个真实的一个呃传播链条,所以这种问题我们能识别到,会把它放入到我们叫提示性风险,这种风险的话,相当于大家可以认为它就是一个置信度比较低的一种漏洞,可以直接进行忽略。当然以防万一,也可以在人工做二次的审计,但是整个防控识别的能力也是我们整个平台引擎一直存在的,也是我们去认为是一个比较能体现我们检测能力的一部分。上面是介绍了我们整个的一个语言特性的支持的能力,下面是说我们其实整个叉叉产品也是能够支持对啊,漏洞未知漏洞零类的这种挖掘的,因为我们作为一个源代码扫描的产品,我们会定期的去检测啊get就是外网开源的项目的源代码。
60:01
那经过我们就是日常的一个检测性源码,我们其实发现啊,就是整个的这个叉是完全具备这种挖掘未知漏洞的能力的啊,截止到目前为止,我们应该已经有数百个全新的漏洞通过这个工具自动化的检测出来了,然后这因为这里面有一些就是相关的一个披露的一个规则,包括相关的一个当前的规范,这里面是展示了啊,很早之前我们已经公开披露过的一部分的漏洞,当然这里面重点呢,也不是来说我们能啊,就是具体的漏洞的内容,更多的是来跟大家介绍说整个产品是具备未知漏洞挖掘能力的,这也是我们作为一个基于污点追踪引擎的一个特色和特点。这是整个产品的呃呃,另外一个亮点,呃,后面来说一下整个产品的一个接入方式和使用的一个场景。目前来看整个产品我们主要的使用场景有三类,第一类是我们把整个插作为一个流水线的一个自动化插件,集成到cicd里面,每次有任务出发的时候,我们可以进行一个默认的一个扫描,然后也可以把我们扫描结果和咱们的质量,门禁的功能进行一个打通,形成一个自动化的S的一个管理。
61:07
第二个使用场景呢,是说我作为一个代码扫描平台,和我们的代码仓库,K的仓库,SN仓库进行一个对接,那么实现对于公司的代码的一个全量的,定时的,定期的一个检测,这是我们的第二个被动扫描的一个方案。第三种就是说我们也可以通过本地扫描的方式来解决,这是一个更传统的用法,咱们应用上线之前,可以把代码压缩包给到安全团队,然后上上传到我们平台进行一个整体的一个检测。目前整个产品对于整个第三方平台的集成和这种对接也是我们的一个很大的一个优势和亮点。以上是我,呃第二部分对于产品的整体的一个,嗯。架构啊,原理啊,特色优势以及亮点做了一个介绍,最后呢,跟大家来看一下我们整个工具这个产品的一个呃,体验的一个方式的一个介绍,目前我们全新的商业化版本的叉,目前是啊有萨斯版面向个人用户的一个体验环境,也有一个我们面向企业用户的一个私有化PC的一个解决方案,个人用户可以直接登录点点。com来进行一个呃直接的登录,那么萨版的这个是一个呃,租户的普通用户的一个用户权限,咱们能够去上传。
62:22
代码,然后去获取检测的结果,但是可能不太,因为是SaaS环境嘛,我们没有办法以用户管这个整个安全管理员的身份进行相应的系统设置和相应的配置,所以这个环境呢,更多的是面向个人用户来进行一个检测,大家在整个测试的环境当中,呃,遇到什么问题可以添加我们的技术支持的同事的企微,然后我们进行相关的这个沟通,也欢迎大家去反馈误报漏报来提出整个产品使用的建议。针对我们这些企业客户,因为其实咱们作为一个源代码扫描产品,SS版肯定是一个比较局限的,因为很多的啊,真实的这种源码,大家也不是很方便的去传到这种啊,外网可能是这个情况,所以大家对私有化的需求可能更大。
63:04
那么整个叉的产品,我们在私有化层面,整个产品的部署实施安装是一个非常简单的,所以目前我们啊,针对私有化的客户,大家有体验的需求,可以去啊,扫描我们的二维码来添加扫描检测我我们的这个测试的问卷链接,填写我们一些基础的企业的信息,以及我们当前的一些语言的情况啊,包括一些对于P方一些情况啊,简易的一些选填好之后我们的技术的事,同样的我们行线上的一个部署实施的一个指导,然而会通过一个授权的那个license来进行整个产品的这个授权的一个管理。企业客户也是可以同样先添加我们支持人的企业微信,然后再去填写我们的二维码,然后再去呃与我们线上直接沟通,获取我们的安装包,我们来远程的支持大家去完成整个产品的测试,这个是我们整个产品的一个体验的一个方式。
64:01
好,我的这个关于第一款产品的一个整体的介绍就到这里了,谢谢各位的那个聆听,大家有什么问题也可以随时我们在那个添加好友之后,我们在群里或者咱们线上进行沟通。好,主持人可以,嗯。谢谢天勇的精彩分享啊,那个借着天勇的这个话,我们再提醒一下这个我们呃,就是直播间的这样的一些小伙伴们,呃,可以添加我们屏幕呃下方的这个二维码进群呃去讨论,包括获取后续的一些呃免费试用的这样的一些安装包,那第二个呢,就是如果大家对呃今天分享的内容有疑问的,可以留言我们在所有嘉宾分享完之后呢,我们会逐一解答大家的这个问题。那刚刚其实呃,天勇对价,也就是我们白河这个产品的介绍,其实就是浓缩成三个特点,一就是技术架构新,那第二个呢,要检测速度快,那第三个呢,呃,就是我们的雾报低,那这其实也是希望能够通过这三个点能解决在传统的白河的这样的一个领域,大家一直受到困扰的这样的一些问题。
65:12
那接下来的这位嘉宾呢,是来自我们呃,腾讯非常有名的这个科恩实验室,科恩实验室的这个产品运营专家,那我们的这个赵红阳赵老师,那他将会给大家带来的是我们的另一款新产品,呃是针对这个sca这个场景里面的二进制扫描的这样的一款产品,那大家都知道科恩呢是呃在整个攻防领域非常知名的这个团队,那加入腾讯之后呢,其实也在整个呃就是安全圈呃取得过非常多的这样的一些国际性的,国内的一些大的这样的一些奖项。那其实整个团队的能力是非常的突出,那也是基于过去科恩团队在整个车联网领域,呃,我们有非常时间非常长的这样的一个深根,那基于车联网非常复杂的固件扫描的场景,最终呢,我们呃浓缩沉淀出的这样的一款产品,也是希望用这款产品能够解决更多大家在面对呃软件供应链安全过程当中碰到的这样的一些问题。
66:17
那所以接下来呢,我们就把时间交给呃赵红阳赵老师,请他来给我们讲讲这款产品的啊,最新的这样的一些特点。和能力。喂,哎,那个感谢杜建老师啊,我是各位观众大家好,呃,我是腾讯安全科恩实验室的赵红阳啊,下面由我来给大家介带来腾讯二零制软件成文分析产品的介绍,呃,刚才朱建老师啊,有提到我们产品的一个背景啊,我再啰嗦两句,其实科研实验室呢,在此之前的话,可能为大家所熟知的就是车在车联网安全取得了一系列一系列的成果啊,之前的话我们呃,针对于车智能网联汽车车机安全检测去开发的这样一个检测工具,后面我们认为啊,在车机这样一个复杂的环境呢,这个工具呢,就能进行检测,那么它完全可以扩展到我们传统的开发场景里面啊,因此呢,我们推出了这样一款二零制软件成分检二二进制软件成分分析的工具,当然的话,由由于呢,它的检测对象呢是安全制品,那么因此呢,我们也叫它制品扫描平台。
67:27
嗯,简单呢,我来介绍一下这个产品的一个背景和检测的问题,嗯,在开发过程中呢,其实体验的话,其实原来的话更加重视源代码的一个安全检测。但随着开源组件的一个广泛使用和软件供应链链条的一个复杂化,呃针对于软件制品的安全检测管理啊,也就是说对于呃代码编译后的最终产物的一个检测和管理也越来越变得更加重要啊,也逐渐成为开发安全的一个重要的一个建设内容。嗯,在软件制品的呃晋级呃分发、生产发布等流转的这样一个过程中啊,我们可以通过制品扫描建立制品流转过程中的一个安全质量门禁啊,通过自品扫描,然后呃确保呢最终的发布的软件或制品的不会带病上线。
68:20
嗯,那么对于软件制频本身而言呢,它会存在哪些问题?呃,我们认为呢,第一类最大的问题的话,主要是开源组件带来的风险,那么开源组件的广泛使用呢,一方面呃,提升了开发的效率,降低了开发的成本啊,另一方面其实也给呃我们带来很多安全性的问题。嗯,第一类呢,主要就是漏洞问题,那么开源组件出现漏洞啊,大家已经屡见不鲜了,那么最近呃最呃,最近几年,比如说像去年的logz to这样的一个漏洞,当然核核弹级的漏洞频发,其实它影响了整个供应链的下游环节,也给我们的很多客户啊带来了非常大的风险。
69:05
呃,除了漏洞之外呢,开源组件其实也并不是我们完全可以任意使用,免费使用,呃,其实开源组件的license里面的会规范了一个使用的要求,但是很多开发者呢,他并没有完全按照开源组件license的要求进行使用,这样的话就会很带来很多的知识产权上的风险。嗯,除了这两类问题以外呢,还有一类是大家比较容易忽视的问题,就是软件制品的话,很多情况下会携带很多敏感信息,比如说云上的API token啊,还还有一些本地的密钥啊,这些信息的话,可能会通过呃制品的发布,呃,然后呢,造成的一个敏感信息的泄露。然后呢,而且呢,这部分的数据的话,具有比较明确的明显的一个特征,很容易被攻击者从制品当中获取并利用啊,给企业带来比较大的损失,像这些年我们发现有很多的安全问题,或者数最终的一个数据泄露问题啊,都是由于这些咨询当中还有一些敏感信息泄露而引起的。
70:07
呃,那么其实我们发现就目前大部分的企业其实并没有形成一套比较完整的开源治理规范,呃对于开源组建的呃缺乏有效的技术手段来进行管理,呃因此呢,我们很多客户呢,也不了解它具体使哪些软件里面使用了哪些开源组件,然后开源组件呢有哪些的风险,然后呢,也不知道呃怎样安全的使用开源组件,那么是不是除了开源的问题以外,软件那个软件本身是不是还有存在一些敏感信息泄露的风险这些东西呢?因为没有技术手段,也没有管理手段的帮助他,呃来支持呃达到这样一个目的。呃,因此呢,就是软件成分分析的这种技术就应运而生啊,我们可以呃简单的认为,软件成分分析顾名思义呢,实际上就是对软件的一个组成的部分来进行识别,对它的价结构进行分析的这样的一个技术,那么我们可以通过它来呃去分析找到软件的那个呃组件的版本信息,那个数据信息,然后呢,再通过漏洞库。
71:14
呃,然后呢,找到第三方组件对应的版本的漏洞风险,我们可以认为呢,Sca,呃,那个第三方组件就是,呃,就是一个软件的组成成分,我们呢,就是通过SSC找到它的有害成分,当然的话,它因为它不是一个直接发现漏洞的一个技术,它更多是先找到第三方组件,通过漏洞库啊,再去发现漏洞,还有一些他的许可证信息啊,算是一种间接的检测方式。但是呢,由于呢,它能够对制品的安全呢,能够起到一个扫描和检测的效果,所以说我们认为SC已经成为了一种安全合规,风险管控,还有安全态势感知里面必不可少的一项能力。然后呢,下面我介绍一下SC的一个技术流派,嗯,其实在领域的话,根据检测的对象和阶段不同,其实我们可以把它简单的分为二进制FC和源码C。
72:06
呃,相对于而言的话,其实因为源码SC的话,因为它检测对象呢是源代码,所以说呢,它的检测,呃,源代码作为一个高级语言,它的检测它的那个高可性比较强,而且呢,测的难度相对来说比较低啊,我们发现其实目前市场上主要的的产品还是以码。嗯,但是呢,由于我们只能够对于源码来进行检测,所以说源码呢,天然上存在一个很大的短板,就是说比如说针对于开源组件的间接引用啊,对于检测,呃,绕过比如说在编译过程中引入的一些依赖文件条件变量等啊,还有一些非代码的一些文件引入啊,这些内容的话,在源码阶段是没办法进行检测的。同时呢,还有一些呃,没有代码的情况,比如说我们供应我们的供应商,我们的上游提供的软件,他们没办法给我们提供源代码,这种情况下我们也没办法进行检测啊,或者说由于我们本身公司数据安全的要求,我们没办法对源码进行检测,这种情况下都会成为一个源码C的一个瓶颈。
73:11
但是二进制SC的话,它的检测对象的话是二进制文件,呃相对来说呢,它的检测因为检测的是机器语言,它的检测难度会更高,但是一旦我们解决了21SC的一个算法的问题,对它进行一个优化以后,它的检测的准确性呢,实际上是可以呃接近或者说达到源码SC的一个检测的准确的水平的,呃同时呢,由于由于二制检测的是开发的产物。那么对于那些源码没办法覆盖的问题的话,比如说间接引用。啊,检测绕过它都可以进行检测,而且在刚才提到的,比如说的一些供应链安全的一些场景啊,我们没办法获得源代码,这种情况下就可以用二零制SC来进行检测啊发它其中的风险,当然的话,通过二零的sa也可以规避一些源码的的本身携带的一些数据安全性的一些问题。
74:04
嗯,啊说说了这么多,下面的话我简单呃对我们的一个产品情况进行一个介绍,嗯,其实基于我们在就科研实验室在软件安全研究和算法上的一个多年的沉淀,我们腾讯安全和科实验室我们推出了BC20软件成分分析分子那个成分分析的这样一套系统,呃,它一方面的话,它能够在呃呃传统SC能够检测的,比如说像开源组件漏洞啊,License等能力啊,同时呢,我们也能够检测,比如说内核漏洞,敏感信息编器选项等。啊,这部分的能力的话,我们也大大扩充了SC的一个检测内容,同时呢,BSC的话,我们认为它不单单是一个检测工具啊,同时呢,我们可以提供一个完善的或者一个可查询的科研组件知识库。同时呢,我们也与供应链安全紧密结合啊,提供了一个STEM软件物料清单管理的功能啊,形成了一个围绕软件制品的这样一个风险查询,风风险呃检测,风险信息管理的这样一个平台。
75:13
嗯,由于刚才我所说的BSC的这样一个呃全面的能力,所以说我们认为这个平台的使用对象呢,不仅仅局限在安全测试人员啊,然后呢,我们一方面呢,这个平台可以向左提供呃知识库一个能力,那么开发人员可以在开发阶段就查询他所使用的开源组件是否安全,哪个版本是安全的,那么在知识产权上有没有一些特殊的使用规范和要求?啊,因此呢,在开发阶段就可以帮助开发者规避非常多的问题,那么向右的话,我们认为啊,我们可以通过软件物料清单功能啊,帮助安全运维人员实现一个全量的软件资产的一个管理。那么为安全运维人员呢,提供一个最新的软件安全信息啊,持续呢监控一个监控软件安全的情况啊,对于已上线的一些软件啊,一旦出现最新的一些漏洞和风险,我们可以快速的定位问题,找到问题,找到有问题的软件,然后实现一个快速预警的效果,呃,下面呢,再介绍一下这个平台的一个呃使用其实整体来说呢,这样一个平台的话,使用起来非常简单啊,首先呢,作为一个检测类的工具,我们也不需要非常的参数配置。
76:26
嗯,然后呢,可以实现,呃,我们从开发团队或者从我们的供应商获取制品文件,然后呢,一键上传呢,就可以实现一个呃,就可直接检测。那么呢,我们平台支持通过API或者通过插件的方式与ACD进行打通啊,然后呢,与理仓库进行对接。呃,实现了一个对制品的一个自动化的拉取和自动化的一个检测,那么接下来的话就是会对制品进行一个解剖解析,然后呢,进行进一步的成分分析,最终生成检测报告,然后呢,帮助我们去做问题的一个整改。
77:04
嗯,因此的话,这个平台产品的话,我们认为呢,可以应用于我们自研的软件,呃,安全场景,呃,另一方面的话,也可以应用于啊上游为供上游供应链呃软件的检测的一个工具,那么起到对供应供应商提供的软件进为一个准入检测。呃,因此的话,我们认为啊,这个产这个产品这个开发安全局,呃合供应阳老师,抱歉抱歉打断你一下,你那个麦克风,呃,调整一下是不是用的麦克风有杂音哦,好的好的好的,哎,对你可能保持一下那个位置。对,OK。好的好的,那现在可以了,谢谢,嗯。对,好的,呃,因此呢,这个产品的话,我们认为它有以下的一些,呃,主要的使用场景,一方面的话,可能大家最直直接或者最关注的就是一些热热点问题的一个应应急检查,我们在去年老夫队包发以后啊,然后呢,我们给客户呢提供了这样一个紧急的一个线上检测平台,在很多客户的话,不知道自己有没有log夫对这样一个漏洞,然后呢,他把这个制品呢上传到我们平台进行一个检测啊,然后呢,这个平台当时呢,也获得了很多客户的一个好评。
78:17
呃,针对一些呃开发商或者一些产品制造商,那么这个工具的话,其实我们认为啊,可以作为啊软件或者固件上线前的一个检测工具啊,可以保障我们的产品不会带病上线。呃,同时呢,我们认为呢,基于他STEM或者说软件物料清单的这样一个特性,然后呢,我们可以帮助企业完成资产管理啊,形成一个更全面的一个资产管理的一个维度。呃,同时呢,在开发安全方面呢,我们认为它在开源治理过程中,也可以作为企业一个开源治理的啊一个重要的工具。那么对于正在建设或者准备建设制品仓库的,呃客户,那么制品扫描的话,其实也可以作为制品仓库建设的一个重要组成部分。
79:05
下面的话我来介绍一下啊,这个产品的一些呃,技术特点。其实呃由于开发场景的不同啊,呃像之前我提到过,我们最早呢,是应用于智能网联汽车车机固件的一个检测啊,其实除了这种开发以外,开发的产品以外呢,其实很多客户可能会涉及到呃移动端嵌入式后台开发或者原生原生开发各类的开发场景,因为由于各各类开发场景的不同呢,那么输出的制品格式呢,各种各样,其实呢也给呃二零的sca带来了比较大的一个检测难度,那么传统的SSC工具的话,很多情况下只能检测一种或者说机器呃制品格式对于一些冷门的或者说一些不常见制品格式呢,基本上没有检测能力,但是BC的话啊,依靠于我们强大的一个解析引擎,我们可以识别解呃,并解包常见的视频格式啊,比如说刀刻镜像,固件镜像啊,磁盘镜像等。
80:00
呃,针对于一些位置的二进制文件格式,我们也可以通过我们叫启发式的一种解析啊,便利识别出我们所有可以识别的数据片段来进行解剖还原啊,实现最大程度的分析,这这种情这种解析能力的话,也大大提升了我们产品的检测的一个覆盖度,以及和场景规模。呃,解析以后的话,然后就会进行,呃,第二步就是我们说的分析,那么分析引擎的话,我们这个产品的话,最核心的就是二零制软件成为分析的这样一个检测引擎,那么这种引擎的话,我们可以针对于Java,针对于C和C加加或者其他的各类语言,可以在没有描述文件的情况下进行分析啊,然后检测出它具体的软件的具体的成分。那同时的话,我们还引入了一些呃,可能其他友商比较常用的一些分析手段,比如说像依赖文件分析,文件哈希分析啊和结构特征分析等算法啊,其实所以说我们是融合了更多的一个呃分析能力来提升,全面提升它的一个检测的一个精度。
81:04
呃,同时呢,呃,我们在开发过程中,有时候呢,会为了支持不同的CPU或者系统架构啊,同样的源代码编译以后啊,可能会生成的2014文件可能会存在非常大的不同,那么我们通过我们自己强大的一个SSC的一个分析能力,还有一个多样的一个分析算法的一个补充啊,然后呢,我们产品。可以支持各类CPU架构系统架构下的制品进行分析啊,同时呢,一个保证一个非常高的一个准确率。呃,然后呢,当我们找到第三方组件以后,那么下一步呢,我们就是通过我们的资质库,或者说我们的漏洞库,找到组件对应的它所存在的漏洞信息,还有license信息,那么对比国内外一些开源的或者说一些公开的漏洞库,那么腾讯安全我们自己维护了一套专业的开源组件漏洞库。嗯,我们实现了一个开源组件和漏洞信息的一个快速梳理和同步,那么通过一个呃我们呃腾讯安全专家的人工的对于漏洞信息的一些翻译啊,运营和校验啊,我们一方面的话,保障了呃数据库的一个准确性和保障的一个数据量的一个呃数据库的数量,呃同时呢也保证了一个数据库的更新频率,我们最快的话可以实现呃两小时内完成了一个数据的呃最新的漏洞的更新,然后呢,我们这也积累了最常见的10万家的呃第三方库的信息,呃然后呢同时呢能够给呃同时呢这个产品的话,本身是可以作为一个查询工具的,那么呃开源我们的开发者呢,可以呃直接输入的信息或者组件的信息来进行查询。
82:42
啊,然后呢,我们提供漏洞的全面的一个漏洞评和修复建议啊,方便开发者在开发阶段规避这些安全风险。嗯,然后呢,对于检测过的软件的话,其实我们平台的话,会对进对检测过的数据进行管理,并形成一个软件物料清单,也就是我们所说的SPA,那么同时呢,我们也支持这个数据呢,与我们的offices系统啊进行呃全面的数据打通,把我们所我们软件物料清单里面的资产信息同步到我们统一的呃资产信息里面,然后呢,相当于我们给我们的呃呃软件资产管理啊增加了一个全新的维度,就是它的一个第三方组件信息,它的敏感数据信息,这些都是一个新增的资产维度。
83:29
啊,另一方面的话,我们也,我们一旦开源组件呢,形成了呃,出现了最新的漏洞以后,我们这些最新的漏洞信息呢,也可以同步,第一时间同步至更新后的软件物料清单资产信息中,然后呢,给我们的运维人员进行预警啊,实现一个风险的快速排查和定位啊解决了漏洞的出现以后,我受影响了吗?然后以至于我在哪里受影响的这样一个呃,非常扎心的一个问题。呃,最后的话,我来介绍一下我们这个呃,产品的形态啊,以及大概的一个呃,如何进行使用和体验。
84:05
呃,其实由于呢,我们的整体的这个产品呢,啊,因为不需要依赖于原码,呃产品呢简单应用呃我们推出了SAS化版本,呃私有同时呢也推出了私有化版本,那么用户呢,可以根据呃使用量,使用频率呃以及开发环境的一些限限制和要求,选择一个合适的一个形态,当然由于制品扫描的话,本身是和制品仓库啊有一个强关联的性的属性,所以说我们和coding诶联合推出了这样一个安全制品仓库,那么实现了制品扫描和制品仓库的一个无缝的集成。呃,这部分呢,具体内容的话,我们待会儿coding的同事呢,会进行进一步的介绍,我就不展开进行介绍了。呃,除此之外的话,其实我们也提供了一个独立的呃,SaaS化版本的开源组件资识库,呃,订阅服务,那么即使我们的用户不使用腾讯的检测平台,那么客户呢,也可以单独使用我们的知识库啊,了解更新和维护,以及查询最新的呃呃开源组件的一些安全数据。
85:08
呃,最后呢,其实为了方便呃大家体验产品的功能和效果,呃,我们对目前的使用的软件,呃,这对现有使用的软件进行一个安全的体检,呃我们SAS化版本呢,为每一个拥有腾讯云账号的客户呢,提供了300兆的一个免费检测额度,那么如果有的,如果说我们需要我们的检测的制品呢,本身可能它的一个呃体积比较大啊,或者说它的那个用用量比较大,这种情况下的话,我们可以扫描登记左边的二维码,进行一个更深入的产品体验啊,有我们给大家带来一个更更多的一个试用的一个权限,那么今天的BSC的这样一个产品介绍就到这,然后感谢大家的观看。好的,谢谢洪阳老师。谢谢大家的精彩分享啊,就是大家都知道呃,我们腾讯一贯的这个呃做法,其实都是从最佳实践里面,我们去沉淀我们的这个产品能力,所以大家也可以看出来啊,通过科恩实验室的这个专家团队的这样的一个积累,我们现在在S这个领域已经具备了比较先进的这样的一个产品能力,那今天这个发布呢,也是希望能够把这个能力带给更多的啊,这样的一些客户能够去体验去使用。
86:29
那呃其实呃之前的几位老师在呃分享过程当中都呃或多或少的提到了这个咱们整个day OPS这样的一个平台,Coding,大家都知道Dis它是基于Dis的这样的一个眼镜,呃把安全呃放到了整个的这个开发测试运维的到一体化平台里面去,那这个底座其实就是整个呃目目前我们可以看到To B的企业越来越多的去做这样的一个呃叫敏捷的式这个开发这样的一个改造,那cody呢,其实也是腾讯自研的一款非常呃强大的产品,叫一站式软件研发管理平台,那最近呢,呃刚刚也是非常荣幸的呃登到了这个IDC2022的这样Dis的一个平台的榜单的叫领导者象限的位置。
87:21
大家知道像IDC啊,Garden的这样的一些权威的机构,每年都会对啊细分领域的这样的一些产品去做相应的这个排名,那领导者向前,领导者位置就是其中最综合的,最强大的这样的一个,呃背书,所以说呢啊整个coding目前也是得到了外界的非常好的一个认可,经过过去几年的这样的一个打磨,不仅是在腾讯自己的这样的一个开发环境,开发流水线上得到了一个非常好的这个证明,那同时呢,也得到了很多的客户的认可。所以接下来呢,也非常荣幸的,那邀请到我们coding团队的高级的这样的一个架构师啊何文强,何老师呢,会给大家带来更多关于coding背后的这样的一些能力的拆解,那有请何老师。
88:11
好的,朱静老师。今天我给大家带来的分享的是coding的一个实践。本次分享呢,主要呢,分为四个主题,分别是coding的简介,Coding简介,还有codingor,还有Coca。首先我们看一下什么是一站式dev沃,我相信沃大家都听过了很多,并且呢对这些概念,或者对于它的一个流程以及它的工具呢,都有多多少少一些了解。在这里我们定义DEMO沃是能够在单一平台实现从需求到部署的一个高频、顺畅、高质量的价值交付,并且能够实现从企业战略到业务目标再到技术实现的立体协同和企业及反馈。从狭义的divorce来看,是从代码开发、代码托管、持域集成到制品库,然后到我们的程序发布,这是一个狭义的。对于相对广义的一个德沃,是从我们的需求到我们的规划到分析设计,然后一直到我们的产品上线。随着德沃的一个规模的不断的扩大,以及它影响力的不断的扩展,沃已经延伸到业务领域,形成了B沃。即从我们的业务目标一直到。
89:32
我们的业务改进实现了业务技术的一个以及商业的一个反馈闭环,这就是我们定义的一站式。那么对于一站式沃coding。为了满足。大家对德沃S的一个一站式的需求,那么我们会面向不同的角色,如研发总监、业务部门的一些业务人员、项目经理,然后设计师、开发团队、测试团队、运维团队和安全团队的人员。面对不同的角色,我们提供了不同的能力和工具以及流程。其中我们提供了像项目管理、研发协同、持续集成、流水线制品库、测试管理、持续部署,还有运维管理一整套能力。
90:14
那么具体来看呢,扣顶呢,主要呢是能够提供项目协同上能够提供敏捷和瀑布两种方式,向效能度量上能够从交付能力,交付质量以及交付成本、交付效率等维度呢,给出了一个系统的度量体系,文档方面支持vki API文档等能力,云端IDE能够支持class studio,然我们也给出了研发规范以及自研的支持GIXVN的代码托管的一个能力,然后这里面也涉及到与安全相关的一些能力,包括代码扫描及我们的check的一个能力,以及我们的制品扫描BSCA的一个能力,除了这些能力之外,我们还有。持续集成制品仓库持续部署和测试管理等能力。
91:02
那么我们通过一个端端的交付流程,可以了解简单了解一下coding整个产品,Coding这个产品比较大,比较复杂,那功能呢也比较丰富,也如刚刚我们的朱建老师所说的,也获得了IDC的能魔力下线的领导者下线这样一个能力,那么我们可以看到一般而言,我们会从业务需求coding提供OKR的一个能力,我们可以将业务目标转化成业务需求侧面,把它分解为产品需求,分解为产品需求之后,我们会进入到我们的开发,再把它进一步分解为我们的开发任务,然后呢,再经过我们的开发,会把代码提交到代码仓库,就当我们把代码提交到代码仓库之后呢,会触发我们的流程,持会触发我们的持续集成的一个流程,在这个过程中,我们也可以去触发我们的一个代码扫描的一个能力,去check能力,可以做到安全能力的一个内建,当扫描,当我们的数据集成满足我们流水线的要求以及安全门禁的要求之后,会把它上传到制品库,然后进行我们的二进制制品的一个扫描上传。
92:02
二级制品满足我们的安全要求之后,我们就可以进入到部署阶段,也可以把它发布到主机,或者发布到我们的K8,如t ke这样的一个集群的一个平台进行一个部署。除此之外,我们还提供了其他一些额外的一些能力,包括围绕着软件资产,还有软件生命周期。这个能力的概念,建设起来的一些文档管理、知识管理、度量平台等能力。好,我们简单的了解了coding coding的一个能力之后,我们再看一下coding与的一个。联系,首先我们知道是由二两千零九年。正式。给大家所熟知的这个时候呢,一我们的安全仍然是游离于我们的整个it部门之外的,也就是说开发和运维他们实现了一体化,打破了组织的参统,然后来实现了一个密切高效的一个协作,但是我们的安全人员仍然是属于我们安全整个it团队的独立的一环,因此在2012年戛纳提出了。
93:09
那么就要求我们把安全跟我们的开发和运维一样,也将它融入到我们整个研发流程里面,然后实现安全的内建,就形成了我们的dev。那具体怎么形成呢?就是呃,首先我们的在我们的传统的一个开发模式下面,我们的安全是由安全的团队在我们的一个后置的一个阶段独立进行的,那么当我们发现问题的时间以及修复的成本都会比较高昂,因效率也比较低下,因此我们需要将安全融入进来,在安全扫描把它融入进后之后,我们会在每一个开发中都能够看到有我们安全扫描的一些能力,这里面就包括我们的check能力和我们SBS。SBCA的一个能力和b sca的一个能力,那么在这个能力融入之后,会发现我们的扫描的这个速度变快了,同时我们解决问题的速度也变快了,成本变低了,我们开发了程序更加安全高效,并且能够更加的去满足企业的一个商业化的一个价值的诉求。
94:19
对于安全,近年来我们常常听到的一个词叫软件供应供应链安全的一个一个词,那特别是在2020年,我们发现了一系列的一些软件供应链的安全的事件,与软件供应链的一个安全呢,开始被大家所熟知,然后这张图代表的是由新通院发发布的一个2021年的一个软件供应链的一个安全模型,从模型上我们可以看到。对于我们应用而言,我们首先需要去保障我们自己的开发的一个代码的一个安全,对于这里面我们形成了软件开发安全的一个生命周期,同时对于我们非源代码,也就也就是说我们大部分的有接近2/3的代码都属于第三方软件,包括商用的开源的免费软件也要纳入到我们的安全管理的一个模型。因此我们需要将供应链的一些软件,第三方的一些软件也纳入到我们的安全管理模型中。
95:18
在这样的一个背景下,那么我们就需要从我们的源代码,以及我们的依赖的第三方库,还有供应链的一些能力,那么我们都需要进行一个集中的管理。这是我们做基于但CS一个应用生命周期的一个管理,从这里面我们从SDLC发展为我们的从我们的系统开发生命周期发展为我们的安全系统开发生命周期,可以看到我们从需求架构、开发测试都提出了不同的一个安全的要求,那这里面我们重点会介绍开发安全,那么在开发安全里面最重要的两个就是我们的SST的白盒测试,也就是我们叉check的一个能力,以及我们第三方安全扫描的一个能力,借我们的BSCA的一个能力。
96:07
对于coding,对于呢,我们是有自己的一个思考的。首先我们的安全是属于我们整个开发步骤的一部分,因为我们已经将安全内建于我们的divorce流程中,因此我们会围绕着价值去交付,那么我们以价值来创建我们的价值流,然后在我们价值流里面,我们会由我们的研发工作流,如我们会从我们的编码,然后编译构建开发测试、提升测试、验收测试,然后一直到我们的应用发布,直到运行监控,产生我们的一个业务收益,然后呢,再进行我们持续的一个迭代和反馈。那在这个过程中,安全作为我们重要的一环,因为我们已经采用了de cost的一个能力,因此我们需要将安全内嵌于我们的整个流程里面。那么我们在不同的开发阶段需要将我们不同的安全的能力集成进来,例如我们可以在编译构建中可以进行我们的一个SST以及SSC的一个扫描,那么在我们测试中,我们可以进行一个灰盒和黑盒的一个测试。同时也可以进。
97:07
进行我们一个制品的一个扫描的一个能力,那如果到我们上线之后,我们可以进行一个RP和B的一个安全能力的一个建设和防护。了解了coding一个价值流之后,我们看一下coding核心的一个能力,核心能力呢,就是由刚刚前面的老师介绍的提供的他check和BSCA这两大产品能力组成,那么这大产品能力呢,能够很好的实现安全的主一,因为在coding里面我们能够将静态代码扫描和制品扫描,借他check和SBAC这两个能力嵌入到我们的研发流程当中,然后将我们的修复的成本能够降到最低,所以从图中我们可以看到,在我们的开发过程中,我们有我们的安全扫描,也有我们的制品扫描,能够实现代码和制品的一个扫描的能力,那么接下来重点就介绍一下。
98:03
在coding上的一个的一个实践。首先我们可以看到他呢,呃,能够提供多达15种语言的一个规则包,也就是说他几乎能够支持我们所有的主流的一些语言,并且提供了非常丰富的一些规则包的一些能力,并且用户可以呢自定义的一个规则包去满足企业的一个多样化的一个安全的一个需求。这里面我们可以看到,在我们的叉里面,我们提供了从敏感信息啊,外部开源啊,权限啊,包括OSO里面的,呃,前十种安全的一些威胁的一些漏洞,那么在这通过查都能够精准快速的一个扫描,并且我们可以看到在这个安全规则包里面,我们支持多达6000多个规则,那么这些规则我们可以自由的组合,去满足我们不同语言,不同成熟度,或者不同行业,甚至是不同的一个团队能力的一个要求。
99:06
第二个是我们可以在他check里面去设置质量门禁,这些能力都是跟coding的整个产品的无缝的集成的,用户呢,不不需要额外的一个学习的成本和认知的一个成本,那么在我们的一个质量门禁上呢,我们是支持质量门禁的一个开启,并且门禁指标的一个设置,门禁指标呢,我们可以呢添加多种指标,例如我们可以设置致命问题,错误问题,警告问题,提示问题等,那么当我们设置了这些问题之后,我们还可以设置我们的一个门,门禁的一个阈值,当我们的门禁不满足要求的时候,那么这个流程就会失败,就可以保确保我们的代码能够满足安全的要求,才能够进入到下一流程,从而在源头上保障了我们的安全。除此之外,我们需要能够在尽早的发现问题的同时,能够尽早的能够感知到以及能够处理,因此我们要需要去建立起一条反馈回路,如果我们建立起反馈回路越短,那么我们解决问题的时机越早,以及解决问题的速度会越快,成本也会越低。因此我们会在这个门禁这里面,我们可以去设置我们的一个执行的一个通知,那当我们扫描不满足我们一个门禁的一个要求的时候,那么我们就可以及时的通知到对应的负责人,这样呢就能够及时感知到代码的一个安全的一个态势,去提升我们发现问题和修复问题的一个速度,要持续去改善安全的一个约束点。
100:43
我们了解了这些能力之后,我们看一下在执行的过程中,我们是可以能够详细的看到扫描了整个过程以及它的步骤的,当然我们也可以看查看到整个过程的详细的日志,当扫描结束之后,我们可以看到扫描的一个详细的一个结果,包括从质量到安全的一些能力,以及我们整体的一个代码的一个能力,我们都是可以看得到的。
101:11
我们说到它既然安全这么重要,以及它嵌入到我们整个流程里面形成了,那么意味着我们对于安全的一个问题的一个解决,那就必须要能够快速,那么想要快速的解决问题,首先就是要定位问题,那么在定义问题方面,他check这里面呢,它提供了一个深度的一个定位问题的一个能力,然后呢,能够快速的呢,对问题呢,进行一个定位,直接定位到源码,并且给出了一个具体的一些修复的一些建议,并且我们也提供了一些中文的一些一些事宜,这样呢,能够友好的去满足我们,呃,国内的一些开发者,对于。我们一个语言友好的一个能力。我们除了能够在代码上去集成我们叉之外呢,还有重重要的一点,特别是在我们的sca里面提出的环境流水线的概念之后呢,我们需要将安全能力内嵌于我们的拍line里面,那么内嵌在拍line里面呢,我们可以看到头顶的呢,能够提供check的一个流水线的一个插件,这个插件是开箱即用的一个能力,也就是说用户不需要任何的学习成本,然后就可以呢,通过点击鼠标的方式即可以接入我们的一个插check的一个插件的一个能力,并在插件上可以去设置我们的。
102:32
门禁的一个阈值,还有门禁的指标设置完之后,我们可以呢设置,当门禁不通过的时候,我们可以终止构建,意味着我们的流水线失败,那么我们的代码有安全问题的代码就不能够合并到我,或者说不能够集成到我们的代码的分支上,当失败之后,我们也会将失败信息在这里显示,也可以看到我们的整个流程它是构建失败的,终止的,那么也就是能够进一步的以自动化的方式去确保我们的代码是满足安全要求的。
103:08
同时我们能够从管理的角度来看,我们能够看到所有的扫描任务的一个列表,以及列表里面关于安全的一个详细的信息,当我们设置的质量门禁之后,我们就能看到每一次执行的一个任务的一个状态的这个门禁质量,它的一个状态是通过还是不通过,同时也能够看到我们的一些质量分,还有一些对应的问题,一些概览,当我们点击这些问题的概览的时候呢,我们就能够跳到详细的问题的详情页,以及对这个问题呢进行快速的定位溯源,并且根据修复建议呢进行快速的修复,这样呢就实现呢将安全的修复成本。降到最低,将安全的源头保障提到最前。好,了解了我们关于在顶上的一个实践之后呢,接下来我们了解一下BSCA在coding course上的一个实践。
104:04
首先我们看一下制品库的一个位置。制品是当前软件现代软件工程领域里面非常重要的一个核心资产,它和我们代码一样,是我们软件核心资产的两大核心资产之一,如果一个企业它没有一个一个企业的软件没有制品的话,就如同仓,就如同工厂没有仓库是一样的,因此制品在这里面起起到一个承上启下的一个非常重要和核心的一个作用,那么制品它是处在从我们的源码,然后呢编译构建满足我们的一个check的一个能力之后。然后呢,我们会把它打成我们的制品,然后生成制品之后,我们会把制品进一步会把它分发到我们指定的环境,然后呢,也就是我们的部署包,那么这个过程中我们的制品库是支持BSCA的,也就是我们制品扫描的能力的,那么我们可以通过扫描的能力呢,也会去发现一些漏洞,并且呢可以得到一些结果,然后呢,如果有问题,我们可以禁止使用这些不合格的一些制品,然后呢,避免不合格的内容,或者说带病上线的。
105:10
部署包进入到下一个环节,给企业带来一些损失。那么coding制品仓库呢,是能够支持多达11种常见类型的制品的,这里面就包括多制品,Ma制品,M制品,还有一些二进制的一个制品,还有Python的一些制品等。那么在这些制品里面,我们提供一个灵活的一个版本的一个覆盖能力,还有一个精细化的一个权限的管理,例如可以提供团队内,项目内以及。公开的一个制品的一个权限,并且制品通常来说比源码呢,通常来说它的那个包的结构以及它的容量都会比较大,因此对于制品的分发能力而言是非常重要的。扣点制品仓库呢,是基于腾讯的CDN,能够极大的去提升我们的一个分发的一个能力。那么关于制品这一块,在整个里面,它是扮演着在供应链这一块有着非常重要的能力,那么我们可以看到,对于扣Ding这个制品,我们是能够对它进行一个制品的一个扫描,那在扫描过程中,我们是能够去发现和修复安全漏洞,从而去实现我们的一个安全的一个左移,并且同样制品也可以设置质量红线,然后通过设置质量红线来实现质量的一个安全内建,同时防止安全风险的进一步蔓延。
106:34
也就是说,可以防止我们的安全风险蔓延到我们的生产环境。那么对于BCA,这里面我们列举几大核心能力,第一个能力就是在我们的深度扫描的能力,那么不同于市面上大部分的一个CAQ点的视频扫描,是不是可以借助于BCA的能力,然后呢,借支持20种的一个文件的格式,就是也就是说我们能够支持的文件的格式,以及它的CP的类型,质量和速度都。
107:07
比较高,那么在这种情况下,也就为我们的一个快速的流,流水线的一个构建,安全的一个验证提供了一个基础和条件。那么从图中我们也可以看到,我们列举了一个从一个past Jason这样一个详情,我们可以看到它扫描出来的内容包括漏洞的一些数量,漏洞的等级,以及它对应的漏洞的一些编号。这里面我们也是借助于BCA提供了非常人性化的中文的一些关于漏洞的一些详细的信息,是方便于我们国内的开发者能够友好的快速的识别和了解漏洞的一些信息,并且提供呢修复的建议,来进一步降低漏洞的一个修复成本。同时,我。Coding的BCA也提供了license扫描,对于license扫描是近年来非常关注的一个领域,也就是说开发者在使用开源软件的时候,是需要去关注许可证是否存在违规的,例如我们常见的许可证有阿帕奇的一个2.0,还有GPL的,麻省理工的MIT等等这样一些协议,那么我们在使用这样一些免费的、开源的或商业的或者受限的一些协议的时候,就需要特别的注意。那么这些license是否满足企业的一个要求,这也是供应链安全里面非常倡导和重视的一个点。
108:33
那么在coding的BCA里面可以看到制频扫描在扫描漏洞的时候,能够对开源组组件的许可证呢进行扫描,我们可以看到这里面扫描是一个阿帕奇的一个许可证,并且可以显示它的一个风险的一个等级,是中等风险,以及它对应的一些来源,还有对应的关联的组件的,那么通过这种方式就能够让我们对于我们供应链中的第三方库的一个依赖,或者说我们的一些供应商的一些软件依赖有一个非常清晰,还有一个合理的一个认识,这样可以减少一些商业上的一些风险,还有一些安全上的一些风险,从而去提升我们的一个安全合规的要求。
109:16
另外对于B,而另外一个非常核心的一个能力就是我们的深度的一个依赖分的能力,那么依赖分能力在中能够提供依赖和被依赖这两种能力,那么依赖能力也就意味着我们能够看到我们这些项目,诶它所依赖的一些组件的名称,如果是被依赖,可以看到哪些项目引用呢这个组件,当这个组件发生风险的时候,我们就能够形成通过依赖和被依赖的关系有效的确定。安全风险的一个范围,从而能够去制定,快速的制定安全的一个风险的一个措施,将安全的损失降到最低。除了这些之外,我们围绕着我们的软件的一个物料清单,我们也可以去构建起一个原数据管理的一个能力,那么在原数据管理方面呢,我们是能够支持看到这个制品下面所有的一个文件的一个列表,以及文件的一些大小,同时我们还有能够看到这个文件对应的制品对应的一些属性,那么这些属性可以实现一个是我们的一个单一事实的一个来源,例如我们可以通过每一次制品构建获取到我们一个即可提交的一个信息,这样就方便我们从源码到制品这样一个构建物的一个单一事实的一个溯源,实现了我们的一个端到端的一个连续性和可追溯性,是这样呢,也可以去确保我们的制品能够去防止一种篡改的一个能力,这是第一个,第二个在这里面我们还可以去自定义我们的一些属性,通过制定一些属性,不断的去丰富我们制品的一个生命周期的一个要素,通过丰富这个制品生命周期要素去满足。
110:59
体验整个供应链上下游的一些关系。
111:06
同样对于我们的整个里面,我们可以看到BCA,它也是能够去去进行一个我们的一个门禁的一个设置的,那么我们可以去设置对应的制品的一些质量红线,并且我们可以对红线的一些阈值,当它不满足安全要求的时候,我们仍然也可以去禁止他们去下载这些不满足要求红线的一些制,这样呢就能够将我们的一些有安全风险的一些制品,能够及时的阻止进入到下一个流程,将安全的问题。能够,以及它的风险能够降到最低。同样为了去降低。当step的一个成本使用成本,那么holdding这边也是提供了将我们的制频扫描能力以插件的形式进行一个集成,那么开发者只需要通过几乎零成本的方式就能够完成制品的一个接入,这样呢就能够快速的实现我们一个double cos,一个流程和能力的一个建设和打通,那么我们同样也会去设置对应的质量门禁,不满足质量门禁要求的时候,我们同样会去终止这样一个流水线,这样就实现呢,通过流水线自动化的方式去保障呢我们的一个质量,这样呢也会可以在我们的一个尽可能的将我们的制品的能力也往左移,实现呢,我们的一个cos,一个最低成本的一个最大效益的一个实现。
112:42
那么讲了这么多,接下来我给我们以一个coding在的一个腾讯内部的一个端端一个流程的实践作为我们本次分享的一个结束。那么我们可以看到对于我们的一个研发流程而言,我们仍然是围绕着我们的从需求到代码一直到功能上线这个ASDLC来进行的,那么在这个过程中我们会用到coding的一个代码仓库去做我们一个代码托管,那么我们可以用coding的class studio进行一个云端IDE进行一个代码的一个编写和code review,当我们代码编写完成之后,我们进行一个的一个commit来进行一个提交,提交之后会触发coding的持续集成流水线,那么在coding的持续集成流流水线中,可以去执行我们的一个代码扫描,查check的一个安全扫描的一个能力,以及第三方的一个开源扫描的一个能力,那么我们扫描之后,这扫描之后没有问题,那么我们会进进一步的将我们的源码编译构建生成我们的制品或镜像,当我们的源码编译成我们制品或镜像push取到。
113:42
制品库之后,那么就会去触发我们的。BSCA制品的一个呃扫描能力,那当他满足要求之后,我们会生成一个制品的一个安全报告,那安全报告没有问题,并且满足安全功能,那么我们就可以进行一个代码的一个合流,也就是说我们代码的一个合并,那到我们合并之后,那么我们可以进一步进行一些对应的一个测试,并且呢,会进入到下一个环境,例如我们的测试环境,那么可以进行一个交互式的一些安全扫描,或者是下一步的一些其他能力的一些能一些安全的能力的一个建设,这样就通过这种流程的方式,一个他到一个流水线的方式,将各种能力无缝的集成到流水线中,让用户能够以最低成本无感知的方式实现呢安全能力的一个内建,从而实现呢对cos一个环境流水线的一个打造,并且实现呢安全能力的一个。
114:39
主一将安全的。效益最大化。好,那以上呢,就是我本次的分享,谢谢聆听。啊,非常感谢文强老师啊,这个激情澎湃的这个分享,这个翟老师,我们这一下午其实也是干货满满啊,从这个腾讯的最佳实践对吧,聊到我们新的两个产品,然后包括说呃怎么用这个工具跟我们的coding这样的一个平台无缝的做对接,其实呃我听下来还是呃整个的能力是非常强大,就是您做研究其实也做了非常长的时间了,就特别是在产业安全这个领域关注的这个呃点也是非常的这个前沿,就是通过一下午的这个分享,你你的感受怎么样。
115:24
呃,我觉得还是比较这个震撼的哈,呃,因为大家提到这个软件啊安全,或者说说是供应链安全,大家可能第一个反应会想到的可能是这种宏观的这个安,比如说我们这个整个国家的全球的这个安全,但其实是一方面是在这种宏观的角度,那我们落到我们这个行业,可能就是在软件或者供应链这个角度的话,我们发现在微观的这个角度呢,也有很多的这个安全去需要去关注,那所以呢,就是刚才那几个嘉宾的发言,真的是非常精彩哈,啊,相信大家也是意犹未尽,那尤其是呃,刚才说到一个宏观的一个供应链安全,再到微观的这个供应链安全,其实尤其是随着这种大量的现象级的安全事件频发,那如何去避开或者规避这种开发阶段或者第三方供应链引入的安全威胁呢?啊,其实刚才几位嘉宾都已经介绍的非常多了,那S这个呢,其实给大家带来一个理念,我我觉得刚才这个我们几位专家都一直在强调一个点啊,那就是安全,它不是啊安全团队的安全应该是每个人的一个责任。
116:24
他需要嵌入到的是整个流程当中,那安全介入的越早,就像刚才我们有一位专家的一个PPT,我看到印象特别深,就是看到这个,呃,你介入越早,这个漏洞修复的成本就越低,而且这个降低我们发现它是呈指数级的一个下降,那这一点其实对于机构来讲啊,呃,或者说这个过程大家会发现它其实就是一个安全左移的一个过程哈,我越往前是吧,我越早的介入,那整个流程当中,这个体现到啊,安全这样一个检测或安全的一个,呃,这个防御的这样一个东西。那对于这个成本的下降就是指数级,那这一点对于机构来讲或企业来讲,它是非常有吸引力的,因为前期的投入越少,那后它发挥的作用反倒是越大的。
117:07
是的是的是的,就是正如这个翟老师刚刚提到的,我记得应该是嘎,呃和IBM当时是联合做过调研,就是按照就是从安全左移的这样的一个概念出发,如果我们能够把这个威胁前置处理,它的整个带来的确实是指数级,因为它的数据我记得应该是50~1000倍的这样的一个成本的这个这个这个代差对吧,就是如果你能够提前去处理,你可能能够比事后处理对吧,能节约对吧,这个50~1000倍的这样的一个一个一个损失,所以这是非常巨大的一个一个一个数字了,当然呃,因为时间的关系啊,我们今天的分享可能也就到这里结束了,但是呢,我们的互动还是可以持续,所以呃,在线的各位的这个观众朋友,还是可以添加我们这个企微助手,进到群里面来跟我们一起呃去交流,包括如果有这个试用的这样的需求,也可以通过群里面来我们去呃一起去来呃给到大家一些帮助,那同时呢,呃,之前直播当中啊,我也看到有后台,呃很。
118:07
多,呃,小伙伴很关心今天这些干货,这个PPT能不能分享,那毫无疑问是可以的,我们做一些脱敏之后呢,呃也会发到群里面,所以说还是希望大家能够在呃,我们整个直播结束之前吧,呃,这个抓紧最后的时间扫码加群,那我们后续,呃,包括今天的PPT,包括后续我们的产品其实还在不断的迭代,有更多的功能上线,那如果大家感兴,我们还可以持续的给大家去输送这样的第一手的鲜活的这些资料。那好吧,那今天的这个直播,那也非常感谢各位嘉宾讲师,包括陈老师那一个下午的陪伴,以及各位观众朋友,那我们下次直播再会了。再见,再见。
我来说两句