软件供应链安全洞察 关于ISC ISC成立于2013年,是国内唯一专注为数字安全行业赋能的平台。打造集会展服务、咨询服务、媒体服务、生态创投、生态联盟、产业导入“六维一体”的生态模式,全面赋能国家、政府、行业、企业、个人。过去10年,ISC秉承创新引领、智慧洞察、专业高效的宗旨,创办了亚太地区乃至当今世界规格高、辐射广、影响力深远的全球性安全峰会——互联网安全大会,树立了中国网络安全产业名片。 版权声明 本报告版权属于ISC,任何组织、个人未经授权,不得转载、更改或者以任何方式传送、复印、派发该报告内容,违者将依法追究法律责任。转载或引用本报告内容需要注明来源,同时不得进行如下活动: ·不得擅自同意他人转载、引用本报告内容。 ·不得引用本报告进行商业活动或商业炒作。 ·本报告中的信息及观点仅供参考,ISC对本报告拥有最终解释权。 专I家I寄I语 当今世界处于数字化转型过程中,社会运行对软件的依赖日益加深,2020年底被爆出的SolarWinds攻击及2021年底爆发的Log4J2安全漏洞,引发全球对软件供应链安全的担忧。 由于开源软件的广泛采用、基础架构云化、以及软件开发全球供应链的原因,软件供应链安全问题的解决变得尤为困难,ISC推出的这份《软件供应链安全行业洞察报告》可以为国内软件供应链安全问题的解决提供一些很有价值信息。 白皮书介绍了软件供应链安全的重要性、现状、风险、攻击类型、治理指南以及落地实践方案等方面的内容。白皮书从市场动态、技术发展、政策法规等方面分析了软件供应链安全的现状,同时还对软件供应链安全风险进行了分析,包括软件供应链的构成要素、软件开发生命周期阶段、软件供应链威胁行为类别以及软件供应链安全风险影响范围等维度。接着,对软件供应链攻击类型进行了分析,包括开发阶段、分发阶段、部署阶段和维护阶段等不同阶段的攻击类型。在此基础上,提供了软件供应链安全风险治理指南,包括软件供应链风险治理体系建设、软件供应商风险管理以及软件开发生命周期风险治理指南等方面的内容。最后,介绍了软件供应链安全落地实践方案,包括悬镜软件供应链安全治理与运营解决方案在某金融机构的落地实践案例和某能源集团软供安全漏洞自动挖掘和修复落地实践等方面的内容,同时也探讨了软件供应链安全未来的发展趋势。 软件供应链安全是当今网络空间安全的热点问题之一,一系列法律法规、最佳实践、技术、产品、流程还在在快速的完善过程中。关注软件供应链安全,保护信息安全、组织声誉、降低法律风险、提高业务持续性、应对市场竞争并提升用户信心。 ————赛博英杰创始人谭晓生 报告从软件供应链的“安全风险、攻击类型、风险治理、未来趋势”等方面做出论述和洞察,并且附上了真实有效的落地案例,内容全面、技术详实、观点清晰,可作为各组织与机构在规划、实施软件供应链安全工作中的重要参考。 ————数世咨询创始人李少鹏 近年来软件供应链安全问题备受关注,但软件供应链安全范围不清晰,定义模糊,涉及技术和安全类型复杂。本书结合安全形势,抓住软件供应链安全的核心,预测了软件供应链安全的发展趋势,对软件供应链的认知提升具有重要意义。 ————赛迪顾问业务总监高丹 数字化浪潮中,软件供应链安全不仅是技术上的挑战,更是企业战略层面的迫切问题。本报告聚焦于揭示其技术和战略层面挑战,强调解决之道非一时之功。全球视野下,深入剖析软件供应链安全当前现状、问题及风险,并提供全生命周期的安全方案。这份研究报告为行业从业者提供了有价值的信息和洞见,值得一读。 ————中国信息通信研究院云大所开源和软件安全部主任郭雪 当前软件供应生态愈发繁荣,然而软件供应链安全问题愈发严峻。ISC发布的2023软件供应链安全洞察,从软件供应链的安全现状、风险分析、攻击类型、风险治理以及落地实践案例等方面进行了深入分析,对软件从业人员和安全从业人员以及相关企业都有很好的启示。希望软件供应链安全的产学研用能真正打通,进一步提升我国软件供应链安全的软实力。 ————中国科学院信息工程研究所研究员软件安全分析群组负责人中国计算机学会高级会员/系统软件专委委员霍玮 随着云计算,大数据,人工智能等技术的飞速发展,IT行业也在发生着深刻的变化。包括软件开发模式在不断的发展和演进,当前软件供应链安全面临着下面三个主要的问题:1.软件来源复杂,软件规模激增。规模带来复杂度和管理难度。包括安全漏洞等治理难度增加,风险增大。2.针对软件供应链的攻击日益猖獗,软件供应链投毒危害较大。3.非技术因素也在影响软件供应链的连续性与可持续发展。基于上面的挑战,软件供应链安全工作变得更加重要,安全管理部门,标准机构,IT头部厂商当前都非常重视软件供应链安全工作。从业界发展趋势来看,软件供应链安全治理工程技术和方法融入安全软件开发框架(SSDF)已经逐步成为共识。做好包括:软件成分管理,生命周期管理,软件完整性保护,开源软件在内的漏洞治理,是软件供应链安全的基础性工作。希望这份行业洞察报告对软件供应链安全的从业人员有帮助。 ————华为存储首席安全官袁燕龙 前言 在这个信息化迅速发展的时代,软件已经变得无处不在,从基础设施到日常设备,软件都在默默支撑着我们的生活和工作。然而,随着软件在全球范围内的普遍应用,软件供应链的安全问题也愈加突出,引发我们深思。 软件供应链安全,简而言之,是确保软件的开发、分发和维护过程中,确保软件及其组成部分(包括源代码、库和组件)不受到威胁行为者的恶意攻击或利用的一种安全策略。在当下全球化和模块化的软件开发趋势下,软件供应链的复杂性日益增加,无疑为软件供应链安全带来了更大的挑战。从最近几年连续发生的软件供应链攻击事件来看,软件供应链安全的问题已经不容忽视。 软件供应链安全的问题对我们的影响是深远的。其问题不仅可能影响软件的正常运行,还可能对使用者、公司,甚至是整个社会造成深远影响。各地政府和企业也都已经意识到这个问题的严重性,并开始寻求解决方案,但由于软件供应链的全球化和复杂性,这项任务变得尤其艰巨。 在这份报告中,我们将从全球视野出发,深度剖析软件供应链安全的当前状态、主要问题、风险因素和应对策略。我们将重点介绍如何在软件供应链的各个环节,从设计开发到部署和维护中实现安全防护,以及如何利用最新的技术和工具提高安全防护能力。 在数字化进程日益加速的今天,软件供应链安全不仅是一个技术问题,更是一个战略问题。同时,软件供应链安全不是一个短期可以解决的问题,它需要我们持续的努力和投入。希望通过我们的分析和洞察,能够为行业从业者提供有价值的信息和洞见,帮助整个行业在应对软件供应链安全挑战的道路上迈出坚实的步伐。 目录CONTENTS 1软件供应链安全概述 1.1什么是软件供应链安全? 1.2软件供应链安全的发展历程 5软件供应链安全风险治理指南 025.1软件供应链风险治理体系建设22 035.2软件供应商风险管理22 4软件供应链攻击类型分析 4.1开发阶段攻击类型分析 4.1.1开发工具污染攻击 4.1.2CI/CD流程攻击 4.1.3源代码篡改攻击 4.1.4第三方依赖攻击 4.1.5依赖混淆攻击 4.2分发阶段攻击类型分析 4.2.1篡改分发渠道攻击 4.2.2篡改安装包攻击 4.3部署阶段攻击类型分析 4.3.1恶意代码插入 4.3.2篡改配置攻击 4.4维护阶段攻击类型分析 4.4.1劫持更新攻击 4.4.2利用陈旧组件攻击 6.3源码级软件供应链安全解决方案落地实践51 2软件供应链安全现状分析 5.3软件开发生命周期(SDLC)风险治理指南5.3.1需求分析阶段 24 24 2.1市场动态分析 06 5.3.2设计分析阶段 25 2.2技术发展现状 07 5.3.3研发测试阶段 25 2.3政策法规要求 08 5.3.4发布部署阶段 32 5.3.5运行维护阶段 34 3软件供应链安全风险分析 5.3.6废弃下线阶段 38 3.1软件供应链的构成要素维度分析 11 3.2软件开发生命周期阶段维度分析 12 6软件供应链安全落地实践方案 3.3软件供应链威胁行为类别维度分析 12 6.1悬镜数字供应链安全方案在某金融机构的落地实践 41 3.4软件供应链安全风险影响范围分析 12 6.2某能源集团软供安全漏洞自动挖掘和修复落地实践 48 6.4某大型制造国有企业应用系统全生命周期安全管理59 15平台项目 156.5CodePecker软件供应链安全解决方案助力某金63 融机构搭建数字研发流水线 15 6.6软件供应链安全测试解决方案落地实践66 16 6.7某头部金融机构UniSCA软件供应链安全管理平台69 16建设项目 17 177软件供应链安全未来发展趋势 177.1加大安全自动化和AI应用的投入75 187.2加强供应商安全审查和监管力度75 187.3采用更先进的加密和身份验证技术76 187.4推行实施更严格的政策和法规77 197.5实现行业内生态合作和共享77 197.6利用体系化解决方案提升安全效能和可行性78 19 20 01 软件供应链安全概述 软件供应链安全概述 1.1I什么是软件供应链安全? 在当今的数字化时代,软件已经成为我们生活和工作中不可或缺的一部分,任何一个领域都和软件的存在紧密相关。因此,软件的开发与生产自然而然的从传统的封闭式、单一环境变成了现在的分布式、多元化模式,形成了大家所熟知的“软件供应链”。软件供应链是指从软件的开发、制作、分发到最终维护和使用的全过程,它涉及多个环节,包括但不限于源代码管理、第三方库依赖、开发工具、集成和部署工具、分发平台等。软件供应链的出现,其实是软件生产和开发过程分工协作、专业化发展的体现。它不仅可以提高软件的生产效率,还可以让各个参与方更专注于自己擅长的环节,从而提高软件的质量。然而,这种分工协作的模式,也给软件供应链的安全带来了新的挑战。 随着软件的复杂性和规模的不断增加,软件供应链的安全难度也在增加。一方面,软件供应链是攻击者寻找弱点和挖掘漏洞的重要领域,其中的每一个环节都可能成为攻击者的目标,攻击者只需要在软件供应链中找到一个薄弱环节,就可以发起攻击,从而影响整个软件供应链的安全性。另一方面,随着开源软件和第三方服务的普及,软件供应链变得更加复杂,安全管理的难度也大大增加。 同时,由于软件供应链涉及多个参与方,每个参与方可能对安全有不同的理解和实践,这使得整个软件供应链的安全管理变得更加复杂且难以把控。不仅如此,软件供应链的安全性直接关系到用户的利益和组织的声誉。换句话说,软件供应链是大多数组织的命脉,如果软件供应链中的任何一个环节出现安全问题,都可能会导致用户的个人信息泄露,甚至引发大规模的社会影响,对企业的声誉造成重大损害。因此,保障软件供应链的安全性至关重要,“软件供应链安全”这一概念也应运而生。 软件供应链安全是指在整个软件供应链中保护软件和软件基础设施免受恶意攻击者的侵害,这包括对软件供应链中的所有环节进行安全控制和管理,例如防止恶意软件的注入、未经授权的访问或修改、组织员工的恶意行为等。其主要组成部分包括软件供应链风险管理、第三方供应商的安全评估、安全开发、自动化安全测试、源代码和组件安全管理等。基于此,软件供应链安全应该包含以下五项关键特征: 安全性:安全性是软件供应链安全最基础也是最关键的特征,这主要涉及到软件供应链的各个环节中,如何防止恶意代码的注入,保护软件不被篡改,防止未经授权的访问等。实现这一点,需要采用各种安全技术,比如安全开发、加密、身份验证、访问控制等,也需要有完备的安全策略和管理机制。 完整性:完整性是指在整个软件供应链过程中,软件的内容、结构和功能都没有被篡改、破坏或丢失,始终保持原始的完整状态。这不仅需要在软件传输和存储过程中保证数据的完整性,也需要在软件修改和更新过程中,确保每一个版本都有完整的记录,并且在发布和使用过程中,软件的功能和性能也不会因为各种原因被削弱或破坏。