从底层的操作系统、中间件、数据库,到应用层面的开发项目管理工具等,开源软件已经在证券行业得到广泛应用。但在基于开源组件实现技术创新及业务敏捷交付的同时,其引入的组件漏洞风险、供应链风险和开源许可协议等法律风险同样不容忽视。
2021年,人民银行办公厅、中央网信办、工信部、银保监会办公厅、证监会办公厅联合发布《关于规范金融业开源技术应用与发展的意见》,文件重点提到金融机构在使用开源技术时应遵循“安全可控、合规使用、问题导向、开放创新”四大基本原则,开源治理势在必行。
证券行业开源治理面临哪些现状?
1.安全合规是首要问题,“不安全、不合规”却是常态
2023 Ossra Report 显示,在金融科技行业中,98%的代码库中包含开源代码;平均每天有超过100个新增的开源组件安全漏洞和开源组件投毒风险被爆出。
证券机构内部积累了大量存量的开源软件资产,这些都有可能对已有的软件项目造成威胁。当开源组件突发高危风险漏洞,缺少相应应急响应能力的证券机构则会长时间处于“裸奔”的境况之中,导致系统被入侵、客户信息泄露,甚至影响到整个机构的运营。
2.对供应商依赖程度高,但缺少相应的供应链管理机制
证券机构大部分的软件项目依赖外包开发及外部采购的商业软件,这些外采软件引用了大量开源组件,存在组件成份未知、风险不可控等问题。
3.流程制度尚不完善,软件引入尚不规范
在开发环节,不规范的软件引入机制可能会导致安全缺陷或后门、编译构建环境被污染等隐患;在交付和运行环节,可能存在中间供应商插入恶意代码、软件更新被劫持、系统被破解等风险。
证券行业如何实践开源治理?
开源治理的核心抓手—SCA技术,SCA(Software Composition Analysis)软件成分分析技术是证券机构实现开源治理的核心关键能力,SCA技术可通过检测软件许可证、依赖项以及代码库中的已知漏洞和潜在漏洞来分析开源组件,使证券机构能够有效管理由开源组件所带来的安全风险和许可证合规性问题。
1. 开源软件准入管理:从源头把控安全
首先,证券机构应打造一套开源软件准入管理机制。由于开源技术架构中难免会应用到大小各异、作用不一的开源组件,使开源管理效率低下且成本较高。
准入管理的本质是来源可控,从发起申请到上传私服仓库,用户需要在整个准入管理流程中实现对开源软件的来源审查、漏洞评估以及合规分析,只有当通过所有节点的评估之后方可引入,从而在源头处控制风险范围。
2.开源软件资产梳理:资产数据可视化
其次,证券机构应对已有的开源软件资产进行快速梳理,定期对私服仓库、制品仓库进行全盘的安全扫描和风险分析,分析仓库内的组件漏洞及许可证风险,清晰掌握内部现有组件的情况。
3.开发运营风险管控:安全治理能力内嵌
第三,将SCA能力嵌入至开发流程当中。在开发阶段,即便已经提前引入了开源组件检测来对组件来源进行统一管控,但在功能开发的过程中,为了提升研发效率,不可避免会应用到其它开源产品。因此,企业需要将SCA能力深度融合至自身的研发周期当中,快速集成客户端代码仓库及流水线构建工具,进而确保SCA技术能够在代码同源、组件依赖以及提交代码仓库等多个维度对开源组件进行全方位的检测。
4.开源治理制度制定:智能化规范体系流程
最后,依据监管政策和行业要求,证券机构需要制定落地性较强的开源软件管理流程、规范、模板等体系文档,使其能够覆盖至开源软件准入、风险评估、漏洞监测和处置、退出等全生命周期安全管理,进一步完善自身开源组件管理体系的设计与执行流程。
开源治理最佳实践—源鉴SCA
SCA技术已成为数字供应链开源治理的关键入口。源鉴SCA作为悬镜第三代DevSecOps数字供应链威胁管理体系中开源治理环节的新一代数字供应链安全审查与治理平台,同时拥有自研专利级源码组件成分分析、制品成分二进制分析、容器镜像成分扫描、运行时成分动态追踪、代码成分溯源分析及开源供应链安全情报预警分析等六大核心引擎,多次被Gartner、Forrester等国际权威咨询机构评为SCA技术代表,并连续四年在市场应用率位列第一,能够深度挖掘数字应用及运行环境中潜藏的各类开源风险并提供实时精准的数字供应链安全情报预警能力,帮助企业从引入源头、开发过程、运行监控、管理多维度闭环治理开源威胁,持续守护中国数字供应链安全。
源鉴SCA六大核心引擎能力:
源码SCA:主要针对源码文件,基于高阶语言来编写,写给人看,很方便分析其中语句的语义,检测难度小,源码文件包含信息完整,结果的可解释性与准确性较高,主要应用在测试阶段,需要源代码,部分场景下客户无法提供,如供应商开发的软件。
二进制SCA:二进制文件:开发最终产物,二进制由流(指令流或字节流)来构成的,是给计算机“看”的,不容易分析语句的语义,难度大,二进制SCA由于会缺少部分信息,会导致结果可解释性以及准确性低于源码SCA,主要应用在软件供应、采购阶段,无需源码,上传包文件即可,数据安全风险小。
容器镜像SCA:可分析基础镜像层以及用户指令安装层级中引入的操作系统软件包、源码组件、二进制组件并关联漏洞、许可、恶意组件等风险,难度中等,容器提权,逃逸检测、恶意文件、后门分析,主要应用在持续交付、持续集成阶段,无需源码,上传包文件即可,数据安全风险小。
代码溯源SCA:支持文件级、函 数级、代码行级3个分析粒度,并提供 4个 维度的开源/自研率,难度较大,利用源码中的片段信息来判断是否与某开源组件同源。主要应用在开发测试阶段,需要源代码,部分场景下客户无法提供,如供应商开发的软件。
运行时SCA:在应用执行过程中,利用运行时插桩检测技术,检测应用真实运行加载的第三方组件成分,难度大,可通过运行时监控技术,检查程序运行时加载的第三方组件,可排除未执行加载冗余的组件,检测精度高。主要应用在应用运行阶段,无需源码,伴随应用执行,易于集成、监控、修复。
供应链风险情报预警:主要检测对象是源码、二进制文件、容器镜像、源码片段、运行应用等,难度大,通过“五大分析引擎”与SBOM全周期管理技术联动开源数字供应链安全情报,实现小时级别的风险实时预警,可应用在全供应链阶段,需要与数字供应链安全情报联动,高时效场景需要在线实时更新。
基于以上六大核心引擎,源鉴SCA在证券行业开源治理中体现出了优秀的实践效果:
1. DSDX助力开源应用组件级资产测绘:精细化识别开源软件组件及其构成和依赖关系,以国内自有SBOM格式——DSDX生成更全面、更兼容、更安全及可溯源的软件物料清单,输出透明化的数字应用组件资产及风险清单。
2. 实现敏捷开发与安全的平衡:源鉴SCA可与用户现有开发流程无缝结合,在开发运营的相应阶段自动发现应用程序中的开源组件,提供关键的版本控制和使用信息,并在任意阶段检测到漏洞风险和合规风险时自动触发警报,兼顾开发效率与安全。
3. 收敛开源软件漏洞及许可证风险:通过可视化SBOM清单调用关系及组件依赖关联分析,基于悬镜云端“安全大脑”实时监控开源软件情报漏洞来源,并及时推送漏洞和许可证风险情报给相关人员。工作人员只需简单学习,利用平台漏洞代码行定位,无需安全人员介入即可精准修复漏洞,从而减少漏洞从发现到修复所花费的时间,收敛风险影响范围。
4. 构筑开源风险治理体系:基于源鉴SCA的开源治理能力建立公司级平台,可对各类型采购、自研、软件资产进行梳理和安全审查,进一步在内部建立开源治理组织架构,制定配套的开源治理管理制度和规范,逐步构筑起比较完备的开源风险治理体系,规范开源软件的引入、使用、治理、退出等全生命周期流程,做到全流程安全可控,进而提升软件供应链安全治理能力。
5. 信创兼容,满足行业强监管要求:源鉴SCA可帮助用户在遵循开源义务要求的前提下规范地使用开源技术,从而最大化减少使用开源技术带来的风险,满足证券行业相关开源政策法规的要求。源鉴SCA完全自主研发、安全可控,现已完成多个国产中间件、服务器、操作系统等信创领域的兼容性互认证,满足行业信创要求。