解析开源软件引入过程中的安全及合规治理

  随着企业对数字化转型的需求日益增加,开源软件因其灵活性和成本效益在企业中的应用日益广泛。根据2021年工信部发布的《十四五软件和信息技术服务业发展规划》,全球97%的软件开发者和99%的企业使用开源软件;根据新思科技(Synopsys)2024年开源安全和风险分析报告,有96%的被审代码库包含开源代码。由此可见,开源模式作为软件产业的“标准件库”,对于业务生态发展具有重要意义。

  然而,开源软件的广泛使用也带来了安全与合规风险。未经审核的开源代码可能包含漏洞,威胁信息安全;复杂的许可证要求则可能引发法律问题。有效管理开源软件的引入对于确保安全和合规至关重要,这也对企业的开发、安全、运维一体化(DevSecOps)流程建设具有重大价值,有助于提升开发、运营和安全的整合效率。

  本文将从开源软件的安全及合规的风险分析出发,探讨开源软件引入过程中的潜在风险与应对策略,并基于行业经验为企业的开源安全建设与开源合规治理工作提供一些建议。

  尽管开源软件的引入对于推动创新、降低成本具有重要作用,其带来的风险也不容忽视。下图列示了OWASP(开放式Web应用安全项目组织)在2024年发布的开源软件十大风险:

  下文将从开源软件引入流程中企业面临的安全风险与合规风险两方面详细介绍,并探讨其可能对企业造成的影响。

  在软件开发与迭代过程中,常常会暴露出一些与开源代码相关的已知漏洞,这些漏洞由社区的安全研究人员公开披露。如果这些漏洞未得到及时修复,黑客可能会利用已知漏洞对应用展开多种形式的攻击,试图破解系统安全防护,甚至造成数据泄露、系统瘫痪等严重问题。例如,2017年,一家全球领先的消费者信用报告、数据分析和技术公司发生了严重的数据泄露事件,就是因为Apache Struts开源框架1中的一个已知漏洞未能及时修复,导致黑客成功入侵,暴露了约1.43亿美国用户的个人信息。此事件不仅给该公司带来了巨大的经济损失,还严重损害了其声誉。

  根据新思科技Synopsys 2024年的统计,经过风险评估的代码库中,有84%的代码库至少存在一个已知漏洞。这意味着企业在使用开源代码库时,系统安全性与数据保密性有较大可能面临威胁。

  在理想状态下,企业的信息安全部门应当深入参与到软件设计、开发、测试、部署、维护的整个生命周期中,保障软件开发安全;然而实务操作中,并非所有项目都得到积极的维护和更新。很多企业往往出于资源缺乏、流程欠缺、下游开发者经验不足等原因,开源软件的安全漏洞无法得到及时的发现与处理。在此期间,软件将长时间处于高风险状态,增加了被攻击的可能性。

  在恶意攻击中,攻击者可能通过创建名字相似的库或向受信任的库中注入恶意代码,诱使开发者将这些恶意软件引入到他们的应用程序中,例如,攻击者伪造名为festjson的软件以冒充fastjson(仅作示意)。这种恶意九游娱乐软件一旦被引入,可能导致企业系统被入侵、数据被窃取,甚至导致业务整体中断。

  除了安全风险之外,使用开源软件还可能面临一系列合规风险。如果处理不当,企业可能面临诉讼、罚款以及品牌形象受损等一系列问题。

  开源软件通常附带许可证,规定了软件的使用、修改和再分发方式。虽然开源许可协议形式较为松散,没有经过双方签字确认,但仍然具有合同属性,属于以实际履行为生效条件的约定。

  2021年,某国内科技公司在使用开源代码时,未遵守其许可证所规定的使用条件,被起诉侵害计算机软件著作权,最终须下架涉案软件,并向原告公司赔偿50万元。由此可见,企业在使用开源软件时,须重点关注许可证对于商用、再分发等权利义务的要求,如果未能遵守这些许可证条款,可能引发法律纠纷、诉讼、经济赔偿等后果。

  不同的开源许可证有不同的要求和限制,这些要求和限制有时会相互冲突。如果一个项目中使用了具有不兼容许可证的多个开源软件,可能会造成许可证兼容性问题。如果未能妥善处理,企业可能会停止使用某些组件或重新编写代码,最终增加开发成本、延长开发周期。

  某些开源软件的许可证(例如General Public Licenses,以下简称“GPL”)要求,任何包含其开源软件的软件也必须采取相同的开源许可条款进行发布。如果企业盲目引入该等开源代码,将对其专有代码的私密性造成威胁。例如,2008年自由软件基金会(FSF)诉称某全球领先的网络解决方案供应商旗下品牌产品违反了其GPL协议。根据GPL要求,如果企业销售的产品基于此类开源代码,则必须同样开放产品的源代码。最终,该企业不得不在网站上发布产品的源代码,并将其反馈给FSF。由此可见,企业在开源软件引入流程中务须完整审查所有许可证条款,否则可能面临自有知识产权受到侵犯的严重后果。

  综上所述,企业在使用开源软件时,须重视其安全风险与合规风险。如果未能妥善管理这些风险,不仅可能导致数据泄露、业务中断,还可能引发法律诉讼和知识产权纠纷,对业务运营和企业声誉造成重大影响。如果企业希望在享受开源带来的优势时能够有效应对相关风险,则开源治理势在必行。

  有效识别、跟踪和管理开源软件,不仅是企业软件安全治理的重要环节,也是提高软件供应链安全水平的关键因素。为有效应对开源软件的安全及合规风险,企业须制定全面的开源治理策略,完善相应流程。基于行业观察与咨询经验,普华永道为企业提出以下几点应对建议:

  漏洞扫描工具有助于企业实现安全漏洞的精准定位与自动识别。这些工具能够深入分析源代码,识别出不同语言的安全漏洞,并根据严重性、利用可能性和受影响的系统范围进行风险评估,最终生成详尽的报告。通过利用漏洞扫描工具,企业能够及时了解开源软件的安全状况,快速响应安全事件,并及时执行必要的修复措施,从而在保障业务连续性的同时,维护信息安全、保障运营效率。

  除了安全漏洞,许可证合规性也是开源软件管理中的关键一环。企业需要对所使用的开源软件的许可证进行详细审查,检验是否存在条款冲突和违约隐患,包括但不限于源代码的披露义务、必要的版权声明、以及可能的专利授权。企业需确保在使用、分发或修改开源软件时,严格遵守这些许可证的具体规定,避免因疏忽或不了解而导致的法律风险和潜在的商业损失。

  在传统做法中,企业通常采用上述两种方式应对开源风险。尽管能够在当下弥合安全合规缺口、响应合规需要,但往往缺乏可持续性,难以满足长期开源治理需求。对于企业而言,仍需建立健全长期开源软件管理机制,以全方位提升开源治理水平。

  在开源软件的引入流程中,通常涉及开发团队、信息安全部门、法务与合规部门等多个团队的共同参与,这些团队关注的重点和需求有所不同。

  企业若想实现不同团队之间的紧密配合与迅速响应,需从机制建立和流程建设抓起,着眼各个团队的工作目标与需求重点,梳理当前业务流程中的断点与痛点,从企业整体层面进行布局。借助开源治理机制的建立,明确各业务团队的角色责任,规范开源治理流程,提高整体管理效率和响应速度。

  为了更好地管理开源软件,企业可通过搭建线上自动化流程,管理开源软件的引入、使用、退出各个阶段,实现开源软件的全生命周期管理。对于开源软件的检查应包含来源可信度、安全漏洞以及许可证合规风险等多个维度,通过嵌入标准化、系统化的管理路径,保障开源软件安全使用,提高产品开发效率。

  为了便于跟踪和审计,企业应创建并维护详尽的开源软件清单,全方位记录使用的所有开源软件及其版本和许可证信息。该清单不仅有助于企业全面了解当前的开源软件使用状况,及时查证开源软件版本信息,掌握各产品的开源软件使用情况,还能够在安全事件发生时,迅速定位问题组件并做出响应。

  提高开发团队的安全意识和合规知识是开源软件管理中的重要环节。企业应定期开展安全合规培训,包括开源软件可能带来的安全风险、许可证合规的具体要求、以及如何有效使用漏洞扫描工具等关键领域。通过这样的专业培训,开发团队不仅能够更加敏锐地识别潜在的安全威胁,而且还能掌握必要的知识和技能来妥善应对这些风险,从而在日常工作实践中提升整体的安全防护水平。

  普华永道拥有多年安全评估与咨询服务经验及多个开源软件治理项目的实操积累,致力于在开源治理方面为企业提供全方位的开源软件风险识别、开源治理咨询、安全意识培训服务,协助企业完善开源软件治理机制,提高开源安全合规水平。

  协助企业及时跟进多方权威渠道发布的漏洞信息,建立全面漏洞知识库,为企业构筑坚实的安全防护。此外,根据企业的业务场景属性与安全管理需求,漏洞知识库可进行定制化调整,精准满足企业的个性化需求。

  支持提供对多种主流开发语言的漏洞扫描服务,并针对多种类型许可证提供详细解读,帮助企业快速识别潜在合规威胁。

  普华永道将综合考量安全、合规等关键要素,提供风险等级评估与风险治理建议,同时依据行业最佳实践,帮助企业对漏洞修复做出优先级排序,为企业开源治理提供“漏洞检测-识别-评估-应对”的全链路解决方案。

  普华永道提供专业的安全合规培训服务,提升企业安全意识。培训覆盖开源软件的安全风险管理、许可证合规要求、以及如何有效利用漏洞扫描工具等方面,确保企业团队能够与时俱进,掌握必要的安全技能和知识。

  开源软件的安全及合规治理无法一蹴而就,是一个持续性、常态化的过程。面对瞬息万变的外部环境,企业须从管理框架、技术手段、人员培训等多方面综合施策,建立并完善开源软件的安全及合规治理机制,从而在开源软件应用中游刃有余,在安全、合规、稳定的前提下,实现开源软件的充分利用,保障业务的可持续发展,提高竞争优势。

  涉未成年人违规内容举报算法推荐专项举报不良信息举报电话举报邮箱:增值电信业务经营许可证:B2-20090237