文 | 中国海洋石油集团有限公司 魏国华 唐成功 安伟 苑舒斌
随着数字化转型浪潮席卷全球,软件供应链安全已从技术命题升级为国家战略课题。我国相继发布一系列网络安全法律法规、规章制度和技术标准,通过对加强网络安全及信息技术供应链管理提出明确要求,对定制开发软件进行源代码安全检测以控制组件风险,同时识别潜在安全风险,建立软件物料清单(SBOM)和代码安全审计机制,构建软件供应链安全管理体系,是强化信息技术供应链安全的重大举措。积极响应政策要求,围绕代码审计和软件成分分析开展技术研究,对信创基础软件进行专项试点检测已达到预期效果,体现了中国海洋石油集团有限公司(以下简称“中国海油”)软件供应链安全管理体系的实践意义。
一、软件供应链安全管理面临的挑战
在数字化转型逐步深化的过程中,软件成为辅助企业进行生产、管理和决策的重大手段,其安全性决定了各项工作能否顺利进行。安全风险存在于软件开发、分发、升级等全生命周期各个环节。随着软件供应链攻击持续左移,软件自身安全管控面临诸多挑战。
一是软件数量庞大、类型繁杂。随着信息技术的不断发展,软件应用越来越普遍。尤其是在数字化转型的推动下,人工智能、大数据和物联网等新技术蓬勃发展,软件在各层面应用的广度和深度不断拓展。企事业单位的软件数量不断增长,应用场景逐渐细化。从数量上看,据中国版权保护中心统计,2024年软件版权登记量达282.7万件,同比增长13%,创历史新高。其中,制造业、金融、能源等关键行业贡献显著,八个重点行业(含能源、医疗)新增软件7.7万件,占全国软件总量的32%。软件类型繁杂多样,按安全应用领域区分,可分为生产软件、经营管理软件、研发设计软件、安全防护软件等。这些软件广泛应用于政府、能源、金融、通信等各个领域。以中国海油为例,现有自研及成套购置软件超2000套,覆盖勘探开发、生产调度、办公管理、安全监控等各个环节。软件数量的快速增长和类型的高度分化,导致管理难度和复杂度加大,软件安全管控风险突出。
二是技术路线不统一。企业内部软件技术路线不统一的问题日益凸显,成为数字化转型过程中的痛点。由于不同业务部门或项目组在信息化建设过程中往往根据自身业务需求自主选择开发方式与技术框架,导致企业内部多种技术路线并存。例如,企业内部可能同时存在C、Java、Python等多语言开发的软件,单体架构、微服务架构等多种架构开发的系统,Windows、Linux及国产操作系统等多平台,混合使用多种数据库。这种碎片化技术生态难以形成统一安全策略,不仅增加了安全管控复杂程度,还可能导致防护措施存在盲区。
三是第三方组件管控困难。当前,软件研发广泛采用灵敏开发和低代码开发技术,一般会引入大量的第三方模块和组件以提升开发效率,但这些组件也存在明显的安全风险。第三方组件数量庞大且更新频繁,企业难以全面把控其版本迭代、漏洞修复和安全补丁动态。另外,多数企业对第三方组件的使用缺乏统一的准入机制和安全管理,导致组件来源不明、版本混乱、依赖关系复杂,进一步增加了安全审计和漏洞追踪的难度。例如,Log4j组件漏洞事件给众多企业带来了严重安全威胁。这种“黑箱”式依赖可能使企业陷入被动应对局面,一旦组件暴露安全缺陷,可能引发连锁反应,威胁整个系统的安全性。
二、构建软件供应链安全管理体系
在当前数字化时代,软件供应链已成为支撑各行业业务运营的关键环节。不过,软件供应链高度复杂,涉及多个环节和多个参与主体。例如,能源行业就涉及工业控制系统、能源管理平台、办公经营系统等,且广泛依赖第三方提供的软件模块和组件。这些模块组件可能存在安全漏洞和恶意代码,增加了供应链的风险,导致网络攻击风险显著增加。在软件安全管控面临上述多重风险的情况下,构建软件供应链安全管理体系至关重大。因此,从风险识别、安全管理、技术防护及合规治理等方面探讨软件供应链安全管理体系的构建路径,加强能源行业软件供应链安全管理,有效防范外部攻击和安全漏洞,可以为各行业提供可复用的安全框架。
一是识别软件供应链风险,构建风险评估体系。软件供应链支撑软件设计、开发、采购、交付、运维的整个过程,涉及多个组织及多个来源组件,其风险具有隐蔽性、扩散性和复杂性,识别软件供应链风险是软件安全管理的起点。软件供应链风险需通过系统化方法全面审视,技术层面涉及代码缺陷、开源组件漏洞、依赖项污染等;管理层面关注供应商资质、资产清单排查等;合规层面则聚焦政策法规变化、知识产权争议等。因此,应以技术层面为切入点,从软件的开发、使用和运营多个维度,关注代码漏洞、敏感信息泄露、组件安全、软件物料清单安全、软件迭代、供应商开发能力、软件许可证等问题,构建软件供应链安全风险分析体系。
二是健全管理机制,夯实供应链安全治理基础。在现代软件开发模式下,软件供应链往往涉及多方组织,管理措施的缺乏可能会导致不同组织之间的业务协作环节存在潜在安全风险。建立管理体系是保障软件供应链安全的制度基础,需覆盖软件供应商安全管理、软件开发到运维管理的全流程。在管理制度上,进一步规范覆盖软件供应链各环节的安全管理,明确供应链中供方、需方、第三方与监管方等相关主体需履行的安全义务和应承担的法律责任,完善安全管理机制。在标准规范上,鉴于当前我国尚无SBOM标准格式相关国标,应在现有软件供应链安全标准规范的基础上,进一步完善软件供应链安全相关技术标准,明确SBOM格式规范,指导各行业实现软件成分风险标准化、可视化。
三是加强技术防护,实现全链路安全加固。随着软件信息产业的发展,基于开源第三方基础组件进行二次开发的研发模式成为软件开发的主流。这种模式加快企业软件开发节奏的同时提高了软件质量。但是,在软件供应链攻击不断左移的形势下,软件开发过程中的源代码漏洞与篡改、开发工具污染、开源组件污染成为供应链攻击的主要方向,且攻击隐蔽性更强、范围更广。因此,围绕代码安全和组件风险加强技术防护是防范软件供应链风险的关键。对于代码安全,根据Synopsys发布的《2024年开源安全和风险分析(OSSRA)报告》的数据,96%的代码库(所有构成应用程序或服务的代码和相关库)包含开源代码,越来越多的开发人员使用开源生态系统的软件包,海量软件包扩大了软件供应链的攻击面,带来更多安全风险。虽然在开发过程中代码缺陷不可避免,但通过代码安全检测技术可以发现、定位进而排除软件的安全隐患,保障软件开发安全。对于组件风险,Gartner发布的软件供应链安全指南预测,到2027年,80%的企业将采用专门的流程和工具降低软件供应链安全风险,而2023年,这一比例约为50%。这意味着仍有许多企业尚未建立完整的组件追溯体系,不清楚自身使用了哪些组件以及存在哪些组件风险。因此,提升组件风险分析能力,形成SBOM对于企业修复软件安全盲区至关重大。
四是落实合规治理,防范法律风险。近年来,各行业对软件供应链的关注度不断提升,其安全性与合规性愈发重大。软件供应链涉及软件开发到交付的多个环节,潜在风险涵盖数据隐私泄露、知识产权侵权、代码安全漏洞及许可协议冲突等多维度。为有效应对上述挑战,企业需构建系统性的合规治理体系,对软件供应链进行全面梳理和评估,明确每个环节的法律要求、合规标准以及可能存在的风险点,例如,开源软件许可证的合规使用、第三方代码的知识产权归属问题等。在此基础上,建立完善的合规管理制度与流程,强化供应商资质审查,开展软件许可证合规性评估,实现对软件开发、采购、维护等全生命周期风险管控,确保每个步骤遵循相关法律法规以及行业最佳实践。需通过合规治理避免因供应链不合规引发侵权诉讼、数据泄露等法律风险,保障企业的合法权益,提升市场竞争力,为软件产业的健康可持续发展奠定坚实的基础。
三、软件供应链安全管理的实践与效果
中国海油始终高度重点关注网络安全工作,针对软件系统制定了多层次、多元化的防护措施。为积极响应政策要求,切实保障软件供应链安全,中国海油通过制度建设和技术研究,构建起制度规范、技术支撑、工具应用一体的软件供应链安全管理体系,为软件供应链安全筑牢防线。
一是加强软件供应链安全管理工作。一方面,加强制度建设,深化“本质安全”管理。中国海油践行网络安全左移理念,将防护重心从传统边界防御转向软件自身安全加固。为规范软件安全管理,研究编制软件供应链安全管理制度,从软件供应商全周期安全评估、考核评价等环节加强管理。同时,强化软件全流程管控,建设信息资产管理平台及资产数据湖,建立软件供应链资产清单,维护开源软件库,将安全检查融入软件供应链资产、开发、采购、运维等各个环节,形成覆盖软件全生命周期的安全管理闭环,保障软件供应链安全可控。另一方面,聚焦技术攻坚,构建软件供应链防护矩阵。中国海油创新提出了适用于多场景、多类型软件的安全检测技术方案,围绕开源、闭源软件的代码安全与软件成分分析,研制“1个平台+4个工具”。“1个平台”即软件供应链安全检测平台,将资产管理、供应商安全开发能力评价、软件物料清单管理、软件风险全生命周期管理和开源与闭源软件安全检测技术深度融合,全面提升软件供应链安全管理能力;“4个工具”分别为开源与闭源软件的代码安全检测工具和其成分分析工具。其中,代码安全检测工具聚焦代码安全与合规问题,识别代码漏洞及风险,具备每小时80万行代码检测效率、支持2000多种缺陷类型的能力;软件成分分析工具聚焦组件风险,能够识别开源与闭源软件、成套工具软件(含信创)、工控软件、设备固件等组件、漏洞及许可协议风险并形成清单,覆盖1.7亿开源软件基础信息、适配3000多种许可协议。
二是重点关注软件供应链安全检测实践。为贯彻国家网络空间安全战略,保障公司信息系统安全稳定运行,中国海油积极发挥软件安全检测技术优势,对基础软件如操作系统、数据库、中间件、浏览器等进行软件成分分析等专项检测,率先将二进制软件成分分析工具应用于专项检测,检出37个风险组件、69个漏洞及9个风险许可协议,包括极危漏洞6个(通用漏洞评分系统(CVSS)评分≥8.0)、高危漏洞29个(CVSS评分≥6.0)。在检出的37个风险组件中,高危风险组件有gpac(12个漏洞)、xorg-server(4个漏洞),存在远程代码执行、内存损坏等风险。在69个漏洞中,缓冲区溢出漏洞25个,占比36.2%,涉及zlib、xorg-server、gpac等组件;密码协议库漏洞5个,占比7.2%,涉及openssl、gnutls28等组件。在9个风险许可协议中,高风险6个,包括4个GPL系列许可证和2个专有许可证,存在商业代码强制公开和授权追责等风险。针对发现的基础软件风险,中国海油第一时间组织对接研究,逐项分析评估,形成问题整改清单,督促软件厂商完成漏洞修复、组件替换及开源许可证合规性调整工作,并明确整改时限,确保系统安全稳定运行。专项检测实现了对软件成分、已知漏洞及许可协议风险的全面检测,达到了预期效果。
总之,随着信息技术的不断发展,软件供应链安全面临软件数量庞大、组件难以管控、技术路线多样等复杂、紧迫、多样的挑战,而这些问题持续威胁着企业信息安全。通过系统性识别软件全生命周期风险,强化管理制度建设与业务流程规范,深入代码审计与软件成分分析技术研究,构建软件供应链安全管理体系,才能保障实现企业的长久安全发展。
(本文刊登于《中国信息安全》杂志2025年第6期)
暂无评论内容