文/广发银行研发中心副总经理林虎

近年来,随着金融科技投入的持续增长,在大数据、云计算、人工智能等前沿技术的引领和金融数字化转型的驱动下,科技服务已融入金融业务的方方面面,金融科技治理水平全面提升。与此同时,金融机构面临的威胁和挑战也在持续升级,黑客攻击逐渐向专业化、组织化转变,安全攻击事件不断。在众多不同类型的安全风险事件中,企业自主研发或外购的应用软件更容易出现安全漏洞,根据新思科技发布的《2023年软件漏洞快照》报告,2020—2022年,92%的被测应用软件存在风险和漏洞,其中,27%存在高危漏洞,6.2%存在关键高危漏洞。

一、金融企业研发安全现状

1.研发安全规划不清晰

研发安全是一项系统性、复杂性的长期工作,内容涉及安全组织、安全体系、规范制度、流程平台、安全工具、人员能力等多个方面。如果没有清晰的规划,寄希望于渗透测试服务、安全产品采购等“突击式项目”解决问题,将无法达到全面、有效的管控目的。

2.未建立融入研发团队的安全组织

“网络安全人人有责”,以“安全左移”为原则的开发全生命周期体系更需要所有研发人员共同参与。如果安全团队未能融入研发团队,将面临“孤立无援”、与开发“冲突对立”等困境。

3.应用安全漏洞多,漏洞修复成本高

金融机构业务复杂,应用系统数量众多,应用安全漏洞层出不穷,缺少“安全左移”机制,将导致安全漏洞发现较晚,漏洞修复成本更高。

4.监管要求严,合规标准多

金融行业属于强监管行业,相关的法律法规、监管规范、行业标准众多,如何有效开展研发安全领域的“外规内化”工作,确保应用系统高标准满足监管合规要求,实现“研发内生合规”目标,一直是金融机构关注的重要问题。

二、广发银行研发安全体系建设探索与实践

广发银行研发中心为持续提升应用系统的安全质量,保障业务目标的有效达成,坚持“以理论模型为基础,以研发全生命周期管控为核心,以有机融入研发过程为保障”,持续推动理论与技术创新,经过多年探索实践,建立了相对完善的研发安全体系,并实现了有效运营。

1.清晰的长期规划

研发安全不可能一蹴而就,需要长时间持续努力方能取得良好效果。广发银行研发中心在计划启动研发安全体系建设之初,首先制定了清晰的长期规划,明确了“分步快走”策略,将整体工作划分成以下四个阶段(如图1所示)。

图1 广发银行研发安全体系建设阶段划分示意

第一阶段:开展流程制度、人员能力、工具平台等研发安全体系基础建设,包括通过制度流程建设,确保研发过程中各项安全举措有章可循、有据可依;通过培训、构建知识库、能力考核等举措,从安全职责和安全能力两个方面建立覆盖需求、开发、测试不同岗位的人才体系,为研发安全体系的落地执行提供必要条件;通过平台、组件、测试工具建设,提供流程化、自动化能力,提升人员的工作效率,降低对人员安全能力的依赖,为研发安全体系的有效执行提供支撑。

第二阶段:针对少量应用开展试点工作,在试点过程中对体系以及平台工具进行及时优化。

第三阶段:按照应用系统的重要程度逐步推广,持续扩大体系的覆盖范围。

第四阶段:提升安全技术的自动化、数字化水平,从而进一步提升体系执行效果。

2.完善的研发安全组织架构

安全组织架构是网络安全体系建设中最重要的部分,合理、有效运行的组织架构可以使安全工作更加顺畅。为保障研发安全工作的有效落地,广发银行研发中心在内部建立了完善的组织架构,不仅包括研发中心领导层以及专业网络安全团队,为了确保安全措施在各研发团队内部有效执行,加强安全与研发的沟通合作,还同步建立了“团队安全专员”和“应用安全架构师”机制。广发银行研发中心安全组织架构各岗位角色和职责说明见表1。

表1 广发银行研发中心安全组织架构各岗位角色和职责说明

3.融合、多态的研发安全体系

研发安全的根本目标是开发出安全的软件,把安全内建到软件开发过程中,而非“亡羊补牢”。微软在2004年提出软件安全开发周期(Security Development Lifecycle,SDL),它是一种从安全角度指导软件开发过程的管理模型。近年来,随着互联网金融的快速发展,业务场景不断增多、客户需求变化持续加快,敏捷开发、快速迭代越来越受到青睐。2012年,Gartner提出了研发安全运营一体化(DevSecOps)理念,明确安全是整个IT团队所有成员的责任,安全需要贯穿研发生命周期的每一个环节,安全工作应左移前置,嵌入现有开发流程体系。

广发银行研发中心遵循SDL模型指导及DevSecOps方法理念,制定了“融合、多态”的建设原则,其中,“融合”是指在充分调研当前研发现状的基础上,以最小化影响为原则将安全融入现有开发流程;“多态”是指研发安全体系既要满足瀑布型开发模式的要求,又要适应敏捷型开发模式的诉求。

在此基础上,广发银行研发中心以“安全左移”为原则,建立了覆盖整个研发过程的SDL安全体系(如图2所示),并借助线上化安全管理平台提供的能力与资产,保障了SDL各节点的有效执行。此外,为适应敏捷开发模式诉求,广发银行研发中心在开展SDL体系建设的同时,遵循DevSecOps的指导方法,同步完成DevSecOps安全能力建设(如图3所示)。

图2 广发银行SDL安全体系

图3 广发银行DevSecOps安全能力示意

4.线上化、平台化保障体系有效落地

研发安全体系要求所有研发人员承担一定的安全职责,在一定程度上改变了研发人员的工作习惯。如果仅依赖制度要求和人员意识,极易导致体系落地沦为形式。为确保体系的有效落地,尽可能减少对工作效率的影响,广发银行研发中心通过SDL安全管理平台,实现各节点全流程线上化管控,提供了安全基线库、轻量化威胁建模、自动化安全需求设计、线上安全知识库、安全漏洞线上化闭环管理、安全度量驾驶舱等一系列功能。

5.轻量化威胁建模赋能需求安全分析

威胁建模是通过结构化的方法,系统地识别、评估安全风险和威胁,并针对这些威胁制定消减措施的一个过程。威胁建模的核心是像攻击者一样思考,站在攻击者的角度去评估应用系统的安全性,是研发安全体系建设中的一项重要工作。但传统威胁建模执行过程复杂,对人员安全能力要求高,在SDL或DevSecOps中非常难落地。

广发银行结合自身现状,通过业务场景轻量化威胁建模的方式,高效支撑研发项目组的需求分析师完成需求安全分析工作。

(1)制定安全基线

一条安全基线相当于一个安全要求,应用系统达到安全基线后可以规避或缓解对应的安全风险。安全基线的来源包括外部规范标准、内部安全需求、行业安全实践、常见安全漏洞、历史安全风险、现状风险评估等。目前,广发银行研发中心的安全基线库包括应用类安全基线230多条,合规类安全基线1000多条。

(2)建立视图与属性标签

需求安全分析是指根据业务功能需求,利用威胁建模的方法,识别需求面临的安全风险,并选择对应安全基线的过程;轻量化威胁建模是由安全团队提前制定视图、属性标签,并建立视图和属性标签与安全基线的对应关系。视图和属性标签是对业务功能场景的不同层次的描述。需求分析师在执行需求安全分析时,只需要根据业务功能选择对应的视图或属性标签,即可达到选择对应安全基线的目的。

目前,广发银行研发中心每月有3000多项需求任务,由研发项目组的各位需求分析师使用轻量化威胁建模的方式完成需求安全分析。

6.统一安全组件,实现编码默认安全

广发银行研发安全体系遵从“默认安全”的编码原则,分别面向App、客户端、非RTP框架、RTP框架提供四种类型的安全组件。其中,RTP即统一应用研发平台,是广发银行研发中心自主研发的开发框架,默认集成了一系列安全组件(如图4所示)。开发人员可通过配置开关、代码注解等方式使用安全组件提供的能力,实现众多的安全功能,规避相应的安全风险。目前,共有300多个应用系统使用了不同的安全组件。

图4 广发银行研发安全组件框架

7.完善的安全测试工具链

安全测试是研发安全体系中最重要的一个节点,是阻止安全漏洞发布到生产环境的最后一道防线。目前,广发银行研发安全体系已建立包括多类工具在内的安全测试工具链(如图5所示)。

图5 广发银行安全测试工具链

(1)静态应用安全测试(SAST)

静态应用安全测试是通过分析静态代码,基于正则关键字匹配、AST抽象语法树、IR/CFG数据结构、QL等不同方案,识别发现代码中的安全漏洞,也被称为“白盒安全测试”。广发银行研发中心同时使用了SonarQube和商用SAST产品分别在开发编码阶段和代码提交阶段开展自动化扫描。目前,SonarQube已覆盖所有应用,商用SAST产品已覆盖550多个应用系统,误报率控制在32%,扫描耗时较最初部署时降低了85%。

(2)交互式安全测试(IAST)

交互式安全测试是2012年由Gartner公司提出的一种应用程序安全测试方案,通过代理、VPN或者在服务端部署Agent程序,收集、监控Web应用程序运行时函数执行、数据传输,并与扫描器端进行实时交互,高效、准确地识别安全缺陷及漏洞,同时可准确定位漏洞所在的代码文件、行数、函数及参数,相当于是DAST和SAST结合的一种运行时安全检测技术。

目前,广发银行研发中心共有自研和商用两款IAST工具。自研IAST工具侧重于通过流量镜像、代理方式将功能测试流量转发至扫描服务器进行漏洞扫描;商用IAST工具侧重于利用插桩技术实现主动、被动的插桩测试。广发银行研发中心联合厂商完成商用IAST工具的定制,实现了自动化安装部署、自动化漏洞提交、数据集中统一分析等功能。

8.内生安全保障监管合规

随着《中华人民共和国数据安全法》《中华人民共和国个人信息保护法》的相继颁布和施行,加之2017年生效的《中华人民共和国网络安全法》,我国网络与数据安全领域的法律框架已基本形成。近年来,金融业安全合规监管持续增强,《个人金融信息保护技术规范》《金融数据安全数据生命周期安全规范》等标准规范相继发布。广发银行研发中心始终牢守风险底线,严格遵循监管要求,坚持“内生安全保合规”的原则,秉持“外规转内规、内规转基线、基线转功能、功能转验证”的指导思想,有效保障监管合规。

首先,开展对外部法规标准的全面解读,将外部相关的法规要求转换成企业内部的安全规范;其次,将安全规范中的要求转换成研发安全体系中的安全基线;再次,在研发安全体系的执行过程中,在需求安全分析环节选中安全基线,并在安全编码环节落地,以满足外部规范标准要求;最后,通过安全测试节点验证机制确保安全基线的严格落地。

9.复盘度量推动体系持续优化

“如果你无法度量它,你就无法改进它。”有效的度量复盘机制是研发安全体系持续优化的重要手段,广发银行研发中心主要采取了以下两个方面的措施。

(1)漏洞复盘

针对内外部发现的安全漏洞,广发银行研发中心会定期组织漏洞复盘:首先,通过“5Why分析法”,找到漏洞责任人以及漏洞产生的根本原因;然后,制定有针对性的治理措施;最后,明确措施责任人、完成时间、验证责任人等,确保对各项措施的闭环管理。广发银行研发中心漏洞复盘工作成果显著,执行复盘后部分类型的安全漏洞降低了76%。

(2)数字化度量

为确保研发安全体系的执行效果,广发银行研发中心坚持从覆盖率、检出率、误报率、漏洞降低率四个方面分别开展指标度量工作。

目前,广发银行研发安全体系建设已取得明显效果,覆盖广发银行所有互联网应用系统以及重要内网应用。经过长期的稳定运营,研发测试环境安全漏洞降低了52%,生产环境安全漏洞降低了77%。

广发银行研发中心已初步将NLP自然语言识别、机器学习等技术应用于需求安全分析、安全后评价等领域。未来,广发银行研发中心将持续探索AI大模型、智能机器人等技术在研发安全体系中的应用,持续打造数智化研发安全体系。

本文刊于《中国金融电脑》2024年第3期

声明:本文来自中国金融电脑,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。