梁胜博士:软件供应链安全两手抓,既要安全左移也要全链路防护丨活动回顾

博士,软件,供应链,安全,两手抓,既要,左移,链路,防护,活动,回顾 · 浏览次数 : 195

小编点评

**如何保证企业软件供应链安全** **演讲者:梁胜博士和江鹏受** **一、软件供应链的背景** 软件供应链这一概念源于传统制造业中的供应链,软件从最早开发开始,到中间构建,然后进行测试,测试结束后变成一个二进制的制品,接着在云端或者本地发布软件。软件供应链也是如此,比如部署一个应用系统,这个系统内使用了各种服务,每个服务可能包含自研代码以及一些外部的开源组件还有第三方供应商的代码。 **二、软件供应链的安全风险** 软件供应链是一个相对新的概念,最近一两年这个概念才开始进入大众视野。由于开源组件的数量呈爆发式增长,以及开源组件更新速度很快,每个组件可能几个月或者几周就会更新一次,也许在应用集成的所有组件中每天有组件在更新,这会变得难以控制。因此,对于软件供应商来说,这构成了一个非常大的威胁。 **三、软件供应链的安全挑战** * **源代码错误:**传统软件安全工具主要提供扫描源代码的功能,但软件供应链中的每个环节都有可能出问题,比如源代码、构建、发布等。 * **第三方组件:**软件供应链中几乎所有的组件都是第三方组件,这些组件可能包含病毒、木马等恶意代码。 * **代码仓库:**部分第三方软件会在软件供应链中被注入代码仓库,这些代码仓库可以包含恶意代码。 * **云平台和 K8s:**云平台和 K8s 本身也会引入更多工具,这些工具可能会包含恶意代码。 **四、数澈软件如何解决软件供应链安全问题** 数澈软件可以作为防火墙,像网络防火墙一样,把整个软件供应链全链路的每个环节都保护起来。数澈软件可以进行以下操作: * **检测:**数澈软件可以进行漏洞检测,发现软件供应链中的潜在威胁。 * **防御:**数澈软件可以提供入侵检测系统 (IDS),识别恶意代码并阻止恶意代码传播。 * **监控:**数澈软件可以监控软件供应链中的活动,及时发现并处理恶意代码。 * **隔离:**数澈软件可以隔离恶意代码,防止恶意代码传播到其他软件组件。 * **提醒:**数澈软件可以向安全部门提供可视化的报告,帮助安全部门进行分析和处理。 **五、数澈软件的优势** * **全链路保护:**数澈软件可以保护所有软件供应链的环节,包括源代码、构建、测试、部署和交付。 * **易于管理:**数澈软件可以简化软件供应链的安全管理工作,降低组织的开发成本。 * **提高安全性:**数澈软件可以显著提高软件供应链的安全性和合规性。

正文

11月1日下午,由深圳金融科技协会主办的湾区湾区金科(Fintech)沙龙(第四十期)—— 敏捷开发安全与软件供应链安全实践探讨专场圆满举办,逾1500名业界人士线上线下同步参加。数澈软件 Seal 联合创始人梁胜博士和江鹏受邀出席此次沙龙并发表题为《如何保证企业软件供应链安全》的演讲,本文为演讲实录。

就当前而言,软件供应链还是一个比较新的概念,最近一两年这个概念才开始进入大众视野。首先,先介绍一下软件供应链的背景。软件供应链这一概念援引自传统制造业中的供应链。我们来回看整个软件开发到发布的流程就会发现这与传统制造业的供应链流程十分类似——软件从最早开发开始,到中间构建,然后进行测试,测试结束后变成一个二进制的制品,接着在云端或者本地发布软件。

具体来说,在软件供应链中有一个特别重要的概念叫做软件物料清单(SBOM,Software bills of materials)。比如一台电视机,有显示屏、有元器件等等零部件,这些东西在制造业的术语里被称为 BOM(物料清单),它决定了产品的成本和质量,很大程度上也决定了产品的可靠性和安全性,所以如果中间的“元器件”遭受了攻击,将会对产品造成重大影响。

软件供应链也是如此,比如部署一个应用系统,这个系统内使用了各种服务,每个服务可能包含自研代码以及一些外部的开源组件还有第三方供应商的代码,同时第三方供应商所提供的代码也会包含自研的和开源组件,所以整个构成其实十分复杂。因此,国防领域、政府机关以及金融领域的企业都对此有很高的要求,因为一旦某个环节遭受攻击,所造成的后果不堪设想。

在整个供应链来看,其实第三方供应商所提供的代码比较有保证,因为企业内部会先对供应商进行审查,最终选择的供应商一般可信赖程度较高。至于自研代码,企业内部也可以通过各种手段对其进行控制,至少可以确保来源的可靠性。因此,最近这几年来最大的风险还是来自于开源组件。 因为近几年开源文化在软件世界盛行,开源组件的数量呈爆发式增长。一个应用在开发过程中会引入大量开源组件,但并不是每个开源组件都是可信任的。

此外,开源组件更新速度也很快,每个组件可能几个月或者几周就会更新一次,也许在应用集成的所有组件中每天有组件在更新,这会变得难以控制。因此对于软件供应商来说,这构成了一个非常大的威胁。在过去,软件供应商把应用或操作系统发布到一个设备上,这个设备也许会受到一些传统的安全攻击,比如针对终端的攻击。但是现在有终端的防护、网络的防护,相对来说攻击设备已经没有那么容易。那么,黑客就开始将目光转向了软件供应链。众所周知,一旦软件供应链被攻击,那么所有终端都在所难免,因此这个影响是非常大的。

其实此类问题早已存在多年,印象中十几年前业界就有提及,但当时还觉得只是一个理论上的问题,因为实际发生的事件还不多。但是过去的5年,发生的频率明显上升。比如2020年的 SolarWinds 黑客事件,现在这家公司岌岌可危,几乎就是由于那次经历的黑客攻击。因为这家公司的软件是用来监控企业内部其他关键软件的,所以软件权限很高,并且被许多政府机关、银行、国防部门所使用,攻击者可以借此访问到许多敏感信息。当这个软件存在漏洞之后,所有采用这一软件的企业的内容系统都会存在巨大漏洞。截止今日,这一攻击所造成损失还无法估量。

更为人所知的事件还有2021年末 Java 语言中著名的开源日志框架 Log4j 的高危漏洞。因为这些影响广泛的事件,现在许多软件安全厂商意识到了软件供应链的风险,于是将他们现有的工具组合起来,来解决一些软件供应链安全的问题。其中,SAST 和 SCA 是对软件供应链最适用的。

SAST 即静态应用安全测试,简而言之就是扫描源代码,看是否存在问题。SCA 即软件成分分析,看 SBOM 里到底有什么。其实这两种工具已经存在多年,但当时大家也不知道怎么样更好地利用这两种工具,因为对软件供应链的认识不足。早前一般都用这些工具来查找程序中的错误,或者是否有密钥放在了明文部分,或者是查软件的 License 是否合规。现在这些工具基本都开始用来解决一些软件供应链的安全问题。

但挑战依旧很大,因为传统这些软件误报实在太多了,有很多假阳性。比如,之前我就把以前公司开发的一个软件拿去扫了一下,随便就扫出了5000多个问题,而且都很严重,但人力上很难查得过来这么多问题,并且也不知道如何修复。而且公司客户怎么办?这个软件已经发布了好几年,如果这5000多个问题中间存在真正的大问题,那应该怎么办。

另外,软件供应链与多个部门有关系,比如 IT 部门、安全部门、运维部门等。研发部门在开发软件时用到的工具也特别多,每个环节都有可能查出一些错误,那对于首席安全官,甚至首席信息官对这些都很重视,但是因为情况太复杂很难搞清楚。像之前提到的 SolarWinds 事件,事情一被爆出,公司CEO甚至引咎辞职。

就中国国情来说,软件供应链在中国还有一些特殊的要求,因为现在国内很讲究对IT的掌控,因此对软件供应链的来源其实有更严格的要求。比如企业想知道他们对所用到的组件是不是真正可控,是否可以禁止某个第三方的组件。数澈软件可以在这里面做一点事情。

还有一个问题就是软件供应链本身是一个“链”,所以从一定程度来说,与传统安全不太一样。传统的安全公司安全工具都比较单一,也许提供很多不同的产品,但一般每个产品就干一件事,比如扫描病毒、控制网络安全等。但是软件供应链整个链路上的每个地方都有可能出问题——从源代码到构建到最后发布,中间各个组件之间的依赖性等。所以软件供应链的安全并不是一个点的问题。

接下来我们看全链路到底是怎么回事,其实全链路有两个方面,一方面是“左移”,这个词在业界是比较受认可的,为什么左移很重要?

因为越左移意味着越早发现,在开发阶段出现的问题最好在开发的时候发现,而不要在运行的时候发现,因为越早发现越容易纠正。如果在运行的时候才发现,可能都很难回溯到最初的情况,也很难找到责任人。而且生产环境也不能停,那只能冒险运行。所以“左移”很重要。

但是“左移”也不能100%解决问题,因为最后的软件还有50%~90%的部分是第三方的组件。而且第三方的软件在链路的每个环节都有可能注入代码仓库,比如可能用到第三方的软件库,在构建阶段用到第三方的工具和操作系统,在制品库中用到第三方的镜像,最后运行阶段,可能在 K8s 或者云平台上运行,那云平台和 K8s 本身也会引入更多工具。

所以即便企业已经100%进行安全左移了,但全链路依旧需要检测,因为每一个环节都会有新的依赖项被引入,所以两者必不可少。因此数澈软件 Seal 就是为了解决中国企业的软件供应链安全问题。所以我们提出要做一个防火墙,像网络防火墙一样,把整个软件供应链全链路的每个环节都保护起来,然后进行统一管理,给安全部门提供可视化,最后做到安全和合规。

与梁胜博士:软件供应链安全两手抓,既要安全左移也要全链路防护丨活动回顾相似的内容:

梁胜博士:软件供应链安全两手抓,既要安全左移也要全链路防护丨活动回顾

11月1日下午,由深圳金融科技协会主办的湾区湾区金科(Fintech)沙龙(第四十期)—— 敏捷开发安全与软件供应链安全实践探讨专场圆满举办,逾1500名业界人士线上线下同步参加。数澈软件 Seal 联合创始人梁胜博士和江鹏受邀出席此次沙龙并发表题为《如何保证企业软件供应链安全》的演讲,本文为演讲实

Seal梁胜:近水楼台先得月,IT人员应充分利用AI解决问题

Al 技术可以帮助 DevOps 工程师减轻工作量。

剖析一下"抢茅台"脚本底层逻辑

本文作者:梁冬冬 前言: 今天你撸茅台了么? 撸茅台已经成为社会现象,茶余饭后讨论的最佳实践 2022年双十一大促已经完美收官,兄弟姐妹克服种种困难与挑战.. 备战的会议室忙碌中带着紧张,当峰值过后的喜悦不言而喻,今年备战室里听着对面的兄弟讲述了他抢茅台的经过,以及对马上来临的整点茅台活动期待,我也

学习笔记

周屹梁的学习笔记 个人各平台地址 博客地址:https://www.cnblogs.com/zylyehuo/ gitee地址:https://gitee.com/zylyehuo github地址:https://github.com/zylyehuo 夯实基础 四元数法 | 代价地图组成(多层叠

详细讲解 Keil Pack Installer,以及通过 Keil 官网获取 Pack

前言 大家好,我是梁国庆。 收到粉丝留言,说 Keil 安装 Pack 不太明白,可不可以详细演示一下? 当然可以有,直接视频+文章全部安排,我就是宠粉。 PS:第一次录视频有些紧张,见谅哈。 微信视频号:https://weixin.qq.com/sph/AXbpYwEaw b站:https://

3个月搞定计算机二级C语言!高效刷题系列进行中

前言 大家好,我是梁国庆。 计算机二级应该是每一位大学生的必修课,相信很多同学的大学flag中都会有它的身影。 我在大学里也不止一次的想要考计算机二级office,但由于种种原因,备考了几次都不了了之。 这一次我想换个目标! 备考计算机二级C语言 今天山东省考试院发布了关于2024年9月全国计算机等