数字化时代下,开源技术已成为推动全球各行业数字化转型和升级的重要力量。据中国开源软件推进联盟今年发布的《中国开源发展蓝皮书》数据显示:在日常的开发工作中,96%的开发者正在使用开源软件,国内超八成的行业客户都在软件开发生产中使用到了开源技术,开源应用场景已经涵盖金融、电信、政务、医疗等诸多行业,并成为行业技术创新的主导力量。具体到金融领域,据北京金融科技产业联盟《2020金融机构开源软件应用情况调研报告》显示,90%的金融机构已应用或试用开源软件。随着开源技术的广泛应用,行业内已经达成了积极拥抱开源、使用开源的共识。
2021年,中国人民银行等五部门联合发布了《关于规范金融业开源技术应用与发展的意见》,对金融机构安全可控、合规使用开源技术进行了指导和规范。整体从金融机构使用开源、自发开源、开源生态构建、构建标准和法律体系等4个方面提出了指导意见,并鼓励“金融机构将开源技术应用作为提高核心技术自主可控能力的重要手段”、鼓励“金融机构积极参与开源生态建设”和“开展开源项目合作,实现优势互补、互利共赢、共同发展”。从政策层面为金融业安全规范应用开源技术、实现健康可持续发展指明了方向。
微众银行科技管理部
总经理 邱毅
开源技术崛起,安全治理面临风险与挑战
开源技术在飞速发展的同时,难以避免地面临技术风险、管理风险、安全风险、合规风险等重要挑战。例如在安全风险方面,根据Synopsys公司发布的《2023开源安全和风险分析(OSSRA)报告》,Black Duck审计服务团队在2022年审计的17个行业的1703个代码库中,有96%的代码库包含开源代码,76%为开源代码库,84%的代码库包含至少一个已知开源漏洞,检查的代码库中有48%包含高风险漏洞。2021年12月,全球广泛应用的组件Apache Log4j被曝出的史诗级漏洞,在全球科技、金融界引发轩然大波。其中,越南最大的加密交易平台之一ONUS,就因其支付系统运行的Log4j版本存在漏洞而遭到黑客攻击,继而被黑客勒索,最终被公开销售了近200万客户数据。
在金融行业,《OSSRA》报告亦显示,2022年其审计的金融服务和金融科技领域中,开源代码占比约70%。开源代码占比的日趋增长,引发了金融业风险防范挑战的与日俱增。而金融业作为关乎国计民生的基础行业,须具备电信级高可用并进行严格的数据安全管理,其开源治理的安全性和合规性要求相对更高。
作为国内首家数字银行,微众银行在成立之初,充分利用开源软件和标准化硬件,搭建起国内首个新一代分布式银行核心系统。对比主流银行,微众银行的开源技术选择更具多样性和开放性,实施过程中的挑战也更为多元化。目前微众银行使用的开源组件数量超过20000个,涉及云原生、数据库、中间件、操作系统、人工智能、前端、应用框架等全领域的主流开源技术,开源软件治理面临更大的挑战。
为此,微众银行通过设立开源管理办公室、制定全生命周期的开源软件管理制度及流程、打造全流程自动化管理平台、持续推进主动开源、参与开源社区等主要举措,探索出一条拥抱开源的多赢之路。
规范开源使用,打造全流程开源治理工具
在组织建设层面,2019年,微众银行宣布金融科技全面开源并设立开源管理办公室。作为国内最早设立此类办公室的金融机构之一,微众银行在组织架构、职能定位等方面深入研究和参考了国际开源基金会和各大开源项目社区,成立TOC团队(Technical Oversight Committee,技术监督委员会),围绕制定技术标准和规范、解决技术难题、推动内部开源、推动公共平台建设等主要工作,以产品驱动、敏捷模式加强技术联动。通过TOC在行内推动由技术驱动的决策机制,实现开放协同透明的氛围,是微众银行在开源建设上的重要探索。
在制度流程层面,针对开源治理的复杂性,微众银行制定了全行应用开源软件的全生命周期管理规范与流程,形成严谨的管理闭环。同时,在全行范围不断传播开源文化,加强开源人才队伍建设,推动不同开源技术社区的发展,从而有效提升内部工程师文化以及对各种开源软件的掌控力。
在平台建设层面,2019年底,微众银行已经完成了开源治理体系的搭建,实现了自动化的开源治理管理手段。后续,针对在执行过程中发现的痛点,即“扫描结果需人工二次核验、问题处理的优先级不清晰”两个问题,微众银行创新升级打造了一整套基于DevSecOps体系的开源治理平台方案,实现建设“快、准、狠”的开源治理工具平台系统(如图1所示)。
图1 基于DevSecOps体系的全流程开源治理工具
快:对全行开源软件应用的感知快,能够实时洞察行内开源软件的应用情况,包括新增软件、新增漏洞及各类开源软件的变化等。准:提高对开源软件成分分析的准确度,确保扫描结果准确无异议,同时对全行视角的资产、风险和问题的定位更精准。狠:建立符合微众银行内部要求的漏洞和风险处置的基线原则,必要时自动进行流程阻断,保证相关问题得到及时有效处理。
此外,微众银行引入专业的开源治理平台,包括开源资产分布可视化、软件资产跟踪定位、已知漏洞查找定位、新漏洞自检与预警、丰富的知识库、开放API等基本功能,将该平台与研发流程体系的相关系统深度集成,实现了完全依托系统的自动化、智能化管控手段。具体而言,在引入阶段,通过系统登记的开源黑名单以及对各类安全合规策略的管理,自动判断是否可以引入新的外部开源软件;在代码编写阶段,通过IDE插件工具,方便开发人员自主扫描系统的组件依赖关系,并根据治理策略及时给予各种提醒和帮助,促使开发人员及时处理和修复问题;在构建或测试移交阶段,平台支持集成过程中自动触发依赖扫描,并根据设定的规则自动执行各种策略。平台实现支持敏捷开发的同时,尽可能将安全左移,并通过各种闭环的流程管理,确保所有开发活动的有效管控、快速响应,从而大幅度降低应用开源的风险。
持续对外开源,以生态建设反哺开源治理
除不断完善全行内部的开源治理体系外,微众银行也深刻认识到开源软件的生产特性,要想最大范围地发挥开源软件的价值,核心是不断提高自身技术能力。只有通过更深入地主动参与开源生态建设,采取“上游优先”等策略,成为开源软件供应链生态建设的一份子,才能真正做到持续的“安全可控”,同时达到保持技术领先、促进业务创新的目的。对于金融机构,在参与上游开源社区以及建设开源项目的过程中,可以打造核心团队的技术影响力和竞争力,提升开源软件质量,并降低长期使用的成本和风险。技术影响力的提升会进一步带来更多技术人员的认同,保持“影响力—人才”的良性循环,从而吸引更多优质人才加入。此外,机构的行业影响力也能够提升员工归属感和认同感,为推行工程师文化提供支持。
微众银行在全行范围积极倡导开源文化,每月至少组织一场开源相关的运营活动,传播开源文化、开源知识,推动员工在不同开源技术社区积极做贡献,增强员工对开源的理解与认可。对于践行开源文化表现突出的员工或团队,微众银行还配套了完备的激励体系,“荣誉+物质”的双效激励,大大激发了员工投身开源的驱动力。在开源文化的影响下,目前,微众银行超五成的科技员工关注开源、拥有GitHub账号,超二成的科技员工积极参与社区贡献。
微众银行积极开展内部开源文化建设
微众银行也积极探索对外开源以及社区建设,力争成为中国金融业在开源生态建设方面的排头兵。截至2023年二季度末,微众银行已对外开源项目35个,覆盖AI、区块链、云计算、大数据等多个技术领域(如图2所示),累计获得Star超过39000个,Fork超过14400个。其中不乏包括FATE(联邦学习领域最大的技术开源社区之一)、FISCO BCOS(国内最活跃的国产开源联盟链底层平台,已汇聚超4000家企业及机构、逾9万名社区成员,超300个项目在生产环境稳定运行)、Apache EventMesh(国内金融业首个进入ASF孵化器的开源项目)、Apache Link is(全球首个由银行机构主导毕业的Apache项目)等一大批开源项目与社区。微众银行通过建立开放、透明、共识、技术导向的开源社区治理模式,促进了相关领域的技术发展与创新。
图2 微众银行对外开源项目
作为技术创新与发展的重要手段,开源已经成为不可逆转的技术趋势之一。如何更高效和安全的最大化程度利用开源的价值,是所有金融机构都面临的巨大挑战。同时,如何通过拥抱开源更进一步提升技术核心竞争力,也是所有机构需要思考的课题。微众银行期望在不断提升自身的开源应用和治理水平的同时,与所有同行一起携手共进,为金融业开源新生态的发展贡献力量。
文 / 微众银行科技管理部总经理 邱毅
微众银行科技管理部项目及架构管理专家 钟燕清