金融业开源软件应用  评估规范

1  范围

本文件规定了金融机构在应用开源软件时的评估要求,对开源软件的引入、维护和退出提出了实现 要求、评估方法和判定准则。

本文件适用于金融机构对应用的开源软件进行评估。

2  规范性引用文件

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

JR/T 0289—2024  金融业开源技术  术语

3  术语和定义

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

信息系统  information system

由计算机系统、网络系统软件硬件及其相关设备、设施、应用软件等构成的,按照一定的应用目标 和规则对信息进行采集、加工、存储、传输、检索等处理的人机系统。

[来源:JR/T 0140—2017,3.2]

4  缩略语

下列缩略语适用于本文件。

CPU:中央处理单元(Central Processing Unit

CVE:公共漏洞与曝光(Common Vulnerabilities and Exposures

HTTP:超文本传输协议(Hypertext Transfer Protocol

I/O:输入/输出(Input/Output

QPS:每秒请求查询次数(Query Per Second

TCP:传输控制协议(Transmission Control Protocol

TPS:每秒事务处理次数(Transaction Per Second

5  总体要求

在金融业信息系统的建设过程中,引入的开源软件按照实际应用情况,可分为开源基础软件、开源 组件和开源工具3类,各阶段应用评估要求主要包括以下内容。

a)引入时,不同开源软件的功能特性、性能效率存在差异,且可靠性、安全性、兼容性、可扩展 性等方面也应全面考察,因此开源软件引入评估应包含引入流程和较为全面的引入指标。

b)维护时,规范阐述如何确保开源软件运行过程的自主可控,对简单使用类、深度使用类与定制 开发类的开源软件分别提出不同的维护要求。

c)退出时,应根据业务需求或软件迭代进展,有序完成版本更新或软件更换。

6  开源软件引入评估

6.1  开源软件引入流程

开源软件引入流程共分为3个阶段,如下图所示。

金融业开源软件应用 评估规范-LMLPHP

图  开源软件引入流程图

开源软件的引入流程具体内容如下。

a)需求确定阶段应明确软件功能需求与非功能需求。

b)初步筛选阶段应根据需求展开调研,依照初选评估要求(见6.2),对开源软件进行评估,建立 若干可进入终选评估的开源软件名单。

c)终选评估阶段应根据初选阶段建立的开源软件名单,依照终选评估要求(见6.3)进行评估,并 确定最终引入的开源软件。

对于开源组件类,若对应的应用程序通过了各项测试,可认为该程序中所有组件均满足了相关要求。 对于开源工具类,可在引入、维护、退出阶段适配对应指标。

6.2  初选评估要求

6.2.1  开源许可证

金融机构在选用开源软件时,应遵守该开源许可证对使用、修改等行为的规定,开源许可证评估内 容见表1。

表1  开源许可证评估内容表

 1  开源许可证评估内容表(续)

6.2.2  产品认可度

产品认可度反映了开源软件在行业生产实践中的应用情况,产品认可度评估内容见表2。

表2  产品认可度评估内容表

6.2.3  产品活跃度

产品活跃度反映了开源软件的可持续性和可进化能力,主要从开源软件的版本发布情况、开源社区 情况、软件关注情况等方面进行评估。产品活跃度评估内容见表3。

表3  产品活跃度评估内容表

 3  产品活跃度评估内容表(续)

6.2.4  行业支持情况

行业支持情况反映开源软件在业界提供专业化服务的情况,行业支持情况评估内容见表4。

表4  行业支持情况评估内容表

 4  行业支持情况评估内容表(续)

6.2.5  功能特性

不同软件用于解决不同场景的特定问题,其功能特性也不相同,对于功能的评测应结合具体场景进 行,功能特性评估内容见表5。

表5  功能特性评估内容表

6.2.6  安全性

初步筛选阶段安全性重点考查已暴露的漏洞情况,安全性评估内容见表6。

表6  安全性评估内容表

表6  安全性评估内容表(续)

6.2.7  可靠性

重点考察开源软件自身或者结合其他开源软件的高可用性,在出现故障时是否具备自动故障切换能 力和容错能力,可靠性评估内容见表7。

表7  可靠性评估内容表

6.2.8  兼容性

可通过查看文档的方式评估开源软件的兼容性,例如开源软件对不同硬件的兼容性、对不同操作系 统的兼容性。

6.3  终选评估要求

6.3.1  安全性

终选阶段安全性重点考查安全机制方面的支持情况。安全性评估内容见表8。

表8  安全性评估内容表

6.3.2  可靠性

终选阶段可靠性重点考察外部开源软件长时间无故障运行的能力,系统可在极限情况下长时间稳定 运行,保证业务成功率以及执行效率,可靠性评估内容见表9。

表9  可靠性评估内容表

6.3.3  性能效率

终选阶段性能效率重点考查在实际压测环境下开源软件的TPSQPS平均响应时间、最大响应时间、 最大并发数、服务调用成功率、时间标准差、CPU使用率、内存占用率、带宽占用及I/O情况,性能效率 评估内容见表10。

表10  性能效率评估内容表

 10  性能效率评估内容表(续)

 10  性能效率评估内容表(续)

6.3.4  兼容性

兼容性包括硬件兼容性、操作系统平台兼容性、数据库兼容性、开源软件版本之间的兼容性,以及 编程语言的兼容性、协议兼容性、同一运行环境的其他组件兼容性、开源软件与国产操作系统兼容性, 兼容性评估内容见表11。

表11  兼容性评估内容表

6.3.5  可维护性

可维护性即维护人员对该开源软件进行维护的难易程度,具体包括理解、改正、改动和改进该软件 的难易程度,可维护性评估内容见表12。

表12  可维护性评估内容表

6.3.6  可扩展性

可扩展性主要包括分布式系统下节点的水平扩展、动态扩展及代码扩展能力,可扩展性评估内容见 表13。

表13  可扩展性评估内容表

6.3.7  易用性

易用性描述了开源软件的学习成本、安装和部署的难易程度等。易用性评估内容见表14。

表14  易用性评估内容表

7  开源软件维护评估

7.1  自主可控程度分级

为保证金融业信息系统运行稳定、可控,在开源软件维护过程中,金融机构应根据开源软件的自主 可控程度将开源软件进行分类管理,根据其对主营业务的影响程度分为简单使用类开源软件、深度使用 类开源软件与定制开发类开源软件。

a)简单使用类开源软件:可搭建环境,且功能可正常使用。

b)深度使用类开源软件:在满足简单使用类开源软件要求基础上,掌握开源软件容灾容错机制、 实现原理、核心算法等重要内容。

c)定制开发类开源软件:在满足深度使用类开源软件要求基础上,熟悉代码实现、设计思路,通 过定制开发能够较好地满足平台需求。

在开源软件维护阶段,应至少满足简单使用类开源软件的要求。

7.2  简单使用类开源软件维护

简单使用类开源软件维护评估内容见表15。

表15  简单使用类开源软件维护评估内容表

7.3  深度使用类开源软件维护

深度使用类开源软件维护评估内容见表16。

表16  深度使用类开源软件维护评估内容表

7.4  定制开发类开源软件维护

定制开发类开源软件维护评估内容见表17。

表17  定制开发类开源软件维护评估内容表

表17  定制开发类开源软件维护评估内容表(续)

8  开源软件退出评估

对于开源软件当前版本已无法满足功能、性能需求,或发现当前版本存在重大风险隐患,或该开源 软件已停止更新等情况,应进行退出评估。开源软件的退出可通过开源软件版本升级或开源软件更换来 实现。开源软件退出评估内容见表18。

表18  开源软件退出评估内容表

9  证实方法

查看金融业信息系统中所应用的软件清单或台账,对于种类与本文件一致的开源软件,是否有按照 本文件的评估项,在引入、维护、退出等阶段形成评审记录及操作记录等信息。

05-06 15:12