2023年9月12日,美国联邦网络安全和基础设施安全局(CISA)发布《CISA开源软件安全路线图》(下称“《路线图》”),从维护联邦政府网络安全和关键基础设施安全的角度出发,明确了政府部门在支持开源软件可持续发展和安全方面的职责定位,部署了关键任务。

《路线图》明确了开源软件的数字公共物品属性,高度关注开源软件漏洞“连锁”效应、供应链“投毒”等两类特有风险,实行美国政府网络和关键基础设施“小核心”重点保护,强化开源生态系统“大范围”联动协作,构建开源软件安全保障整体工作格局,对我国加快提升开源供应链安全保障能力具有借鉴意义。

《路线图》出台背景

近年来,Log4Shell事件、NPM软件供应链挖矿攻击等开源软件漏洞、供应链“投毒”等突发事件波及全球、敲响警钟,美国将开源软件安全上升到国家战略高度予以推进,凸显了建立以政府主导、开源生态主体多方协同的开源软件安全保障体系的紧迫性。

一是落实国家战略之举,明确联邦政府支持开源软件长期安全的国家责任。美国持续加强网络安全顶层设计,将开源软件安全摆在突出位置。美国总统拜登曾于2021年5月签署了《关于加强国家网络安全的行政命令》,其中第4节明确提出要加强软件供应链安全。2023年3月美国白宫发布《国家网络安全战略》,其中3.3节提到美国联邦政府将与私营部门、OSS社区合作投资开发安全软件;7月白宫发布《国家网络安全战略实施计划》,其中第4.1.2节提到通过开源软件安全倡议(OS3I)来促进开源软件安全。2023年8月美国国家科学基金会(NSF)、国防高级研究计划局(DARPA)和管理和预算办公室(OMB)等七个部门共同发起了一份开源软件安全和内存安全编程语言的信息请求(RFI),旨在引导政府和企业建设开源软件安全生态,降低美国政府开源安全风险。本次《路线图》的发布是CISA作为美国政府关键基础设施安全防护的主责部门,在开源软件安全方面发挥监督保障执行、促进完善发展作用的重点举措。

二是应对现实挑战之需,构筑开源软件生态协同应对防线。开源软件是一种公共产品,在软件供应链中被广泛的关联依赖,有“牵一发而动全身”的效果,单一机构和企业很难对开源软件安全予以有效防护。近年来类似开源软件安全事件频发,例如《路线图》中提到:2021年Log4Shell软件漏洞导致全球超40%的企业都遭受了该漏洞的攻击,甚至入侵了美国联邦机构的网络给美国政府带来极大冲击;2022年NPM软件供应链挖矿攻击事件导致超过1200个NPM包被恶意植入挖矿逻辑;同年错别字劫持(typosquatting)攻击也对供应链安全造成了一定影响;同时Synopsys《2023年开源安全和风险分析报告》显示,全球各领域有96%的研究代码库包含开源代码,76%的代码库是开源的,也为美国开源软件安全敲响了警钟。这些事件充分暴露了美网络安全防御能力的严重不足,也进一步证明以往依赖开源社区自律的模式已经显示出“公地危机”,存在安全责任难以落实的问题,开源软件安全保护需要上升到国家协调层面。

《路线图》主要内容

(一)明确“防什么”,重点关注两类开源软件新型安全威胁

一是防范开源软件的漏洞“连锁”效应。它以Log4Shell为例,说明这类被广泛使用的开源软件遭到破坏可能造成巨大影响,并且这类影响会被放大,甚至影响美国政府的基础设施。二是防范开源库的供应链“投毒”。《路线图》以NPM软件供应链挖矿攻击事件为例,说明开发人员恶意植入后门或采取“投毒”行为,将产生对软件供应链下游的严重安全威胁。

(二)明确“做什么”,界定政府部门开源软件安全支持责任

一是以开源社区成员的身份与社区建立合作。通过建立实时合作渠道,CISA鼓励其他成员对CISA提出建议并参与美国政府开源路线图的规划。同时CISA还将通过加入开源社区相关工作组的方式为社区做出贡献。二是鼓励各开源代码/包托管平台协同合作。为推动系统安全行改进和协同工作,CISA鼓励各开源代码/包托管平台协同合作制定OSS生态系统中包管理器和其他集中式平台的安全原则,并加强问责制。三是扩大与国际伙伴的合作。通过跨部门协同,CISA将加强与国际盟友或合作伙伴的合作,并探索互惠互利的合作机会。四是建立CISA内部工作组。通过建立CISA内部开源软件安全工作组,协调CISA在开源软件安全方面的工作,扩展其在开源安全领域的深度和广度。

(三)明确“有什么”:梳理开源软件使用情况,提高风险透明度

一是梳理美国关键基础设施中开源软件使用情况。CISA未来将与美国关键基础设施合作伙伴合作,并结合现有数据源(如CISA的CDM计划)评估美国政府和美国国防部中开源软件的普及和使用情况。同时鼓励行业风险管理机构和关键基础设施相关运营商自愿共享数据。二是制定开源软件风险优先级框架。该框架将根据开源组件的使用级别、维护级别、构建过程安全性等因素计算开源组件的重要度和优先级,并进行排序分类(如支持类、中止类、继续类)。三是重点对美国政府和关键基础设施中使用的开源软件进行风险优先级排序。CISA将根据组件依赖度对美国关键基础设施中的开源软件进行风险排序分类和漏洞分析,梳理最大风险点,确保美国政府精准开展开源相关工作。四是关键开源软件依赖项风险评估。CISA将开发相关程序,对关键开源软件依赖项进行持续风险评估并进行预警。

(四)聚焦“小核心”,筑牢联邦政府开源软件安全防线

一是评选优秀开源安全解决方案。CISA将评选优秀开源安全解决方案并整合到持续集成/持续交付(CI/CD)流程中,以增强美国政府开源管理能力。二是制定开源项目办公室指南。CISA将为设立开源项目办公室(OSPO)的政府机构和其他组织制定最佳实践指南,并提供相应支持。三是推动政府在开源安全管理方面先试先行。依托OS3I,CISA将推动政府在关键领域先试先行,促进开源软件生态的安全和韧性,并且将在美国国家科学基金会、国防高级研究计划局和管理和预算办公室的共同推动下,发布相关报告确定政府先行先试的关键领域。

(五)带动“大范围”:以点带面提升开源软件生态的韧性和安全

一是加快SBOM在开源软件供应链的应用推广。除了继续推进SBOM标准化外,CISA未来将关注SBOM自动生成问题,并加强与产业界合作,共同推动SBOM发展。二是加强开源参与者安全教育培训。CISA未来将依托开源社区汇聚开源安全资源,与美国国家科学基金会等政府机构合作,为开源参与者提供教育培训。三是发布开源安全最佳实践指南。CISA未来将面向政府机构、关键基础设施组织等实体发布开源安全最佳实践,以指导开源安全参与者合规使用开源软件。四是建立开源软件漏洞发布和响应机制。CISA未来将依托开源社区,实时监控组件上游依赖,建立漏洞发现、响应和发布机制。

思考和建议

美国政府通过发布《路线图》,围绕扩大合作、情况摸底、体制机制建设和生态发展等方面细化了开源软件安全工作的目标任务,并凸显了在政府和基础关键设施领域的开源软件安全的重要性。结合我国国情,提出以下几点思考建议:

一是明确各方责任,树立开源供应链风险意识。建立开源软件/组件责任规范,明确开源软件供应链各环节责任,加强开源安全教育培训,实现风险快速定责溯源;二是筑牢安全底座,提高我国关键基础设施透明度。摸底我国关键基础设施领域开源软件使用情况,按等级梳理风险点,切实提升软件供应链透明度以便快速精准采取措施;三是完善管理体制机制,加快关键技术攻关。围绕开源软件从生产到使用的全生命周期,完善开源软件安全审查、风险评价、漏洞跟踪和响应等机制,加快攻关漏洞管理、软件成分分析等关键技术,提高开源供应链管理水平;四是扩大国际合作,促进开源安全生态发展。开源软件作为公共产品,是创新和发展的引擎。政府应加大开源项目支持,吸引国内外开发者共同建设开源生态,搭建开放共享的开源技术平台,深化国际合作,降低技术壁垒,加速形成面向全球的开源生态治理体系。

声明:本文来自CIC 软件视界,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。