供应链安全背景 近年来,针对软件供应链的安全攻击事件呈快速增长态势,造成的危害也越来越大。 供应链安全威胁来源 软件/组件更新 开源软件自身漏洞 开源软件引用依赖存在漏洞 开源依赖混乱 恶意开源软件 开源项目后门 恶意开发者提交 供应商代码存在漏洞/后门 第三方人员开发代码存在漏洞 /后门 证书被盗 软件开发工具存在漏洞 设备预先安装了恶意软件 法规 《中华人民共和国网络安全法》《网络安全审查办法》《关键信息基础设施安全保护条例》等政策法规强调加强软件供应链安全保障 2021年5月12日,美国发布了《关于改善国家网络安全》的第14028号行政命令(EO),明确要求美国联邦政府加强软件供应链安全管控,迅速提高软件供应链的安全性和完整性。 今年5月,美国国家标准与技术研究院 (NIST)更新了解决软件供应链风险的网络安全指南,该指南帮助组织将网络安全供应链风险考虑因素和要求纳入其采购流程,并强调监控风险的重要性。
而在运行时,第三方软件组件成为真正运行的容器、资源、工作负载和服务。 这些软件供应链组件中的任何一个弱点都可能是软件供应链攻击中使用的入口点或支点。 当你考虑到我们的软件供应链已经变得很复杂时,2021 年软件供应链攻击增加了 51%也就不足为奇了。 直到最近,安全供应商和从业者主要关注锁定软件组件。 交付管道和软件供应链安全 为了支持快速、迭代和高质量的部署,托管 VCS 和 CI/CD 管道已成为云原生组织的命脉。 但是,它们的默认配置并未考虑到安全性。再加上它们处于软件供应链的中心,这使得它们很容易成为黑客的目标。 为了保护他们的软件供应链,组织应该采取预防性的、纵深防御的方法来遵循 VCS 和 CI/CD 安全最佳实践,并利用策略即代码来随着时间的推移执行最佳实践。
通过 Backstage 确保你的软件供应链安全 一个内部开发者门户可以帮助您整合和演化您的安全策略。 这被称为软件供应链。 在过去几年里,由于严重攻击,软件供应链引起了极大的关注。在美国,联邦政府甚至为州立承包商发布了软件供应链指南。 正如 Cloud Native Computing Foundation(CNCF) 安全工作组所述:“供应链需要多个关联的流程,供应链安全依赖于对每个流程的验证和验证。” 幸运的是,有各种工具可以帮助您通过软件开发生命周期自动化安全检查。 然而,通常您需要将不止一个工具集成到您的安全策略中。 了解您的整体安全演变 当您通过目录进行所有权排序,并通过 Scaffolder 主动推动最佳实践时,下一步是了解您的整体软件供应链安全工具。
问题一:软件供应链安全是一个很大的话题,今天我看各方对软件供应链安全的定义都不太一样,国内我看大家提SCA、开源安全治理更多一些,海外也在提一些更前沿的概念,比如基于sigstore技术实现的软件持续安全验证的产品 或者说你们当前在软件供应链安全这个领域更关注什么? ,增加了软件安全评估的难度,也提高了软件供应链风险。 足够简洁,可以自动化管理链路, 问题五:大家都知道在软件供应链安全这个方向,开源的软件供应链始终还是大头,开源让整个软件生态越来越繁荣这事毋庸置疑的,但是开源软件同样也带来了很多安全漏洞,关于如何能够让这些开源的项目变得越来越安全 问题六:传统的供应链安全,比如饮用水,我们今天谁从超市买一瓶矿泉水,都不会担心这个水是不是有毒或者质量有问题,说明饮用水的供应链安全管理其实已经非常规范了,那么作为软件来说,各位觉得未来有没有可能软件供应链的安全管理也能做到这种成熟度
01 — 基础概念 说起软件供应链安全,不禁让人想到:漏洞、投毒、合规、断供…一系列安全和合规的风险。此外,同样高频的词还有:供应链攻击、软件供应链投毒,它们之间有何异同?又有何关联呢? 从这个角度上来看,供应链攻击包含了部分软件供应链安全(由于投毒和漏洞导致的攻击),软件供应链安全包含了软件供应链投毒。 04 — 软件供应链投毒防御策略 4.1 外购软件安全管控 在本系列文章《安全事件运营SOP:网络攻击》中,已经提到该部分。 4.2 开源组件安全管控 近来软件供应链安全的热度持续水高船涨,但真正在软件投毒方面,做得好的企业非常少。 (npm投毒攻击模拟报告截图 - 团队成员番茄) 4.5 更多软件供应链投毒 尤其是业务安全建设能力方面,可以看以前的文章《浅谈企业级供应链投毒应急安全能力建设》。
随着近些年针对软件供应链发起的攻击次数越来越多,Google 发布了一系列指南来确保软件包的完整性,目的是为了防止未经授权的代码修改影响软件供应链。 Google 的 SLSA 框架(Supply-chain Levels for Software Artifacts 软件制品的供应链级别)是通过识别 CI/CD 流水线中的问题并减小影响,为实现更安全的软件开发和部署流程提供建议 软件供应链中的问题 任何软件供应链都可能引入漏洞,随着系统变得越来越复杂,做好最佳实践从而保证交付工件的完整性变得非常重要。如果没有一定的规范和系统发展计划,就很难应对下一次黑客攻击。 总的来说,SLSA 4 让消费者对软件未被篡改具有高度的信心。 限制 SLSA 可以帮助减少软件工件中的供应链威胁,但也有局限性。 许多工件在供应链中存在大量依赖关系,完整的依赖关系图可能非常大。 实际上从事安全工作的团队需要确定并关注供应链中的重要组成部分,可以手动执行,但工作量可能很大。
2020年12月针对SolarWinds®的 "供应链攻击"被认为是网络安全界的一个里程碑事件。这次攻击是由SolarWinds的Orion软件中的安全漏洞导致的,使黑客能够入侵全球数百家公司的系统。 开源软件运动如火如荼的进行了二十四五年,极大程度的改变了软件业的面貌。当前全球企业超过90%直接或者间接甚至在无意识中使用了开源技术。享受便利的同时问题也随之而来,以上的软件供应链安全事件也层出不穷。 为了保护自己免受此类攻击,企业必须超越传统的、有风险的 "信任但核实 "的网络安全方法。软件供应链的四大风险对于企业来说,当前软件供应链起码面临四类风险。1、长期支持风险。 在信息化程度比较高的金融业,软件作为金融信息基础设施的重要组成部分,安全问题将直接影响金融信息系统的安全稳定运行。对于企业来说,如何把软件供应链里的“恶意”关在笼子里?或许安全沙箱一种可操作的手段。 在云计算的环境下,云原生型安全沙箱技术也在演进,有望在企业环境中,对软件供应链安全问题提供一部分“治标”的解决方案(“治本”还得更加长期、综合、涉及面更广的综合策略)。
去年发生了一些令人震惊的攻击,这使得开源软件供应链的安全性备受质疑。 那么,这是否意味着开源软件可以安全地再次使用? 答案是不完全是,企业为了更好地保护自己,需要了解开源软件供应链的工作原理,我们生活中几乎所有的设备都包含一个嵌入式开源软件和运行时库的复杂系统。 不幸的是,要理解别人上传的软件非常困难,人们可能会恶意地改变供应链中的数据包或库。 无论你在开源供应链中的角色如何,如果我们要防范未来的攻击,必须对安全性给予更多的关注。安全专业人员通过默默无闻的方式熟悉安全性,他们错误地认为,如果软件很难理解,就很难发起攻击。 去年的攻击表明,通过滥交(将开放源代码无管理地纳入软件供应链)带来的不安全感是我们面临的新的问题。
事实上,软件供应链安全风险防控并不容易,最大的挑战就在于供应链的复杂性。那么,软件供应链安全治理到底该如何做? 软件供应链安全的复杂性 所谓软件供应链攻击,顾名思义,指的就是针对软件供应链所发动的网络攻击,攻击者会先攻击软件供应链中安全防护相对薄弱的部分,然后再利用软件供应链之间的相互连接(如软件供应、开源应用) 软件供应链安全 治理框架的推进 为了应对不断升级的软件供应链安全威胁,业界已经在逐步推出软件供应链安全框架。 中国信通院认为,针对软件供应链安全保障流程,可划分为软件供应链入口(对内引入)、自身(自研应用)、出口(对外供给)三大阶段,应从软件来源、软件安全合规、软件资产管理、服务支持、安全应急响应多个维度,对软件供应链安全保障能力进行规范 软件供应链安全的 全球性政策 软件供应链安全是一个全球性问题,究其根本,是由于软件行业全球化、市场化、模块化的特点。
多年以来,CIS 开发并发布了很多安全配置指南,但是软件供应链安全方面还是一个空白。现代软件开发过程中会涉及大量的平台和技术,软件供应链安全的工作范围应该有多大? 因此 CIS 软件供应链安全指南诞生了。这篇指南的目的在于引出全球社区的反馈,从而帮助制定未来的更准确、更针对特定平台的指南。 本指南面向下图所示的软件供应链过程,涵盖了从代码到交付的生命周期。 本指南目前包含了一百多条建议,按照以下维度进行组织: 源码:关于正确管理源码的的安全建议 这是软件供应链的第一环节,源码是这一过程的真相之源,因此供应链安全的管理要从源码开始,管理内容包括脆弱性、错误配置以及敏感数据等 部署:针对应用部署过程、配置和相关文件的安全建议。 软件供应链的最后一环。在这之后,应用将在生产环境中运行,供给客户使用。如何将物料安全地交付给客户,至关重要。 通过制定 CIS 软件供应链指南,CIS 和 Aqua 希望建设一个活跃的社区,来支持开发未来的针对平台的软件供应链基线。
软件供应链简介 1.1 软件供应链安全 软件供应链安全指的是确保软件供应链中的各个环节和组件不受恶意攻击或未经授权的篡改,以保证软件交付的完整性、可信性和可靠性。 软件供应链安全与大模型结合点 由于大模型拥有一定的检测能力、生成能力、理解能力,与软件供应链安全摩擦出新的火花。 软件供应链的威胁检测拥有了新的检测手段,大模型供应的代码安全性得到了注重,对软件供应链事件分析等高复杂度任务,大模型也有部分能力进行处理。 2.3 大模型与其他软件供应链安全技术结合点 软件物料清单 (SBOM) 通过提供软件开发中不可或缺的组件和依赖项的详细清单,成为确保软件供应链安全的关键支柱。 图6 区块链应用在Sbom架构图 "软件供应链事故"指的是发生在软件供应链中的安全事件或漏洞。软件供应链是一个涉及多个环节的过程,包括软件的开发、测试、交付和维护等阶段。
开源软件的安全性正在受到威胁,这几乎耗光了维护这些项目的人员的精力。随着技术栈越来越深,依赖项的关联关系愈加复杂,人们对软件供应链安全做出了可怕的妥协。 软件供应链安全是大型科技公司、安全公司和新闻媒体都喜欢谈论的抽象概念之一。这是一种“理念”,即你在整个技术栈中作为依赖项使用的软件正是你所期望的软件。 但是,安全的软件供应链也是那些很快就会瓦解的东西之一,没有细致的处理和严密的保护,事情很快就会变糟。 安全的软件供应链永远不会真正的强大和安全,只要一个单独的维护人员就能够破坏整个包的生态系统,而他所要做的只是将包提供给一些恶意行为者。 但对于安全的软件供应链所真正需要的东西——真正的可靠性,这是一个可悲的借口。
《安全要求》给出了软件供应链安全保护目标,规定了软件供应链组织管理和供应活动管理的安全要求;适用于指导软件供应链中的需方、供方开展组织管理和供应活动管理,可为第三方机构开展软件供应链安全测试和评估提供依据 ,提升软件供应链的可追溯性、安全性,一旦发现上述风险,可以快速有效追溯和修复; 提升软件供应链数据安全风险管理能力:识别和防范供应关系和供应活动中存在的数据泄露、数据篡改、非法访问等安全风险,提升软件供应链数据安全保护能力 机构管理: 需方应明确软件供应链安全管理机构,明确其职责及人员,并提供用于软件供应链安全管理的资金、资产和权限等可用资源,保障软件供应链安全管理工作顺利执行; 需方应组织开展常态化软件供应链实体要素识别 ,以及供应关系、供应活动的安全风险识别、处置和防范等工作,组织构建并管理软件构成图谱(见附录B),充分掌握组织的软件供应链安全风险; 需方应持续加强软件供应链安全能力建设,包括但不限于供应关系管理,软件供应链实体要素识别 制度管理: 需方应围绕软件供应链风险识别和防范明确软件供应链安全的总体方针、安全制度和策略,包括但不限于开展软件供应链安全监督、管理和检查等内容,并及时修订更新; 需方应制定软件供应关系的安全管理制度
10月20日,Google宣布正在为名为Graph for Understanding Artifact Composition(GUAC)的开源项目寻找感兴趣的贡献者,以此进一步强化软件供应链安全。 当下,软件供应链安全已成为网络安全领域内一大重点因素,攻击者频频利用软件供应链中某个使用广泛的弱点,掀起令全球企业为之侧目的网安大事件。 在这些供应链安全事件中,攻击中以一点为突破,随后沿着供应链进行入侵并大肆窃取敏感数据、植入恶意软件、并控制属于下游客户的系统。 谷歌多手段强化供应链安全 在启动GUAC开源项目之前,谷歌在供应链安全方面已经有了多个动作。 GUAC 是谷歌为加强供应链健康所做的最新努力。它通过将来自公共和私人来源的软件安全元数据聚合成一个“知识图”,并以此回答有关供应链风险的问题。
然而,在追求快速迭代和高效交付的同时,一个巨大的隐形风险——软件供应链安全,正成为许多企业看似强大体系中最薄弱、一旦被攻击便可能引发全局瘫痪的那个致命弱点。 这并非危言耸听,据统计,2025年全球软件供应链攻击事件同比激增超60%,超过三分之一的漏洞源头指向第三方依赖库。您的企业,是否正在这场没有硝烟的战争中“裸奔”? 01.风险透视:软件供应链的三大“安全黑洞”传统的安全防护多集中于网络边界和应用运行时,却忽视了软件从编码、构建到分发、部署的漫长供应链条。 企业需要构建一个贯穿软件供应链全生命周期的主动防御体系,将安全管控“左移”,即尽可能在开发流程的早期发现并消除风险。而这,正是嘉为蓝鲸制品管理平台·CPack的核心设计理念。 04.结语软件供应链安全已不再是“可选项”,而是关乎企业生存发展的“必答题”。它不是一个孤立的功能点,而是一个需要从架构层面系统化构建的坚实基础。
过去一年里,发生了一连串开源软件遭受供应链攻击的事件,并且态势愈演愈烈。就在最近,甚至发现2个独立的后门漏洞进入了数十万服务器管理员下载的库中。 利用信任 Webmin和RubyGems库的结果都是最新供应链攻击针对开源软件的表现。 大多数人从已知开发人员的官方网站安装软件或更新的时候,不会过多思考。 供应链攻击更“容易”了 事实上,除了开源软件,闭源软件也属于供应链攻击的牺牲品。 Atredis Partners研发副总裁HD Moore表示:“最近的发现表明,这些问题越来越频繁,围绕软件包发布和管理的安全生态系统没有得到足够的改善。 Moore认为,开源供应链感染的影响通常难以衡量,因为后门应用程序可以被另一个软件包作为上游依赖项包含在内。
近三年来软件供应链安全概念持续升温,新型威胁仍层出不穷,从Log4j漏洞到node-ipc组件投毒,近年来自软件供应链安全威胁涌现,企业违反GPL许可证的案例也屡见不鲜。 供应链安全事件爆发的频次和影响面都在持续扩大,供应链安全已经成为企业开展经营活动不得不面对的一个隐患,也是所有安全厂商致力于要解决的问题。开源是更安全还是更不安全? 4月27日下午14:30分,墨菲安全联合创始人欧阳强斌、腾讯安全云鼎实验室高级安全研究员王福维将一同做客《安全大讲堂》,以“软件供应链安全威胁的前线观察与行业方案”为主题,分享来自软件供应链的典型安全威胁 ,要解决这些问题面临着哪些挑战,以及业界不同组织在试图解决这些安全威胁中作出的解决方案。 感兴趣的朋友可以关注腾讯安全视频号进行预约,共同探讨软件供应链安全威胁与行业方案,从而更好地应对开源软件市场面临的软件供应链安全挑战。
为什么人人都知道软件供应链安全问题很重要,却难以解决? 软件供应链安全 与开源息息相关 要搞清楚软件供应链安全的症结,先得厘清其涵义。 基于中国信通院的定义,软件供应链安全是指“软件供应链上软件设计与开发的各个阶段中来自本身的编码过程、工具、设备或供应链上游的代码、模块和服务的安全,以及软件交付渠道及使用过程安全的总和。” 这里是把软件供应链安全分为了两部分:一是软件自身的供应链安全,二是软件供应链交界面的安全管理。 因此,开源软件供应链安全风险治理任重道远。 直面软件供应链 安全治理挑战 尽管业界已经普遍认识到软件供应链安全的重要性,但治理起来依然面临重重挑战。 在解决软件研发过程的供应链安全问题时,需要贴合SDLC(软件开发生命周期)考虑供应链安全风险。
开源软件供应链安全的兴起 Verocode研究结果表明[1],在开源组件仓库中70.5%的代码库存在安全漏洞,而这些安全漏洞风险46.6%是由其他开源项目直接、间接引进所导致的。 开源软件供应链安全攻击风险点 开源软件除了引入漏洞等不安全因素,在使用的过程中还包含人为攻击的各种风险点。 开源软件供应链安全防护措施 目前这两年针对软件供应链的产品逐渐完善,形成针对各个流程的安全防护手段,下面主要概述针对开源软件供应链攻击的防护措施。 总结与思考 列出的安全风险点有助于提高对开源软件供应链威胁的认识,有助于确定给定利益相关者对供应链攻击的暴露程度。下面是我的总结内容: 1. 开源软件供应链安全研究综述. *软件学报*, 0-0. 3. CodeWisdom.技术科普:浅谈开源软件供应链风险.
随着开源、云原生等技术的应用,软件供应链开始向多元化发展。此举虽加速了技术的革新和升级,但也让供应链安全成为全球企业的“心腹大患”。 据2021年7月发布的《2020年中国网络安全报告》称,软件供应链攻击已成为2020年最具影响力的高级威胁之一。 在网络安全领域,供应链涉及大量资源(硬件和软件)、存储(云或本地)、发行机制(web应用程序、在线商店)和管理软件。供应链的公司被入侵更改了产品的源码,用户下载了供应链公司的产品而最终受到攻击。 正因为如此,供应链攻击往往能够造成难以想象的严重后果。软件供应链的四大风险对于企业来说,当前软件供应链起码面临四类风险。1、软件质量风险。 在信息化程度比较高的金融业,软件作为金融信息基础设施的重要组成部分,安全问题将直接影响金融信息系统的安全稳定运行。对于企业来说,如何把软件供应链里的“恶意”关在笼子里?或许安全沙箱一种可操作的手段。