想了解相关问题,可以下载报告《证券行业开源治理白皮书》查看,以下内容都是根据该报告总结的,仅供参考。
一、建立企业开源治理规范
1.规范开源供应商及交付物管理
证券行业应建立开源供应商准入机制,保障开源软件供应链风 险可控。证券机构应对供应商设置准入机制,在现有供应商管理规 章制度中增加对供应商开源审查环节,制定开源红线。在开源引入阶段,要求供应商考察开源软件社区活跃度、限制引入处于生命周 期末端或社区活跃度低的开源软件。在开源二次开发阶段,要求供 应商在修改开源软件时需要在修改处进行标记并说明修改方式,同 时保障开源软件各分支管理。在交付阶段,需考察供应商对引入的 开源软件是否有分发说明,并按照要求提供物料清单,包括但不限 于:开源组件名称及版本、开源许可证名称及传染性、开源软件安 全漏洞名称、等级、影响范围及修复情况。
证券行业应建立软件供应商开源使用规则。软件供应商直接引 入开源软件时需进行开源软件选型评估并进行开源软件登记,确定 开源软件引入方式,建立制品库用于存放引入且不修改的开源软件, 建立源码库用于存放引入且修改的开源代码,定期进行研发人员培 训,培养开源风险防范意识。在进行二次开发过程中需注意开源软 件研发留痕,同时规定需要贡献上游社区的场景,减少开源软件分 支,同一研发项目需进行开源软件版本收敛,降低维护成本。供应 商通过外包形式引入开源软件时,需针对外包商建立使用规则,同 时要求外包商提供源码和物料清单,通过合同协议等相关条款约束 发生问题时的责任方。供应商通过采购商业解决方案引入开源软件 时,应要求上游供应商提供物料清单,建立上游供应商准入门槛, 设置开源红线,通过合同协议等相关条款约束发生问题时的责任方。
证券行业应进行开源软件交付物风险确认。一方面,证券机构 应要求供应商在交付前完成对开源软件的风险评估与处理,同时要 求供应商提供分发说明和物料清单;另一方面,证券机构应通过开源治理工具等手段进行交付物开源组成识别,确认交付物闭源部分 无中风险级别以上漏洞,对于出现中风险级别及以上漏洞的情况, 应要求供应商进行修复或提供漏洞影响说明。确认交付物闭源部分 不受 GPL、AGPL 等传染型开源许可证影响,如出现上述情况,应 要求供应商进行解耦处置并开源相关部分,或进行组件替换。确认 交付物开源软件版本收敛情况,对于同一软件出现多版本的情况, 要求供应商进行版本收敛。确认交付物无开源知识产权侵权情况, 对于可能出现的知识产权风险要求供应商进行整改或组件替换。
2.构建企业内部开源治理体系框架
构建组织架构为开源软件直接引入治理提供人员保障。对于直 接引入开源软件进行研发的场景,相关机构需建立开源治理组织架 构,由信息技术治理委员会或架构委员承担开源治理职责。委员会 需划分开源治理角色和分工,保障能够对开源软件进行统一管理。 管理人员需要统筹开源治理战略目标,把控开源软件引入规则和审 批流程,从源头杜绝开源风险。安全人员需要进行开源软件安全漏 洞识别和安全漏洞修复方案制定,同时需要对引入的开源软件进行 开源安全漏洞监控,及时发现新增漏洞并修复。法务人员需要进行 开源软件许可证兼容性、传染性及知识产权审核,对于存在许可证 兼容性冲突和强传染型许可证的相关软件给出处理策略,并审查开 源许可证中可能存在的商标权、专利权、著作权等情况,预防知识 产权侵权风险。技术人员需要关注开源软件技术成熟度,评估开源 软件在研发中的功能满足情况,对开源软件的社区活跃度和版本稳定性进行考察,同时开展开源软件应用成熟度调研,对活跃度较低 或处于生命周期末端的开源软件进行风险评估。
建立规章制度为开源软件直接引入治理提供管理依据。证券机 构应建立一套科学成熟的开源软件管理与使用制度,加强自身能力 建设,安全引入开源技术。包括但不限于如下几方面:开源软件引 入评估流程。证券机构应定期评估机构现存的开源软件,包括但不 限于开源软件依赖信息、开源版本信息、开源许可证信息,掌握开 源软件存量情况,对发现的问题及时处置;同时,证券机构还应进 行开源软件技术评估,包括但不限于同类型软件对比、行业认可度 评估、商业支持度评估等。开源软件安全评估流程。证券机构应从 安全角度对引入的开源软件进行风险评估,包括但不限于开源软件 安全漏洞分析、开源软件法律合规审核、开源软件信息登记等。开 源软件全生命周期持续评估流程。在引入开源软件后,证券机构应 在软件的整个生命周期中对其进行持续关注和跟踪,包括:开源软 件使用流程、开源软件源代码修改流程、开源社区动态跟踪、开源 软件安全漏洞跟踪、开源软件版本跟踪、开源许可证跟踪、开源软 件退出管理等。开源软件风险防范流程。证券机构应针对开源软件 可能存在的风险制定一系列防范措施,包括:开源许可证兼容性风 险防范、开源许可证传染性风险防范、开源知识产权风险防范、安 全漏洞风险防范、个人隐私泄露风险防范、采购和外包法律约束防 范等方面。
二、打造开源治理落地方案
从软件使用全生命周期维度,分析证券行业的两类典型开源技 术使用场景,可以进一步形成可复制、可落地、可执行的开源治理 方案。
对于外购商用软件包含开源技术的场景,从软件使用全生命周 期来看,包括软件采购、软件使用、软件运维、软件退出几个阶段。 在商用软件使用全生命周期中,应主要关注供应链风险、开源组件 安全风险、以及版本更新风险。金融机构应通过合同或协议条款明 确软件供应商的义务和责任,并要求软件供应商对其提供的软件产 品进行安全风险评估和合规审查。针对软件使用过程中开源技术可 能涉及的新增漏洞问题,金融机构也可通过开源治理平台进行安全 风险和合规风险扫描,并通知供应商及时进行风险处置。
对于需要在研发过程中使用开源技术进行系统开发的场景,从 开源技术使用全生命周期来看,包括开源技术引入、使用、持续集 成、发布、运维、退出几个阶段。在开源技术引入阶段需由技术、 安全、法务等部门相关负责人进行评估,评估通过后方可使用。开 源使用阶段和持续集成阶段需持续关注安全风险和合规风险,确认 风险可控后方可进行软件发布。运维阶段需持续对开源技术进行安 全跟踪和许可变更预警,发生新漏洞公开或许可证协议变更等情况 应做到及时预警,同时需持续关注开源组件的服务运行状态、资源 使用情况等观测指标。