开源技术已经成为全球软件技术和产业创新的主导模式,对于金融业也是如此,基于开源技术的创新应用为业务发展带来积极作用,但也面临风险和挑战。
据2022年中国信息通信研究院调研显示,超过90%的金融机构使用开源软件,64.7%的金融机构开源软件/组件使用数量超过1000,中间件、大数据、数据库、人工智能是开源的主要应用领域。“十四五”以来,我国逐渐把开源数字化建设作为国家政策的着力点和发力点,各类国家规划蓝图也逐步出台,同时加快完善金融机构开源技术应用指导政策,积极推动金融机构合理规范使用开源技术。
光大证券在利用开源技术加快数字化转型的同时,防范开源技术隐藏风险的意识逐渐增强。为确保稳定经营安全生产,光大证券正在加强对开源技术治理的探索。
开源技术在证券业的应用现状
证券行业使用的开源技术种类繁多,主要分为以下几类。
大数据处理和分析:证券机构拥有大量的金融数据,通过对其进行分析,可以更好地了解客户需求、风险状况等。开源大数据技术可以帮助证券机构更加高效地处理和分析大量金融数据。
数据库和数据存储技术:证券交易需要高效、稳定的数据存储和快速的查询,因此数据库和数据存储技术也是证券行业中重要的应用场景。
基于微服务架构的分布式技术:微服务架构可以帮助证券机构实现更高效、更灵活、更可扩展的应用程序开发和部署,提高交易系统的性能和稳定性,降低开发和部署的成本。微服务架构中的开源技术较丰富,包括但不限于服务注册与发现、服务网关、配置管理、负载均衡、消息队列等。
区块链技术:区块链技术可以帮助证券机构降低成本、提高效率和减少风险,使证券机构更好地协作和共享数据。
人工智能技术:人工智能主要应用在资讯分析、量化交易、风险控制、客户服务等方面。其中,资讯分析是通过自然语言处理、机器学习等技术,对公开的新闻、社交媒体、财经分析等大量信息进行分析,帮助分析师快速获取市场信息,辅助投资决策;量化交易是利用大量的历史交易数据,通过机器学习和数据挖掘技术,自动发掘交易信号,制定交易策略,提高交易效率和盈利能力;风险控制是通过模拟和预测模型,识别和评估潜在的交易风险,并提供实时风险管理建议,帮助投资者控制风险;客户服务是通过语音识别、自然语言处理等技术,实现智能客服,提供7×24小时不间断的在线服务,为客户提供更便捷的投资体验。
证券业开源技术面临的痛点问题
1.开源相关标准体系不健全
证券机构在建设IT系统时,不管是使用外部采购还是内部自主研发或其他建设方式,都不可避免地面对开源技术引入问题。大部分开源软件不仅产品迭代快、技术更新与版本发布也快,一旦选择有偏差,后期替换的成本会加倍显现。
目前还没有统一的业界标准可以参考,部分证券机构可能会从以下几点来考虑:第一,是否符合现有开发规范,整体技术栈与待引入的开源产品匹配度。第二,结合开源软件的功能与技术路线。随着证券机构的技术专业性不断提高,已经具备对这块的识别能力。第三,参考其他技术管理制度,例如是否与安全、合规等相关条例中的内容存在冲突。
标准体系的不健全会存在以下问题:首先是开源软件许可协议的识别意识。不同的协议,涉及的传染性规定、知识产权、兼容性、排他性等有不同程度的要求,绝大部分开源软件都是国外科技公司项目,遵守的开源许可证也是由国外开源基金会维护,一旦发生法律纠纷或者国际环境变化,将对证券机构造成重大影响。其次是软件的安全性,开源软件产品是可能存在安全漏洞的。证券机构在引入前,较少针对开源代码使用相关扫描工具进行全面扫描梳理,相关配套的专业工具和流程体系比较缺失。
2.面临供应链安全与合规风险
受限于开发人员自身的安全意识水平,带有安全漏洞和潜在风险的开源代码可能会被开发人员所采用,导致开源软件安全漏洞风险被动引入。开源软件安全漏洞风险主要包括依赖项混淆攻击、误植域名、恶意代码植入等。
依赖项混淆攻击会导致被攻击的软件包自动下载并安装恶意软件包;误植域名也会导致开发人员误下载并使用受感染的软件包;恶意代码植入则会直接在开源软件中植入恶意代码。以上风险均会导致使用该软件的所有系统受到影响。
开源产品的供给与服务保障能力取决于开源社区的运营能力。如果开源社区经营不善,可能会导致一系列问题:源代码维护和更新不及时,长时间产品不更新导致存在漏洞或缺陷;文档不完善或未及时更新;帮助和技术支持不到位,无法及时获得有效帮助。证券机构目前在开源治理投入的专项人力资源并不充分,问题会更突出。
3.内部治理体系尚不完善
大部分证券机构的开源治理起步较晚,整个治理体系成熟度还不够,原因包括:重视度不够、缺乏专业人才。从公司层面看,缺乏开源治理体系,则可能导致法律风险,内部使用没有遵守开源许可证的要求,会产生公司层面法律纠纷;信息安全风险,使用存在安全漏洞的开源软件或未及时进行修复,可能导致公司信息安全遭到威胁;业务运行成本风险,不合理或错误的使用开源软件都会导致整个业务运行成本的增加。
光大证券开源技术治理的应对措施
1.明确治理组织结构
开源技术治理涉及信息科技、风控合规多个职能部门,需要组织层面自上而下的设计与支持,着重从管理角度搭建开源治理相关的组织架构,明确治理目标和协作机制,从组织和人员方面保障开源技术治理工作有序推进。
依据“注重质量、拥抱创新、风险可控”的开源技术管理目标,在光大证券信息技术委员会下成立了开源技术工作小组,负责牵头建设和完善开源技术管理体系。同时组建了包括法务、安全、架构、开源社区等专业人才在内的开源技术管理柔性团队,制定了开源技术管理制度和规范,使开源技术治理在组织制度上优先得到保障。
2.制定管理制度与流程
通过设计开源技术治理的制度及流程,将开源治理的工作和责任具体落实到组织或个人,以便贯通相关团队职能并保障具体治理工作落地,推动对开源技术进行规划、引入、使用、运维支持、退出的全流程管理,进而规避企业使用开源软件带来的风险。
在制定开源治理管理制度和办法时,参考了以下几点:定义光大证券开源软件治理的目标和原则,明确管理流程、工具和责任;制定开源软件引入流程,对开源软件的选型、使用、风险评估、安全审查、版权合规等方面进行规范化管理,确保开源软件来源可溯、信息完整;制定开源软件使用流程,明确开源软件的使用范围、技术支持、维护和升级等管理要求,确保开源软件的合理选择和应用;制定安全漏洞持续评估流程,建立安全漏洞的漏洞库,定期对开源软件进行安全漏洞评估,确保安全风险的及时识别和规避;制定生命周期持续评估流程,对开源软件进行定期评估,明确开源软件的退出机制,保证开源软件的安全可控和规范管理;制定开源软件审批流程,以保证开源软件管理的规范化;建立运维管理机制,定期跟踪开源软件的使用情况,识别和解决开源软件中的问题;建立开源软件责任人持续跟踪机制,确保开源软件可持续跟踪、问题响应及时、持续管理。
3.平台化建设
首先,开源治理平台的建设。建设开源软件治理技术平台可以帮助光大证券实现开源软件治理的规范化和自动化,从而提高开源治理工作的效率和精度。根据图1所示的架构规划,开源治理平台将会提供以下功能。
图1 开源治理平台规划
制品库管理:对开源软件及其相关组件、库文件进行存储、管理和统一调配。采用仓库管理工具可以统一管理所有制品库,方便开发人员进行开发和部署。
开源软件评估:评估包括安全性、稳定性、可维护性、成熟度等方面,从而确保引入的开源软件符合要求。
开源漏洞库维护:建立开源漏洞库,对常见的开源漏洞进行收集、整理和分类,为开源漏洞检测和修复提供支持。
开源软件漏洞检测:采用漏洞检测工具对公司使用的开源软件进行扫描和检测,发现潜在的漏洞风险。
白名单管理:建立开源软件白名单,明确公司内部允许使用的开源软件版本和组件,以确保公司使用的开源软件是合法、安全、可靠的。
报表中心:建立开源治理报表中心,对开源软件的评估结果、漏洞检测结果、使用情况、风险情况等进行汇总和展示,为管理决策提供数据支持。
其次,开源治理与研发一体化相结合。由于开源技术的开放性和多样性,治理管理难度较大,需要高效的管理流程和规范化的管理制度。传统的软件开发模式中,开发、测试、运维等环节是独立的,各自为政,导致了沟通不畅、协作不够、开发效率低下等问题。而DevOps则是一种将研发、测试、运维等团队进行整合协作的工作模式,可以提高软件开发、测试、部署等环节的效率,更好地支持开源软件治理工作。
引入自动化工具,如组件管理工具、扫描工具等,帮助开发人员自动化地完成开源软件管理流程中的重复性工作。这些工具可以帮助快速定位开源软件组件,检测漏洞和追踪使用情况等,节省时间和减少错误。
在持续集成与交付(CI/CD)流程中集成开源软件审查和合规性检查,可以确保开发人员使用的所有开源软件都符合公司的安全与合规要求,集成流水线设计,如图2所示。
图2 研发流水线中集成开源组件扫描
结束语
开源技术的发展是一个不断演化的过程,需要适应新技术和市场变化,不断改进开源治理体系。通过完善开源技术治理体系,可以加强对开源技术使用的规范管理,提高开源技术的安全可控性和合规使用能力,同时也可以促进开源项目的发展和壮大,推动开源技术在金融业的广泛应用,进一步促进金融机构的科技创新和数字化转型。