快手安全 X 墨菲安全 | 软件供应链安全解决方案完整分享

前言

本次分享由墨菲安全联合创始人&研发负责人宇佰超于 9 月 26 日快手安全沙龙中分享,本次主题《软件供应链安全体系、方法与落地》,文末附本次分享视频链接,欢迎大家查阅分享,如有任何欢迎联系我们一起交流讨论~

完整视频地址:https://www.bilibili.com/video/BV1x24y1o7sE/pm_id_from=333.999.0.0

随着国家 IT 及信息化的推广与普及、IT 行业的快速发展,软件供应链体系愈发的成熟。企业软件开发与信息化建设过程中,涉及与使用到的供应链比重越来越高。然而高占比的供应链软件的使用,再提升工程效率的同时,势必带来更多的软件供应链安全风险。本议题将结合墨菲安全软件供应链安全领域的研究及互联网、金融头部标杆客户的落地实践经验,着重介绍软件供应链安全治理解决方案,给出治理相关的技术点与实现方法,落地建议与方法案例。

Part 1:软件供应链所面临的风险

什么是软件供应链个例子:

  • 房地产:钢筋水泥是供应链;

  • 纺织行业:棉布丝绸都是供应链。

软件供应链近一两年慢慢走进大家的视野。通俗来讲,软件供应链是一个可以直接被拿来使用的轮子。开发者可以自己造一个轮子,把它放在 Github 上或者放在代码管理器上等等…这种情况下被其他开发者、项目使用,我们称之为软件供应链。

企业使用其建设自己的服务,比如 App 、商业软件,他们所做的商业软件也会作为软件供应链的一环流入到市场中会被其他的企业所使用,这也成为了软件供应链中的一部分。简单说,软件供应链安全就是指我们在从事企业生产过程中所用到的一些物料的安全。

图片

软件供应链的风险主要分为四部分:

  • 开源组件安全漏洞:这是安全同学最关心的三方组件的漏洞问题;

  • 上游软件供应商风险:举个例子,前几天某友的一款产品爆发了 0 day 漏洞,这就是软件供应商带来的风险;

  • 开源组件许可证合规:法务同学更关心开源组件许可证的合规问题;

  • 软件供应链投毒事件:攻击者在开源软件供应链的链条中,利用软件供应链来传播挖矿或者勒索病毒,该类事件是这几年非常常见的。

图片

Part 3:软件供应链的治理方法

根据以上介绍的体系,接下来拆解出各个部分,介绍一下它的实现方法。

一、制定需求阶段引入源的管理

我们先来看一下在项目需求和计划阶段可以做哪些内容呢/p>

图片

源安全还有另外的一个问题,对源的投毒,这一部分偏向于云端的数据能力建设。这里共介绍三个简单的识别方式

  • 元数据:例如是否伪造包的名称;

  • 静态代码:分析代码里是不是有敏感函数的调用、诡异的数据、动态行为;

  • 动态分析:这种更像是沙盒的玩法,真正的引用组件然后把代码真正的调用起来,看是不是有一些异常的这种文件行为。

图片

近十年来,依赖管理发生了很大的变化。这种包管理器的出现极大的方便了识别软件里使用了哪些供应链的软件。

图片

上边讲了如何识别项目中的风险组件,而安全左移的问题就是需要从项目开发的源头把安全能力建设好,研发如何能够更好的参与到代码安全的建设中呢/p>

安全需要给研发安全能力的赋能,有可以使用的工具,同时还需要一个丰富的知识库,怎么检测、知识库如何使用、怎么修复风险等等。比如我们要考虑三方组件的漏洞风险,该组件的维护能力、兼容性、流行度、许可证等等都是安全同学需要给到研发同学的解决方案的能力,同时该能力要使用起来非常便捷。最直观的一个工具就是 IDE 插件,能让研发在开发阶段尽早的识别风险,从源头把问题解决。

图片

在代码入仓的过程中可以做两件事。第一部分是摸底,大家能够知道仓库里代码的安全情况,企业能够更全面的掌握自身所使用的一些资产,进而能够更全面地掌握目前代码里面临的风险。第二部分是门禁,研发同学在提交代码的时候符合要求才可以提交成功。这块 Gitlab 提供了一个很好的机制,配置好 webhook ,在研发提交了代码之后就能够触发提交状态的消息提醒。同样的,一个完善的软件供应链安全系统,可以做到检测、通知一系列的事情,同时在研发提交的代码入库前,先进行一次检测,检测完之后再入库。

图片

四、构建环节的能力建设

以上讲完了研发部分的安全能力建设,接着来介绍构建这部分软件供应链安全的能力该如何建设。

图片

安全能力如何和 CICD 集成呢,这块右边放了一个 demo ,大家也可以参考一下。

图片

这些制品里又用到了哪些供应链,是否存在安全风险,这都是我们需要关注的一些点。

图片

Part 4:软件供应链治理案例

上面讲完我们对软件供应链的安全治理体系有了一个完整的认知,以及治理体系中各个部分的实现方法。接下来带来几个软件供应链治理的案例分享。

治理案例1 – 基于 SDL 流程的治理

第一个案例是基于 SDL 流程的案例,每一个项目都会对这个软件开发的 SDL 的流程进行各个点的卡位,这样的案例在金融体系内会落地较多。这样做有以下几个优势

  • 能够真正地做到安全左移,安全编码,从源头做起,把安全能力真正地赋予开发同学;

  • 能够对整个公司做资产盘点,建立开源资产管理;

  • 在比较关键的流程里面做卡点;

  • 基于整个 SDL 的这个流程做治理,能更早地接触到研发,做一些安全性的一些指导,进行更低成本的风险修复。

图片

治理案例3 – 基于安全事件的治理

第三个案例第是基于安全事件的治理。可以通过一些技术手段、工具,对公司对整个资产进行盘点,当爆发了安全事件,能够快速地知道事件所针对的资产和系统哪些可能受到影响,然后更有针对性的推动研发同学对风险进行修复,对风险问题能够做到快快速定位、响应和修复。

快手安全 X 墨菲安全 | 软件供应链安全解决方案完整分享 墨菲安全 快手安全 X 墨菲安全 | 软件供应链安全解决方案完整分享 官网 快手安全 X 墨菲安全 | 软件供应链安全解决方案完整分享 为您提供专业的软件供应链安全管理

来源:墨菲安全

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年8月24日
下一篇 2022年8月24日

相关推荐