您现在的位置是:首页 > 行业 > 金融 >

数字金融 开源为刃

2024-03-25 11:05:41作者:杨光来源:中国信息化周报

摘要移动支付让每个人都可以随时随地进行支付,网上银行让每个人都可以在线管理自己的财务,转账、支付账单、投资……...

  移动支付让每个人都可以随时随地进行支付,网上银行让每个人都可以在线管理自己的财务,转账、支付账单、投资……网上贷款、网上保险、网上基金让每个人都可以便捷地获得各类服务,这些便捷的服务背后都有开源软件的“影子”。“可以讲目前几乎所有的数字金融业务都会用到开源软件,只是层次和程度不同。”中国工商银行首席技术官吕仲涛表示。

  金融业用开源软件渐成趋势
  当前,在金融行业,开源软件的大量使用已成为不可逆转的趋势。金融是经济的血脉,是一个数据量庞大、信息高度敏感且要求严格安全的行业。金融业是涉及业务敏感数据极多的行业,同时又是高度依赖信息化的行业,还是信息安全形势极为严峻的行业。而开源软件提倡透明和参与性,开放与共享是其精髓。高度敏感且要求严格安全的金融业为什么能与开源擦出火花?

  记者发现,原因主要有如下几方面。第一,供给侧产品不能满足多样化需求。许多闭源产品无法满足银行数字化转型的需求,在缺少成熟商业产品支持的情况下,开源技术是最佳选择。第二,降低成本。开源软件通常免费提供,金融机构可以节省购买昂贵的商业软件授权的费用。此外,开源软件的维护成本也相对较低,因为许多开发者自愿为开源项目贡献代码,提供技术支持。第三,迅速满足市场需求。金融机构可以利用开源技术加速新技术和新业务的融合,迅速验证技术方案,从而降低研发成本和风险,并迅速响应市场需求。

  为了规范金融行业中开源软件的应用,提高金融系统的安全性和稳定性。人民银行于今年1月15日,发布金融行业标准《金融业开源软件应用管理指南》(JR/T0290-2024)(以下简称《指南》),并于当天开始实施。

  中国工程院院士倪光南指出,当前,我国正开启全面建设社会主义现代化国家新征程,面临新形势、新任务,迫切需要重视开源,学习开源、用好开源。特别是在信息领域,开源可以成为发挥中国人才优势的创新平台,成为中国融入国际科技创新网络,参与国际科技治理的有效方式。

  在数字化转型的过程中,开源技术同样扮演着至关重要的角色,许多关键技术的起源和发展都离不开开源社区。当前,各大银行正积极推动数字化转型,无论是对核心系统的重构还是业务创新,都离不开全技术栈的支持。这样的转型难度极高,挑战极大。许多闭源产品无法满足银行数字化转型的需求,在缺少成熟商业产品支持的情况下,开源技术是最佳选择。拥抱开源也就成为了银行唯一的选择。

  中信银行软件开发中心共享研发板块负责人孙炎森表示,利用开源技术可以加速新技术和新业务的融合,迅速验证技术方案,从而减少研发成本和风险,并迅速响应市场需求。中信银行构建了一套完整的金融级技术中台体系,为高效研发应用系统和更好地服务业务发展提供坚实基础。例如,中信银行基于ReactorNetty(一种网络编程模式)开发了自研的金融级RPC组件,使用Seata(开源的分布式事务解决方案)构建了金融级分布式事务服务,还基于SpringBatch(轻量级的、完善的批处理框架)研发了高性能的批处理框架。目前,中信银行记录的开源软件引用信息已超过30万条。

  据悉,工商银行引入了数万个开源产品和组件,例如工商银行自主研发为主的分布式技术平台“磐石”,在引入众多优质开源项目的基础上二次开发,构建包括注册中心、日志中心、分布式消息、分布式批量、开发框架等在内的完整的分布式技术平台,以支撑应用系统的架构转型工作。中国工商银行首席技术官吕仲涛表示,工商银行已经建立了包括治理架构、制度流程、管理工具在内的相对完善的管理体系。在治理架构方面,实行全行统一组织、协同合作;在制度流程方面,覆盖了全集团和开源软件管理的全生命周期;在管理工具方面,构建了全行统一的开源软件管理工具链,实现对开源软件介质、版本、使用台账、安全漏洞等信息的全流程管理。

  微众银行科技管理部总经理邱毅表示,微众银行自成立之初便利用开源软件和标准化硬件,构建了国内首个新一代分布式银行核心系统。

  截至2023年第二季度末,微众银行已经开源了35个项目,涵盖了AI、区块链、云计算、大数据等多个领域。这些项目累计获得了超过39,000个Star(星)和超过14,400次Fork(复刻)。其中,包括FATE(联邦学习领域的顶级技术开源社区)、FISCOBCOS(国内最活跃的国产开源联盟链底层平台)、ApacheEventMesh(国内金融业首个进入ASF孵化器的开源项目)和ApacheLinkis(全球首个由银行机构主导并“毕业”的Apache顶级项目)等多个顶级开源项目和相关社区。微众银行通过建立一个开放、透明、基于共识和技术导向的开源社区治理模式,推动了相关领域的技术进步和创新。
 

  金融用开源软件优先考虑安全与合规

  在选择开源软件时,金融机构应优先关注哪些方面?吕仲涛总结为“一个首要两个兼顾”第一,安全性与合规性是首要考虑的因素。在选择开源软件时,金融机构需要对软件的安全漏洞进行全面评估,并关注补丁更新的及时性,以确保开源软件不会成为网络攻击的突破口。开源软件必须符合法律法规以及金融行业的监管要求,涵盖数据保护隐私安全等多个方面。同时,还需满足许可证的使用规定。第二,兼容性与社区支持兼顾。开源软件应与现有技术栈顺利兼容,确保其能无缝融入现有系统;应拥有稳定且活跃的社区,由专人负责长期维护,并能向使用方提供丰富的资源、快速响应问题并提供支持。第三,性能高与成本低兼顾。对于大型金融机构而言,开源软件需满足高并发、大容量业务需求。开源软件的使用和维护成本是另一个重要的考虑因素,需评估长期投入与产出的比例。

  “在开源软件管理流程中,引入环节涉及技术选型、安全评估、合规性评估、软件登记等多项工作,这些工作需要多个专业团队的相互配合,具有专业性强、耗时长、工作量大的特点,容易形成流程瓶颈。因此,金融机构应在版本研发工作中提前规划,预先评估引人,避免在版本交付时集中引人,甚至版本交付后才补充引人。”吕仲涛说。

  统信软件金融技术部技术总监詹学认为,金融业已经使用了大量的开源软件,涵盖基础设施、中间件、应用软件等各个领域。目前各大银行应用开源软件主要呈现两个特点。第一,应用范围不断扩大,应用模式趋于多样化。开源软件在银行的应用范围不断扩大,从传统的 基础设施领域扩展到应用软件、大数据、人工智能等新兴领域。例如,中国银行采用了 OpenStack 云平台来建设其金融云平台,工商银行采用了MySQL 数据库作为其核心交易系统的数据库。除了传统的直接使用开源软件外,还开始采用二次开发、定制开发等模式,以满足自身业务需求。例如,建设银行在采用 OpenStack 云平台的基础上,进行了二次开发,以满足其金融业务的特殊需求。

  第二,应用水平不断提高,应用生态逐步形成。随着开源软件技术的不断成熟和完善,银行应用开源软件的水平也不断提高。银行开始建立健全开源软件应用管理体系,加强开源软件的安全、合规管理。例如,招商银行制定了《开源软件应用管理办法》,规范开源软件的引人、使用、维护、退出等全生命周期管理。开源软件应用生态也逐步形成。一些银行开始积极参与开源社区,贡献代码、文档和技术经验,推动开源软件技术发展。例如,中国建设银行加入了OpenStack 基金会,并成为白金会员。

  监管趋严 防止“破窗效应”

  我国政府高度重视金融开源技术的发展,提出要加快金融科技创新,推动金融业开源技术的发展。

  特别是上文提到的《指南》提供了金融机构在应用开源软件时的全流程管理指南,对开源软件的使用和管理提供了多方面的指导。适用于金融机构规范自身对开源软件引人、使用及退出的过程管理以及风险管控。

  早在 2021 年 10 月,中国人民银行就联合多部门发布了《关于规范金融业开源技术应用与发展的意见》,从政策层面为金融业安全规范地应用开源技术、实现健康可持续发展指明了方向。

  《指南》的实施对金融业应用开源软件有哪些指导意义?吕仲涛认为,《指南》在提高开源软件管理的规范性和系统性、加强风险控制和法律合规、推动自我提升等方面具有重大意义。

  首先,《指南》提供了一套全面的开源软件管理框架,包括组织架构、管理制度、全生命周期管理、风险管理、工具化管理等内容。通过该框架,金融机构能够快速建立完善开源软件的引人、使用、维护、退出等全流程管理体系,确保开源软件的应用更加规范和系统化。

  其次,《指南》规范了开源软件安全漏洞评估、版本管理许可证合规性检查等方面的要求有助于金融机构识别潜在安全风险,对突发事件做出快速响应,降低影响,确保符合相关法律法规和开源许可证的要求,避免法律纠纷。最后,《指南》提出了一套开源软件应用管理评估方法,金融机构可以利用该方法快速判断出自身管理成熟度,找出不足之处。结合该方法推荐的实施建议明确提升目标和计划,促进金融机构快速自我提升。

  工商银行深度参与了《指南》的制定、讨论和修订过程。在实施《指南》过程中,

  金融机构会面临哪些挑战?吕仲涛表示,挑战主要来自三个方面。

  首先,在组织保障方面,实施《指南》需要配备包括管理技术、安全、法务等一系列人员。金融机构可能会面临人员和技能短缺的问题,特别是在法务合规方面,实际工作中涉及开源相关法律法规、开源许可证、合规风险等一系列内容,相关人员既要了解一定的开源技术,又要具备法务知识。对此金融机构需要有针对性地进行人员培训。

  其次,在流程工具建设方面《指南》对开源软件管理流程、使用台账、漏洞管理等提出了指导要求。由于开源组件粒度小、层层嵌套,单纯依靠人力管理难度较大。金融机构应特别关注相关工具的建设,利用自动化工具提高工作效率。

  最后,开源治理是一个持续的过程。随着各种应用的不断深入,新需求会不断被提出,开源技术也会持续演进发展,新的漏洞也就会不断被发现。金融机构应该做常态化治理,快速响应需求,跟踪技术、保鲜合账、处理漏洞,以防产生“破窗效应”。
 

  开源技术崛起 既是机遇也是挑战

  开源代码占比的日趋提升,金融业风险防范挑战与日俱增。而金融业作为关乎国计民生的基础行业,其开源治理的安全性和合规性要求相对更高。各银行在实践中总结出了自己的“真经”。

  与主流银行相比,微众银行在开源技术的选择上更为多样和开放,面临的实施挑战也更为复杂多变。目前,微众银行使用的开源组件数量超过2万个,涵盖了云原生、数据库、中间件、操作系统、人工智能、前端、应用框架等众多领域的领先开源技术。这使得开源软件的治理面临着巨大的挑战。

  邱毅介绍,为了应对这些挑战,微众银行采取了一系列措施,包括设立开源管理办公室、制定全生命周期的开源软件管理制度及流程、构建全流程自动化管理平台、持续推动主动开源以及积极参与开源社区等活动。通过这些举措,微众银行探索出了一条既能充分利用开源技术又能实现多赢的发展道路。

  《指南》提到,宜通过构建基础设施支撑开源软件管理,引入或搭建自动化工具提高管理效率。可以说建设好管理和监控开源软件在金融行业中应用的工具,对于落实《指南》要求至关重要。吕仲涛表示,工商银行引入了一系列工具,打造了覆盖开源软件全生命管理的工具链,取得了较好成效。一是建立完善了软件管理系统,完整记录开源软件名称、版本、许可证协议、安全评估、使用应用等台账信息,实现对开源软件引入、使用、持续评估、退出及更新的全生命周期自动化管理。二是打造了软件成分分析能力,在引入环节识别软件成分,自动填充软件成分和安全漏洞信息,协助引入评估;在持续治理环节,通过与源代码库、软件管理系统联动,实现账实自动比对。三是建立完善了漏洞管理系统,存储来自中国国家信息安全漏洞库、安全厂商等各类渠道的开源漏洞信息。通过与软件管理系统台账联动,实现对开源漏洞的闭环处理。四是建立了源代码开源门禁,在代码提交阶段,通过软件成分分析工具自动识别使用的开源软件,并与软件管理系统台账信息进行比对如发现相关软件未进行引入登记,自动拦截提交请求。

  中信银行形成了一套覆盖事前事中事后的管控机制,将一些可掌控的关键核心组件纳入管控,形成“主推”,在设计阶段强制使用,从而减少同类组件的多头引用。

  孙炎森表示,日常工作中面临的主要挑战是安全漏洞的整改,中信银行的具体举措有五点。一是管好入口,形成统一的可信源,确保所有开源组件都基于统一的制品库进行引用;二是将开源组件的管理纳入到我们的管控体系中,将其视为常态化技术架构的一个关键管控要素。三是漏洞本身不一定是风险,需要根据安全分级策略对漏洞进行分级,以便更有效地判断如何进行整改。四是平衡成本与收益,优先对渠道系统和重要系统进行整改。五是关注差异化处理,优先整改高危漏洞。

  在使用开源技术时,一个重要的考虑因素是是否能够对其进行有效的掌控。“对于关键的组件,必须能够对源代码进行深入的控制和管理。”孙炎森说“建立一支技术驱动的团队是更好地利用开源技术的关键。这支团队应该持续专注技术的创新,并形成一种“追求卓越”和“精益求精”的文化。中信银行在引进和培养高端技术人才时,特别重视他们在底层源代码方面的技术能力。通过结合技术中台的建设和推广,中信银行逐渐打造了一支热爱技术、追求卓越的团队,并形成了相应的内生文化氛围。这样的团队和文化使得中信银行有信心解决开源技术使用过程中可能遇到的任何问题。
 

  大模型进一步激发开源软件潜力

  大模型的出现为金融业开源软件应用提供了新的可能性。金融机构可以利用大模型提高工作效率、提升服务质量并促进金融科技创新。正如吕仲涛所言:“借助大模型技术,我们可以进一步激发开源软件的发展潜力,推动其在各个领域的应用和发展。”具体到金融业,吕仲涛表示,机遇主要表现在三个方面。

  一是大模型与金融业开源软件的结合有助于提升金融从业者的工作效率。借助大模型强大的分析挖掘和提取信息的能力,可以进一步提升传统开源软件的智能化水平拓展开源软件的功能,为金融行业提供更加高效、智能的解决方案。

  二是大模型有助于加速金融业开源软件的迭代速度。大模型技术为开发者提供了更加高效、灵活的工具和平台,大大缩短了软件的开发周期并降低了开发门槛。同时,大模型技术还可以通过模拟真实环境来测试软件的性能和安全性,进一步提高开源软件的可靠性和稳定性。

  三是大模型有望成为开源软件间的黏合剂。现阶段,金融业务逐步走向数字化,一个业务流程通常需要调用多个开源软件,如何将不同的软件有效地整合在一起,成为开发者面临的一大挑战。借助大模型的编排能力,实现更加高效、可靠和安全的软件整合成为一个新的研究热点。

  当然,使用大模型助力金融业开源软件应用也存在一些挑战。詹学举例,大模型的训练和部署需要大量的计算资源和存储空间,这对于金融机构来说是一笔不小的成本。大模型的决策过程是复杂的,难以解释,这可能会影响金融机构对大模型的信任。大模型的应用可能会涉及数据隐私、知识产权等法律和伦理问题,需要谨慎。

  写在最后

  开源不仅是一种技术,更是一种共享文化;不仅是软件产业发展趋势更是激活软件产业新质生产力的重要因素。通过“开源”支撑金融企业核心技术框架,既能确保充分接轨国际主流技术,又能确保以深度参与方式完成金融业数字化转型,实现从“可用”到“好用”的转变。

 


(本文不涉密)
责任编辑:

站点信息

  • 运营主体:中国信息化周报
  • 商务合作:赵瑞华 010-88559646
  • 微信公众号:扫描二维码,关注我们