文/工商银行软件开发中心专家徐翥
工商银行结合软件安全开发周期(Security Development Lifecycle,SDL)及研发安全运营一体化(DevSecOps)理论,针对大型金融机构自研应用系统在软件安全、业务安全及安全合规等方面的需求,打造了面向应用系统研发的安全体系,将安全意识嵌入整个研发过程,提供覆盖应用系统全生命周期的自动化安全能力及闭环安全管理,实现应用系统安全的过程化控制及安全左移,有效提升应用系统的安全水平,降低应用系统发布后的风险漏洞数量及修复成本,在多分支机构、多应用类型、多技术栈及多开发模型的复杂业务架构下成功落地各项软件安全管理及技术要求。
一、工商银行软件安全开发体系建设历程
经过多年对软件安全开发技术的探索及人才能力建设,工商银行已具备较为完善的管理体系及安全测试工具链。随着软件开发模式的敏捷化发展、业务形态的快速变化、安全合规的持续驱动以及新开发技术栈的应用,工商银行现有的安全管理体系在面临巨大挑战的同时也迎来了前所未有的机遇。如何兼顾业务敏捷和安全需求,并有效保障软件应用系统的安全性,需要工商银行开展持续性探索及实践。
工商银行自2021年初构建应用安全研发支撑平台,启动了软件安全开发质效的优化提升。经过两年多的努力,工商银行拉通了需求、设计、开发、测试研发全流程的安全活动,实现了将安全活动融入研发过程的目标,确保在当前阶段能解决的问题不遗留到下一阶段,并在工商银行软件开发中心(以下简称“开发中心”)全面推广软件安全开发周期体系,实现问题修复成本的降低和安全左移,全面提升研发过程安全管控能力和研发安全质量。
基于开发中心开发团队的成功实践,工商银行构建了一个适用于多中心、多应用、多技术栈的SDL体系,并通过该体系承载安全管理、安全技术规范、安全测试工具链,将安全能力统一标准、统一流程地赋予各应用开发团队,推动软件安全开发能力开始新一轮演化,构建从事后防护转向全过程防范的安全体系,有效提升了全集团安全防御能力。
二、工商银行软件安全开发周期体系建设探索及取得的成果
工商银行从未停止过在软件安全持续性提升及体系优化等方面的探索,随着敏态研发转型的不断推进,研发安全工作也进入了新的阶段。开发中心在持续建设、迭代优化现有安全开发运营一体化的同时,构建了与之相对应的SDL体系。SDL体系在2022年、2023年连续两年获得中国信息通信研究院的认可,相继被评为“研运质效典范标杆案例”和“研运安全卓越保障案例”。
在安全体系建设工作中,工商银行以软件安全开发周期方法论为整体架构,结合DevSecOps理论,将安全活动嵌入研发过程管理体系,推进安全经验及技能固化沉淀、安全活动融入研发全生命周期、安全工具检测能力提升,提高软件安全开发管理及技术水平,构建面向软件安全开发周期的闭环安全管理能力。工商银行软件安全开发周期体系总体框架如图1所示。
图1 工商银行软件安全开发周期体系总体框架
1.安全经验及技能固化沉淀
软件安全开发管理工作一方面与研发过程管理密不可分,另一方面也需要安全人员具备丰富的专业知识。在将安全融入研发的过程中,如何在需求阶段识别出安全风险并提出相对应的安全需求成为关键。开发中心通过搭建应用安全研发支撑平台,建立了线上安全知识库(如图2所示),归纳总结行内外安全规范、监管条例、行业最佳实践等形成核心安全条目,将研发中的最佳安全开发实践以及安全专家的经验技能沉淀固化为条目化的安全资产,覆盖安全需求指引、安全设计建议、样例代码建议以及安全测试案例,确保各阶段安全资产形成对应关系,最大程度降低了人员资源消耗及对技能的依赖。同时,结合应用研发实践,开发中心按照业务场景提炼典型的安全需求清单,提升业务安全需求和威胁列表关联的自动化程度,为软件开发周期安全左移提供有效支撑。
图2 工商银行线上安全知识库架构
2.安全活动融入研发全生命周期
开发中心依托应用安全研发支撑平台(如图3所示),从项目维度和应用维度出发,将安全融入研发流程,基于安全知识库为安全管理人员赋能,降低开展安全活动的人员能力门槛;同时建立可视化的安全评价指标体系,从知识库建设、应用安全质量、项目研发安全三个层面展示安全能力和质量,帮助管理人员了解应用暴露面、项目新增风险、知识库建设情况等信息,形成工商银行的安全全视图。
在研发过程中,开发中心通过连通应用安全研发支撑平台与现有研发测试管理系统,将安全嵌入日常研发过程,并拉通研发关建节点安全活动,实现安全活动的线上管理和流转。在需求阶段,应用安全研发支撑平台依托安全知识库中的业务场景和安全场景,帮助研发人员识别需求中的安全要素,同时支持保存可复用的识别结果,为后续相似需求的安全分析提供参考,逐步实现标准化安全需求分析模板,减少大量重复工作,为安全工作降本增效;在编码阶段,利用大语言模型(LLM),打造涵盖安全合规、安全编码等方面的智能安全模型,基于IDE环境为研发人员提供代码安全智能分析、安全规范对标、安全知识检索、安全资产引入等一站式安全智能服务;在测试阶段,结合需求的安全分析结果,逐条推送编码参考实现及测试验证案例,做到每一个安全需求都有对应的防御和检测方法,实现从安全需求到安全测试的闭环管理。
图3 工商银行应用安全研发支撑平台功能示意
3.安全工具检测能力提升
通过对大量新技术的运用及创新,安全测试工具链实现了对应用系统Web安全、客户端安全、API安全、容器镜像安全的全方位覆盖,并支持人脸识别、人工智能、云计算等新技术在新业务场景中的新型安全风险的检测;同时通过将安全专家的经验固化为标准化工具,集成黑、白、灰多维度安全测试工具,帮助各研发团队在项目的开发和业务功能测试过程中完成安全测试,大幅提升安全测试标准化、自动化、智能化水平,最终融入整体应用研发流程。安全测试工具链用于支撑研发过程中的各项安全活动(如图4所示),支持瀑布、敏捷迭代等研发模式,通过将不同安全测试工具嵌入研发测试的不同阶段,推动需求、开发、测试团队通过自动化工具共同参与到安全活动中,实现安全测试左移,有效提升安全测试的效率和效果,助力整体研发效能提升。
图4 工商银行安全测试工具链在研发流程中的使用情况
4.软件安全开发周期提升效果
软件安全开发周期体系的持续完善,助力工商银行软件安全开发在效果提升、效率提高和人员依赖度降低等方面均取得了良好成效:一是通过安全开发过程控制及安全左移等措施,使更多的安全风险可以在早期被识别或检出,大幅降低了应用发布前的风险。二是借助于统一的应用安全研发支撑平台及安全测试工具链,使原本依靠个人经验技能的工作能以较高的自动化、标准化方式进行。以手机银行为例,开发团队完成同等安全开发相关工作较使用前的效率提升了50%以上。三是在原本对专业安全人才要求较高的安全需求分析、威胁建模、业务安全测试等领域,借助于安全工具及安全知识库,大幅降低了对人员安全能力的要求。
以上显著成果说明了软件安全开发周期体系的全面推广具有适用性和领先性。后续,开发中心将持续开展软件安全开发周期体系的推广实践和迭代优化,探索AI算法等新技术与体系融合路径,不断提升应用安全开发水平。
三、工商银行在软件安全开发体系上的持续性规划
工商银行一直积极引入和探索行业优秀理念与方法,参考业界DevSec0ps最佳实践及SDL安全开发模式,使工商银行结合现有安全开发工作流程建立的应用安全研发支撑平台及安全测试工具链取得了巨大成功,有效提升了应用系统的安全水平,减少了应用系统发布后的风险漏洞数量,降低了修复成本。
后续,工商银行将积极实践,持续推动应用安全开发水平的提升,聚焦大模型与安全创新的结合,从“安全大模型”与“大模型安全”两个维度开展深入研究,聚焦大模型自身的安全、可信、可控,研究承载大模型系统的网络安全、模型算法安全、数据安全和隐私保护、内容安全;同时,探索大模型对安全需求分析、安全问题分析、安全漏洞治理等方面的赋能方式,利用大模型开展安全需求自动识别、安全漏洞自动分析等研究,通过新技术创新安全管理方式,不断提升安全智能服务水平,为业务高速灵活发展提供信息安全保障。
本文刊于《中国金融电脑》2024年第3期
声明:本文来自中国金融电脑,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。