前沿 | 国外开源软件安全治理模式研究及工作建议

开源软件是指软件源代码可以被共享和公共使用的软件。在人们享受开源软件的便捷性和广泛性同时,一旦发生开源软件安全漏洞,其危害程度大、波及范围广,将造成较大安全隐患,从而使对开源软件的治理成为一项重要内容。本文在分析开源软件安全风险的基础上,对国外开源软件安全治理模式进行研究,对我国开源软件安全治理工作存在的不足展开反思,基于以上研究,就如何更好地保障我国开源软件安全应用提出相关工作建议。

一、引 言

长期以来,美国是全球开源生态的主导者和规则制定者,汇聚了全球开发者智慧,引领数字化新兴技术产业发展。相较而言,我国开源生态建设起步晚、根基浅、生态弱,开源生态治理经验与国际先进水平差距较大。近段时间以来,由于开源软件在全球各行各业应用广、影响大,如 Strusts2、Log4j2 等开源软件漏洞的爆发引起各国高度关注。我国网络运营者在享受开源软件带来便利的同时,也承担着巨大的安全风险,针对开源软件安全管理的问题应得到更多的重视。

二、开源软件的安全风险分析

(一)开源软件漏洞危害大,波及范围广,修复进度滞后

由于部分底层或通用型开源软件的代码被大量集成在业务系统和商业软件产品中,一旦爆发漏洞,波及面及其广泛。近年来,心脏滴血Open SSL 漏洞(2014 年)、支柱框架 Strusts2 漏洞(2017 年)、Linux SUDO 安全漏洞(2019 年)、Strusts2 S2 漏洞(2020 年)、Log4j2 漏洞(2021年)等重量级威胁逐年发生。以 Log4j2 为例,目前全球暴露在外网的,使用了 Log4j2 组件的资产高达 546 万个,而我国拥有其中的 206 万个,占比近四成。此外,由于大部分开源软件免费使用的性质,开发者和维护方通常不承担任何安全责任,当开源软件存在安全漏洞时,通常会面临“谁来修复漏洞”问题。根据国家计算机网络应急技术处理协调中心发布的《2021 年开源软件供应链安全风险研究报告》显示,2020 年公布的开源漏洞中,编号为 CVE-2009-4067 的 Linux 内核的Auerswald Linux USB 驱动程序的缓冲区溢出漏洞由 POC 披露到 NVD 首次公开时间长达 11 年。开源软件的使用者仅关注官方漏洞库可能无法及时获取漏洞信息,需综合考虑更多渠道的漏洞数据。

(二)开源软件“投毒”危害加剧

开源软件生态“投毒”攻击是指攻击者利用软件供应商之间的信任关系,在合法软件的开发、传播和升级过程中进行劫持或篡改,从而达到非法目的的攻击类型。2022 年 3 月 8 日 GitHub 平台发布公告,Node-ipc 开源软件维护者为表达对俄罗斯在俄乌冲突中的行为的不满,通过 NPM 软件包进行“投毒”,嵌入在开源代码中的恶意程序能够定向擦除俄罗斯、白俄罗斯等国用户的数据。中科院软件所智能软件研究中心团队在开源软件存储库进行恶意扩展包检测中发现,Python官方扩展包被恶意上传了 8 个恶意包及 707 个被“投毒”成功的开源项目。由于开源项目维护者在设计存储库时强调方便快捷,而开源社区的松散式开发维护模式并不对代码的安全机制进行全面审核,使得开源软件能够较为容易地被人为置入后门或恶意程序,进而使得开源项目“投毒”成为一种新型的网络攻击模式。

(三)源代码托管平台“闭源断供”安全隐患凸显

美国出口管制条例规定(EAR,Export Administration Regulations)第 734.7b 和第 742.15b 中要求,所有“公开获得”的源代码(不含加密软件以及带加密功能的其他开源软件),都不受出口管制,而“公开可获得”的带加密功能的源代码,虽不会被限制出口,但需登记备案。目前,国际代码托管平台 GitHub、SourceForge 和 GoogleCode 在其公开的管理办法中均明确声明平台的管理遵守美国出口管制条例,并且司法管辖权均在加州。相关产品不得出售、出口或在出口到 EAR第 740 部分补充文件的国家组 E 中列出的国家和地区,且随时可能会发生变化。随着美国出口管制实体清单中我国企业数量的增加,国内被禁止使用国外开源相关服务的安全隐患凸显。

三、国外开源软件安全治理模式研究

为提升开源软件的安全性,国外推进以开源基金会主导、政府协调、商业公司协作的开源生态安全治理模式。

(一)开源基金会主导建立开源软件安全机制

2020 年 8 月,Linux 基金会牵头成立开源软件安全基金会(OpenSSF)。OpenSSF 作为跨行业的全球开源安全合作组织,汇聚了全球开源安全精英,通过建立开源开发者最佳实践、保护关键项目、开源项目安全风险识别、供应链完整性、安全工具和漏洞披露等专项工作组进行协作和集中努力,以提高开源软件安全性。受微软和谷歌等科技公司支持,OpenSSF 于 2022 年 2 月进一步推出 Alpha-Omega 计划,联合安全团队和开发人员系统性挖掘并处置开源软件项目中尚未发现的漏洞,进而提高开源生态整体安全。OpenSSF 各工作组情况如表 1 所示。

(二)政府协调建立开源安全治理规则

2020 年 10 月,欧盟发布《开源软件战略(2020-2023)》指导开发者遵循 IT 安全最佳实践,并设立开源项目办公室(EC OSPO)鼓励和促进开源生态安全治理。2021 年 1 月 13 日,EC OSPO 设立 20 万欧元的开源项目漏洞奖励计划,着重提升在欧盟内广泛使用的 LibreOffice、LEOS 等开源项目的安全性。《开源软件战略(2020-2023)》主要内容如表 2 所示。2022 年 1 月,美国国家安全顾问杰克沙利文和副顾问安妮纽伯格就 Apache Log4j2 开放源代码漏洞所带来的巨大影响,组织白宫开源安全峰会,商讨开源软件安全问题处理机制。峰会强调了建立政府和开源相关方的协作,对开源软件实施持续的安全监测,并推进供应商落实《关于加强国家网络安全的行政命令》。

(三)商业公司积极推进开源项目安全应用

以谷歌、微软等为代表的商业科技公司,目前已初步建立了开源项目威胁建模、源代码审核、自动化安全测试在内的主动防御机制,通过对采用的开源代码进行安全验证和组件标识,以提升商业软件产品的安全性和安全漏洞处置的及时性。此外,各公司之间还设立了协作规则,以开源社区为主联合上下游供应商协同解决开源软件的供应链安全问题,进而保证对突发重大安全事件做出及时响应,协同修复高危安全漏洞。

四、我国开源软件安全治理工作存在的不足

与国外相较而言,我国开源生态建设起步晚、根基浅、生态弱,开源生态治理经验与国际先进水平差距较大。

(一)国际开源生态参与程度高、规则制定话语权弱

2021 年度 GitHub 开源情况报告显示,我国开源软件开发者共计 755 万人,华为、阿里等参与开源项目的开发者人数均列居全球前 10 位。预计到 2030 年,我国将成为世界最大的开源项目应用市场。同时,国内开源软件应用排名前 20 的项目则均由国外代码平台进行维护,平台的运营规则、约束条件、代码管理等均由甲骨文、惠普、思科等国外商业公司主导,我国严重缺失开源规则制定的话语权。

表1 OpenSSF 各工作组情况

前沿 | 国外开源软件安全治理模式研究及工作建议

表2 《开源软件战略(2020-2023)》主要内容

前沿 | 国外开源软件安全治理模式研究及工作建议

(二)国内开源安全生态建设起步晚、根基浅、生态弱

目前,国内已建起各类开源代码托管平台、开源社区和开源软件基金会,多数龙头企业内部已设立完整的部门建制以专门负责生态构建,但较完备的开源安全生态建设仍存在较大不足。在开源操作系统方面,国内 deepin(深度)社区和 openKyLin(开放麒麟)社区等操作系统均基于 Linux 内核开发,版本迭代和技术路径依赖国外主导的开源社区。2022 年 5 月和 6 月期间,deepin 和 openKyLin 分别宣布主导建设自主根社区,构建基于底层核心技术支撑、自研开源项目组件应用和安全漏洞维护管理的全链条供应链安全机制仍处于初级探索阶段。

(三)网络运营者开源软件安全自主维护能力不足

目前,商业软件供应商通常在未做安全验证的情况下直接引用开源软件,并将其集成和开发至商业软件产品中,导致企业用户信息系统中被动地引入了相关组件。据统计,2021 年开源代码在电信和互联网、党政办公、网络安全等领域应用比例已超 80%,教育培训、医疗健康、金融服务等领域应用比例近 70%,开源软件已成为我国软件生态不可或缺的组成部分。开源软件如果在商业软件产品中无序使用,将会造成用户安全风险不可知、不可控。软件来源合法性和安全测试验证机制缺失。对网络运营者而言,由于缺少漏洞信息跟踪能力,针对开源软件安全漏洞修复存在明显的滞后性,已公开的漏洞可被长期用于对供应链上游软件的攻击,进而演化形成简单易用的武器化漏洞利用工具,严重威胁关键信息基础设施的安全运行。

五、相关对策建议

随着开源技术的广泛应用,开源软件项目实际上已经成为我国软件开发的核心基础设施之一,推动建立国家引领安全需求、行业自律约束规范和企业自主可控应用的开源生态安全治理工作机制,对保障我国数字产业化安全发展具有重要意义。

(一)强化开源软件供应链安全保障

以国内开放原子开源基金会、开源社区、代码托管平台和国内商业公司为依托,吸引软件企业、科研院所、高校、开发者、投融资机构等各类主体广泛参与的运营模式,打造形成国际知名的头部开源运营社区,提升国内开源软件的安全治理水平,逐步构建开源软件供应链安全生态的良性循环。

(二)推动开展开源软件安全检测和开源软件溯源分析

借鉴国际做法,制定并推广软件物料清单(SBOM)统一标准,提升开源软件的可追溯性。汇聚国内第三方安全检测队伍和开源社区相关方,组织开展面向重点行业软硬件产品的供应链安全检测分析工作,形成各类基于开源生态软件产品的关系依赖全景视图,实现开源软件安全风险可知、可控和可防的安全保障机制。

(三)推进开源安全治理规则建立,用开源的方式保护开源软件安全

以《网络安全法》《数据安全法》《网络产品安全漏洞管理规定》等法规落实为契机,加大我国开源安全理念宣传推广,通过国际交流活动和开源社区协作模式,构建产学研用安全协同保障机制。构建和营造重视开源生态开放、透明、安全理念的氛围,引导和推动国内外开源生态各方恪守法律底线,敦促依法使用开源项目。

(本文刊登于《中国信息安全》杂志2023年第3期)

本文转载自https://mp.weixin.qq.com/s?__biz=MzA5MzE5MDAzOA==&mid=2664182609&idx=2&sn=5b09a80b4de6de102f0a82080cc7f205&chksm=8b5931a8bc2eb8be859617b189eb946a942b7fe2721a2e8ff9b177877159efc0338b06cc2632&scene=27,本文观点不代表墨知立场。

(1)
上一篇 2023年8月21日 下午5:47
下一篇 2023年8月31日 下午3:24

相关推荐

  • 软件供应链攻击的演变史

    作者:Vishal Garg 软件供应链攻击在过去几年中迅速增加,包括SolarWinds和Log4Shell在内的一些备受瞩目的事件提高了人们对它们对网络安全构成的潜在风险的认识。 这些攻击引起了公共和私营部门的广泛关注,因此,美国总统于 2021 年 5 月 12 日发布了一项关于改善国家网络安全的行政命令,其中有一个部分专门致力于改善软件供应链安全。 …

    2023年9月7日
    0
  • Java开发初学者的五条安全小贴士

    前言 得益于Java的完备生态,Java一直是非常热门的编程语言。但对于刚刚接触Java的开发者来说,很少会去关注安全相关的问题,没有养成良好的开发习惯,在开发过程中容易带来安全隐患。 我们在本文中总结了五条简单有效的小建议。 一、及时更新依赖组件版本 在Java开发中,开发者经常会用到各类开源组件来实现自己的功能点,但是许多开发者不常关注安全资讯,不了解开…

    2023年8月9日
    0
  • 剖析美国政府视角下的ICT供应链安全

    2018 年 11 月 15 日,美国国土安全部(DHS)宣布成立了信息和通信技术 (ICT) 供应链风险管理(SCRM)工作组,这个工作组是由美国多个政府部门、IT行业企业代表及通信行业企业代表联合成立的。该组织对外宣传的目标是识别和管理全球 ICT 供应链的风险。 之后该组织非常活跃,2024 年 2 月 6 日,该组织刚刚宣布将工作组延长两年。我们翻阅…

    2024年3月25日
    0
  • ChatGPT类AI软件供应链的安全及合规风险

    AIGC将成为重要的软件供应链 近日,OpenAI推出的ChatGPT通过强大的AIGC(人工智能生产内容)能力让不少人认为AI的颠覆性拐点即将到来,基于AI将带来全新的软件产品体验,而AI也将会成为未来软件供应链中非常重要的一环。 在OpenAI的文档中,例举了可以利用其实现的48种应用场景,人们在积极探索如何将以ChatGPT为代表的AI能力应用到各行各…

    2023年8月9日
    0
  • 确保供应链的网络弹性的方法

    在数字化的现代时代,供应链网络攻击的威胁日益严重,对各行各业和各个规模的组织构成了即将到来且隐蔽的威胁。去年,供应链攻击占所有违规行为的19%,显示出其惊人的威力。进入2023年,像三月份臭名昭著的3CX黑客攻击这样的重大事件进一步证明了加强供应链网络安全的必要性。 那么,是什么让供应链成为攻击者的诱人目标呢?云技术的增长和数字化先导战略的采用使得供应链变得…

    2023年8月31日
    0