金融业开源软件应用 管理指南

金融业开源软件应用  管理指南

1  范围

本文件提供了金融机构在应用开源软件时的全流程管理指南,对开源软件的使用和管理提供了配套 组织架构、配套管理规章制度、生命周期流程管理、风险管理、存量管理、工具化管理等方面的指导。

本文件适用于金融机构规范自身对开源软件引入、使用及退出的过程管理以及风险管控。

2  规范性引用文件

下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件, 仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本 文件。

GB/T 284582020  信息安全技术  网络安全漏洞标识与描述规范

GB/T 302762020  信息安全技术  网络安全漏洞管理规范

GB/T 302792020  信息安全技术  网络安全漏洞分类分级指南

JR/T 02892024  金融业开源技术  术语

JR/T 02912024  金融业开源软件应用  评估规范

3  术语和定义

JR/T 0289—2024 界定的术语和定义适用于本文件。

4  管理架构

开源软件管理架构如图 1 所示,其中包括配套组织架构、配套管理规章制度、生命周期流程管理、 风险管理、存量管理和工具化管理等 6 部分内容,覆盖 2 个制度要素和 3 个技术管理流程,宜配置 1 个管理工具。金融机构可通过对以下 3 个层面的管理效果开展成熟度自评估,不断完善整体技术管理能 力。

a)制度层面:在配套组织架构和配套管理规章制度上设置针对开源软件应用的管理要求。

b)流程层面:在开源软件从引入到退出的生命周期流程管理、风险管理和存量管理等 3 个方面提 出管理要求。

c)工具层面:宜通过构建基础设施支撑开源软件管理,引入或搭建自动化工具提高管理效率。

 1  开源软件管理架构

5  配套组织架构

5.1  总则

金融机构宜健全开源软件应用管理的配套组织架构,明确职责分工。配套组织架构中主要包括决策 团队和管理团队。

5.2  决策团队

决策团队第一负责人宜为金融机构技术条线总责任人,负责决策和发布开源软件应用管理规章制度、 管理流程和管理策略。

5.3  管理团队

管理团队可为实体组织或虚拟型组织,负责制定和执行开源软件管理规章制度和管理流程,至少包 含以下岗位人员及岗位职责。

a)专项人员:负责起草与维护开源软件管理规章制度和管理流程,并负责开源软件全生命周期日 常管理的具体工作。

b)技术人员:负责对各类开源软件开展技术评估与运行维护工作。

c)安全人员:负责识别和跟踪开源软件安全漏洞风险和修复情况,实现全程可视、可追溯。

d)法务合规人员:针对开源软件引入和使用过程中所涉及的知识产权等法律问题,负责给出专业 的法律建议,提供法务支持。

在管理团队中,除法务合规人员外,其余岗位人员及岗位职责可根据金融机构内部实际资源配置情 况,选择职责兼并、一岗多责等形式建立和完善配套组织架构。

6  配套管理规章制度

6.1  生命周期管理

对开源软件在引入、使用及退出的全生命周期提出明确的管理规定,至少覆盖以下方面。

a)引入管理:制定开源软件引入流程规范,确保流程的统一性,明确要求开源软件经评估通过后 再正式引入。

b)使用管理:制定内部开源软件使用规范,统一开源软件使用规则。

c)持续评估:针对开源软件应用过程中的风险点进行持续跟踪,规范各环节管理举措,至少包括 以下措施。

——版本管理:制定开源软件的版本规范,宜明确更新版本及推荐版本,通过可信下载源获取 并在制品仓库中统一管理。

——持续跟踪:明确开源软件全生命周期中应识别和处置的风险点,安排专项人员对其进行登 记和追踪,并反馈相关人员进行处置。

d)退出:建立健全开源软件退出规则与操作流程,确保所制定的退出规则不与整体研发和运维基 线要求发生冲突。

6.2  应急处置管理

针对开源软件出现重大安全漏洞、停服等突发情况,宜制定特定或整体的开源软件应急处置预案, 规范应急处置流程,合理安排预案演练,做到及时有效地实施应急处置工作,降低风险影响。

7  生命周期流程管理

7.1  总则

金融机构宜建立开源软件流程管理机制,规范开源软件全生命周期中重点环节的管理举措。开源软 件生命周期流程管理环节如图2所示。

图2  开源软件生命周期流程管理环节

7.2  引入管理

金融机构建立开源软件引入流程时,宜对引入的开源软件进行全面记录;在引入评估时宜充分考虑 各类开源软件的差异性。开源软件引入管理流程如图3所示,主要包括以下事项。

a)引入评估:

——对开源软件进行分类分级,例如根据开源软件技术领域、软件语言、软件颗粒度等进行分 类分级。

——按照不同的分类分级标准,安排相应专业领域的技术人员对拟选用的开源软件进行评估。 ——按照 JR/T 0291—2024 中的引入评估内容对各类开源软件进行综合评估。

b)信息管理:

——对引入的开源软件建立清单,详细记录开源软件版本、开源许可证等信息。 ——构建制品仓库,安排专人对开源软件的来源进行统一控制和管理。

 3  开源软件引入管理流程图

7.3  使用管理

金融机构宜明确开源软件使用规则,依据开源软件类别进行统一管理,至少建立开源软件应用台账, 保证开源软件使用有迹可循。开源软件使用管理流程如图4所示,主要包括以下事项。

a)从制品仓库获取相关介质,不宜自行下载。

b)依据开源软件使用情况建立台账,实时记录开源软件的使用版本、使用部门、系统名称、联系 人等,保证开源软件的使用情况可追溯,并安排技术人员对开源软件提供运维支持。

图4  开源软件使用管理流程图

7.4  持续评估

金融机构宜持续关注开源软件使用过程中存在的风险情况,进行监控、登记、反馈,根据风险类型 快速采取措施并及时处置,避免造成安全合规等方面问题,开源软件持续评估流程如图5所示。评估内 容主要包括以下事项。

a)安全漏洞评估:

——持续评估开源软件安全漏洞信息,评估是否存在公共信息渠道中公开的安全漏洞信息。

——安全人员对安全漏洞进行登记,形成安全漏洞详情文件,包括安全漏洞详情、受影响的软

件及其版本,并将安全漏洞信息及时反馈给相关使用部门和技术人员,可结合 GB/T 30276—2020、GB/T 30279—2020 相关要求进行处置。

b)版本评估: 以开源基础软件为主,定期评估是否存在版本过低、更新频次过低等问题,对于需 要废除的软件版本或软件,通知相关人员进行版本升级或软件更换。

c)开源许可证评估: 以开源基础软件为主,定期跟踪开源许可证情况,出现开源许可证变更时, 更新软件清单并重新评估开源许可证是否为著佐权许可证、是否存在开源许可证兼容性问题等 风险。

 5  开源软件持续评估流程图

7.5  退出管理

当金融机构所应用的开源软件已无法满足功能需求和性能需求、发现当前版本存在重大风险隐患或 该开源软件已停止更新等情况时,宜进行退出评估。可按照 JR/T 0291—2024 中的有关要求,对于评估 后需退出的开源软件,制定退出计划,进行统一记录和管理,建立对应的流程化管理机制,开源软件退 出管理流程如图 6 所示。开源软件的退出可通过开源软件版本升级或开源软件更换来实现,主要包括以 下事项。

a)升级机制:

——制定开源软件版本更新方案,存在软件版本收敛需求时,宜明确推荐的版本。 ——定期升级为推荐版本。

——升级版本时,按照 7.2 履行对应的评估工作。

b)更换机制:

——制定开源软件更换方案。

——按照 7.2 履行对应的评估工作。

c)退出机制:

——定期评估之后,有规划地对开源软件进行退出操作。

——进行退出操作后,及时通知相应人员更新相关信息。

 6  开源软件退出管理流程图

8  风险管理

8.1  总则

金融机构宜建立开源软件风险管理机制,对开源软件全生命周期中存在的风险点作出识别、记录, 进行动态管控与及时处置。

8.2  风险识别

为提高开源软件风险防范意识,金融机构可通过以下风险点进行识别。

a)法律风险:

——根据潜在的定制开发需求、所应用的业务系统重要等级等因素,评估开源许可证在发生变

更、出现兼容性问题、未履行开源许可证要求时,可能出现侵害知识产权的风险。  ——对于不存在专利许可条款说明的开源许可证,可通过专业的法务合规人员进行评估。

b)安全漏洞风险:在引入开源软件前进行漏洞扫描,排查是否存在安全漏洞,以及评估安全漏洞 的等级。

c)供应链风险:在开源软件使用过程中,注意上游社区资源发生转移、源码或文档中承载政治主 张、恶意代码注入等风险。对于第三方服务商提供的开源软件或开源代码,宜要求第三方服务 商在可交付成果中提供开源软件或开源代码的相关信息。

8.3  风险记录

专项人员对开源软件风险点进行记录与及时反馈,主要包括以下事项。

a)持续评估:对开源软件的安全漏洞、版本、开源许可证等信息进行全面、统一记录。

b)建立内部沟通机制:安排技术人员、安全人员及法务合规人员对风险进行管控,遇到问题宜及 时通过内部沟通渠道反馈给相关人员。

8.4  风险处置

金融机构对识别发现的开源软件风险问题进行分析,并制定处置方案,根据风险类别主要分为安全 漏洞风险、法律风险和供应链风险,具体处置方式如下。

a)若存在安全漏洞风险,宜从以下方式中选择:

——安装开源社区、开源软件厂商发布的升级补丁以修复安全漏洞。

——及时更新至安全漏洞修复版本。

——修复安全漏洞并提交社区合并。

b)若存在法律风险,例如出现开源许可证兼容性问题,若难以采取其他可替代软件、隔离等有效 风险应对措施进行规避,则进行退出操作。

c)若存在供应链风险,则对开源软件进行升级操作或退出操作。其中,对于第三方引入风险,由 第三方供应商进行处置,同时宜加强对软件供应商在开源软件风险方面的约束,可通过开源软 件成分分析、获取开源软件物料清单、要求提供安全合规评测结果、制定约束性条款等方式避 免风险损失。

8.5  风险评价

开源软件管理部门宜定期通过以下3个方面进行风险评价。

a)开源软件使用情况。

b)开源社区支持情况。

c)开源软件供应商服务品质。

9  存量管理

金融机构宜针对开源软件的存量情况进行梳理、记录与分析,管理措施至少包含以下内容。 a)制定和更新存量开源软件的管理策略与计划。

b)识别、记录开源软件,对开源软件的版本号、开源许可证、官方网站地址或可信下载源、制品 仓库地址等进行记录并持续更新,形成开源软件清单。

c)对使用开源软件的系统名、联系人、使用部门等进行记录,形成开源软件应用台账。

d)监控和全面排查存在风险的存量开源软件,参考GB/T 284582020记录安全漏洞情况,与责任 人建立沟通。

10  工具化管理

金融机构在进行内部软件资产盘点时,如评估认为自身引入的开源软件类型丰富、数量较多,可通 过构建工具的方式对开源软件进行高效管理。工具类型主要包括以下2种。

a)构建金融机构内部管理平台,通过开源软件的线上流程化管理,实现以下需求:

——组织架构:通过平台内置金融机构内部相关人员职责分工,线上处理有关工作及向相关人 员反馈问题。

——流程管理:通过平台实现开源软件全流程线上化、 自动化管理。

——开源软件信息展示:将开源软件引入记录、评估结果、推荐版本、基础信息、应用台账等 信息集合到平台上,便于对开源软件进行可视化展示及统一管理。

——社区信息展示:获取代码托管平台上的开源软件在社区内的相关数据,并在平台上进行展

示,帮助金融机构进行开源软件评估选型。

——制品仓库:统一管理开源软件制品仓库。

b)第三方开源软件自动化扫描工具能够帮助金融机构更快速、准确地跟踪和记录开源软件相关信 息,实现以下需求:

——开源软件台账:实现定期扫描开源软件使用情况, 自动记录更新使用开源软件的系统、联 系人等,形成开源软件台账。

——安全漏洞跟踪:通过定期扫描开源软件代码,查看是否存在中高危安全漏洞。

——开源许可证跟踪:定期扫描开源许可证,查看和提醒是否存在变更或存在兼容性问题等风 险。

11  开源软件应用管理评估方法

11.1  评估层级

金融机构可通过将开源软件应用管理程度划分等级、明确管理项目的方式,对开源软件的管理效果 开展成熟度自评估,提升开源软件治理能力。管理成熟度从低到高分别为如下层级。

a)探索级:执行了开源软件应用管理的部分工作, 尚未形成规范性流程和制度。

b)提升级:形成明确的架构分工和完善的管理流程制度,对开源软件进行流程化管理。 c)成熟级:通过利用开源软件管理工具等对开源软件进行专业化和自动化管理。

11.2  评估模式

 1 可作为评估开源软件管理效果的依据,通过对照开源软件在管理维度、层级、具体管控项达成 情况,提升相应的开源软件应用管理能力。

 1  开源软件应用管理成熟度表

维度

管理程度

管理子项

达成情况

配套组织架

探索级

职责分工

对开源软件进行分散管理,尚未建立明确的职责划分。

提升级

职责分工

a)有相应人员负责开源软件管理工作,有较为清晰的职 责分工。

b)外部法务人员兼任开源法务咨询工作。

 1  开源软件应用管理成熟度表(续)

维度

管理程度

管理子项

达成情况

配套组织架构

成熟级

职责分工

a)具备清晰具体的管理角色与分工,有相应的专项、 安全及法务团队。

b)实现线上处理相关工作,及时向相关人员反馈, 责任到人。

配套管理规章 制度

探索级

制度规范

形成配套管理规章制度,但尚未规范全生命周期中各 环节管理举措。

提升级

制度规范

形成完善的管理规章制度,对开源软件的全生命周期 管理提出明确规定,明确全生命周期中的风险点。

成熟级

制度规范

根据内部实际情况持续更新优化开源软件管理规章 制度内容。

流程管理

探索级

使用管理

制定重大系统使用的开源软件管理规章制度,可对其 进行全流程管理和安全漏洞持续跟踪。

提升级

引入管理

a)从多个维度对开源软件进行评估。

b)形成开源软件清单,对拟引入的开源软件进行统 一的记录和管理。

使用管理

a)制定开源软件使用规范,记录开源软件使用情况。

b)构建制品仓库,对开源软件的来源进行控制和管 理。

持续评估

a)对开源软件的版本、开源许可证和安全漏洞进行 定期的跟踪。

b)对安全漏洞信息进行监控、记录,形成安全漏洞 详情。

退出管理

a)制定开源软件退出机制,明确开源软件退出或废 除操作流程。

b)退出后有具体后续操作要求。

成熟级

引入管理

通过工具或平台,安排不同领域的技术人员对开源软 件进行评估,实现开源软件线上管理。

使用管理

a)可利用工具实现自动记录开源软件的使用情况, 形成开源软件使用台账。

b)通过平台,对开源软件进行分类分级管理。

c)对制品仓库进行管控,定期进行统计和更新。 d)定期组织开源软件的技术交流和培训。

持续评估

a)通过工具定期自动化扫描开源软件漏洞、开源许 可证、版本等信息。

b) 自动通过开源社区、代码托管平台等渠道获取相 关信息进行评估。

 1  开源软件应用管理成熟度表(续)

维度

管理程度

管理子项

达成情况

流程管理

成熟级

退出管理

通过平台对开源软件进行快速退出操作。

风险管理

探索级

记录与处置

出现安全漏洞时通过人工方式排查,并进行记录和处置。

提升级

记录与处置

a)建立开源软件风险管理机制,实现对各类风险点进行 记录和风险管控。

b)建立流程化风险控制机制,可进行全面的风险识别, 规范风险记录和处置措施。

成熟级

记录与处置

a)通过平台,对开源软件风险进行实时监测、信息记录 和线上管理,实现快速反应、处置和登记结果。

b)建立敏捷沟通途径,发现风险时做到及时和相关人员 进行沟通反馈。

c)针对开源许可证等相关风险,通过系统提示,快速采 取处置措施。

存量管理

探索级

梳理盘点

人工记录分析主要应用的存量开源软件相关信息。

提升级

梳理盘点

通过清单及台账对存量开源软件进行全面排查。

成熟级

梳理盘点

通过自动化工具对存量开源软件信息进行详尽记录,并将 变更情况做实时更新记录。

工具化管理

探索级

高效管理

分散记录开源软件相关信息,尚未实现全流程线上化管 理。

提升级

高效管理

构建金融机构内部管理平台,实现开源软件全流程线上化 管理。

成熟级

高效管理

引入自动化扫描工具与内部管理平台对接,更快速、准确 地跟踪和记录开源软件相关信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/597100.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

工业物联网技术在生产流程中的应用及优势与挑战——青创智通

工业物联网解决方案-工业IOT-青创智通 随着科技的不断发展,物联网技术逐渐渗透到各个行业中,尤其是在工业领域,工业物联网的应用正在逐步重塑生产流程。本文将探讨工业物联网如何影响生产流程,并分析其带来的优势和挑战。 一、工…

Amazon Bedrock的进化:更多选择与新特性,助力生成式AI应用更快落地

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

leetcode-没有重复项的全排列-97

题目要求 思路 1.递归,如果num和n的元素个数一样就可以插入res中了,这个作为递归的结束条件 2.因为这个题是属于排列,并非组合,两者的区别是排列需要把之前插入的元素在回退会去,而组合不需要,因此会存在一…

YPay源支付Mini Pro免授权使用版v1.0

YPay源支付Mini Pro免授权使用版v1.0 ,修改host屏蔽Pro授权站,可有效防止因用户操作不当导致免授权程序无法执行时 执行授权官方的盗版入库代码,尽可能保证网站安全 1.安装SG14组件 注:仅防止二次开发添加授权 2.”/etc/host”文…

尊享面试100题(314.二叉树的垂直遍历python)

题目关键词,从左到右,从上到下,那么使用bfs宽度优先算法。 使用字典v保存每一列的值。 class Solution:def verticalOrder(self, root: Optional[TreeNode]) -> List[List[int]]:if not root: return []v defaultdict(list)qu deque()…

淘宝扭蛋机小程序开发:开启你的惊喜之旅

一、扭出新世界,惊喜不断 在这个充满无限可能的数字时代,淘宝扭蛋机小程序为你带来了一种全新的购物与娱乐体验。扭蛋机,这个充满童趣和惊喜的玩具,如今在我们的小程序中焕发出新的活力,为你带来一波又一波的惊喜与快…

WES-100B液晶数显式液压万能试验机

一、简介 主机为两立柱、两丝杠、油缸下置式,拉伸空间位于主机的上方,压缩、弯曲试验空间位于主机下横梁和工作台之间。测力仪表采用高清液晶显示屏,实验数据方便直观。 二、 传动系统 下横梁升降采用电机经减速器、链传动机构、丝杠副传动…

Redis开源社区持续壮大,华为云为Valkey项目注入新的活力

背景 今年3月21日,Redis Labs宣布从Redis 7.4版本开始,将原先比较宽松的BSD源码使用协议修改为RSAv2和SSPLv1协议,意味着 Redis在OSI(开放源代码促进会)定义下不再是严格的开源产品。Redis官方表示,开发者…

QT--1

类型界面 #include "mywidget.h"myWidget::myWidget(QWidget *parent): QWidget(parent) {//窗口相关设置this->resize(680,520);this->setFixedSize(680,520);this->setWindowTitle("Tim");this->setWindowFlag(Qt::FramelessWindowHint);th…

Git -- reset 详解

引言 当我们在项目中有多个人协同开发时候,难免会出现一些错误的提交或者删除了一些重要文件。我们需要回滚到指定的某一个节点。那些乱七八糟的各种提交都要清除掉。 这时候,我们的指令就要用到了。reset 正文 git reset。它的一句话概括 git-reset …

【C++之map的应用】

C学习笔记---021 C之map的应用1、map的简单介绍1.1、基本概念1.2、map基本特性 2、map的基本操作2.1、插入元素2.2、访问元素2.3、删除元素2.4、遍历map2.5、检查元素是否存在2.6、获取map的大小2.7、清空map2.8、基本样例 3、map的基础模拟实现4、测试用例4.1、插入和遍历4.2、…

Unreal游戏GPU性能优化检测模式全新上线

UWA已经在去年推出了针对于Unity项目的GPU性能优化工具,通过对GPU渲染性能、带宽性能以及各种下探指标,帮助Unity项目研发团队定位由GPU导致的发热耗电问题。这个需求在Unreal团队中也极为强烈,因此UWA将该功能移植到针对Unreal项目的GOT Onl…

react + xlsx 表格导出功能 全部实现

需求 : 在react中将表格多样化导出 , 既可以全部导出所有表格数据 , 也可以选择性导出 导出可以选择三种样式 选择了全部 , 不能选其他 全部导出 部分导出 1 导出按钮下拉弹出三种导出格式 <Dropdownmenu{{items: [{label: (<aonClick{() > {setFormat(xlsx)}}>…

零基础编程学python:如何从零开始学习并使用Python编程语言

零基础编程学python&#xff1a;如何从零开始学习并使用Python编程语言 Python是一种非常流行的编程语言&#xff0c;由于其简单的语法和强大的功能&#xff0c;使其成为初学者和专业开发者的首选。无论您是数据科学家、网络开发者还是自动化工程师&#xff0c;Python都能提供必…

Excel利用数据透视表将二维数据转换为一维数据(便于后面的可视化分析)

一维数据&#xff1a;属性值都不可合并&#xff0c;属性值一般在第一列或第一行。 二维数据&#xff1a;行属性或列属性是可以继续合并的&#xff0c;如下数据中行属性可以合并为【月份】 下面利用数据透视表将二维数据转换为一维数据&#xff1a; 1、在原来的数据上插入数据透…

(论文阅读-优化器)Selectivity Estimation using Probabilistic Models

目录 摘要 一、简介 二、单表估计 2.1 条件独立Condition Independence 2.2 贝叶斯网络Bayesian Networks 2.3 查询评估中的贝叶斯网络 三、Join选择性估计 3.1 两表Join 3.2 概率关系模型 3.3 使用PRMs的选择性估计 四、PRM构建 4.1 评分标准 4.2 参数估计 4.3 结…

Adobe Illustrator 2024 for Mac:矢量图形设计软件

Adobe Illustrator 2024 for Mac是一款专为Mac用户设计的行业标准矢量图形设计软件。该软件以其卓越的性能和丰富的功能&#xff0c;为设计师和艺术家们提供了一个全新的创意空间。 作为一款矢量图形软件&#xff0c;Adobe Illustrator 2024 for Mac支持创建高质量的矢量图形&a…

Docker 的网络实现

简介 标准的 Docker 支持以下 4 类网络模式&#xff1a; 1&#xff09;host 模式&#xff1a;使用 --nethost 指定 2&#xff09;container 模式&#xff1a;使用–netcontainer:NAME_or_ID 指定 3&#xff09;none模式&#xff1a;使用 --netnone 指定 4&#xff09;bridge 模…

BEV下统一的多传感器融合框架 - FUTR3D

BEV下统一的多传感器融合框架 - FUTR3D 引言 在自动驾驶汽车或者移动机器人上&#xff0c;通常会配备许多种传感器&#xff0c;比如&#xff1a;光学相机、激光雷达、毫米波雷达等。由于不同传感器的数据形式不同&#xff0c;如RGB图像&#xff0c;点云等&#xff0c;不同模态…

JavaScript注释规范

你好&#xff0c;我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。 云桃桃 &#xff0c;大专生&#xff0c;一枚程序媛&#xff0c;感谢关注。回复 “前端基础题”&#xff0c;可免费获得前端基础 100 题汇总&#xff0c;回复 “前端基础路线”&#xff0c;可获…