作者

中国银联技术开发中心副总经理 王荣海

中国银联技术开发中心 蔡水捷

中国银联技术开发中心副总经理 王荣海

党的十八大以来,党中央高度重视网络安全工作,将网络安全保障体系和能力建设提升到前所未有的高度。中央网络安全和信息化委员会印发的《“十四五”国家信息化规划》明确提出全面加强网络安全保障体系和能力建设,深化关口前移、防患于未然的安全理念。近年来,数字化发展使网络安全威胁加速向各领域渗透。应用系统作为数据信息的重要载体,是攻防双方激烈对抗的重要战场之一,大部分的网络攻击事件利用了应用系统的漏洞,在某种程度上可以说软件开发者已然身处网络安全斗争的前线。如何有效保障应用系统安全,增强攻防对抗能力,已成为数字时代金融机构的重要研究课题。

中国银联以积极预防、全面感知、快速处置、持续改进为信息安全总体方针,积极探索并实践网络安全保障体系建设;在应用安全方面,通过规划建设安全研发体系,打造应用安全内生能力,切实有效推进应用研发安全水平不断提升。

一、安全左移与安全内生

近年来,在监管合规趋严以及数据安全、供应链安全等发生变化的新形势下,以安全检测为主的安全左移普遍侧重于单点安全防护,且存在一定的安全合规局限。关于安全左移,业界尚没有一个统一的定义,通常的理解是将安全检测工作尽量靠近研发左侧,而不是在上线后或临近上线时开展,以期提前发现风险,降低修复成本。从全局视角出发,以需求、设计、开发、测试、构建、发布、运营等软件研发全生命周期为基础,赋予各环节应有的安全属性,且互相之间能有机联动,产生乘数效应,才能真正有效地保障软件产品安全,即安全内生。

二、对安全内生的整体规划

中国银联技术开发中心(以下简称“技术开发中心”)依托现有成熟完备的研发流程,先从小点、关键点做起,减少安全隐患,而后逐步横向扩展,以“低侵入,少打扰”为原则,建立了符合自身特点的安全研发体系(如图1所示)。该体系覆盖研发全生命周期,与研发流程紧密结合,以风险为驱动,在每个环节根据风险设计适宜的安全防护措施,并通过数字化平台工具加以落地。

图1 中国银联安全研发体系

1.以风险为驱动,实现全流程覆盖

无论是瀑布模式还是敏捷模式,研发活动本质上仍然包括从基本的需求设计到上线运营的全流程。在实践过程中,技术开发中心以问题为导向,总结形成各阶段应关注的安全事项。

需求阶段主要面临安全合规风险,如业务是否违反监管要求,哪些数据不能存储、哪些数据需要加密、哪些需要开展数据安全评估等;设计阶段主要面临架构中缺失安全设计的风险,还需要兼顾安全与效率,如数据加密方式选用、接口鉴权形式等;开发阶段主要面临研发人员安全编码意识缺失的风险,如硬编码、非预编译、重要函数入口未校验、引入不安全组件等;测试阶段主要面临安全人员测试广度与深度判别的风险,如增量与存量测试的选择、测试手段选用等;在上线运营阶段,数据流量大部分是应用层加密,一旦攻击流量混迹其中,外围设备能发挥的作用有限,应考虑增强自身的安全免疫能力。

2.以数字技术为底座,因地制宜

技术开发中心基于各阶段面临的风险和关切点,制定了一系列相关的安全规范指引,通过设计并自主研发全流程安全管理平台,与内部研发平台无缝集成,将安全活动平滑嵌入研发人员日常开发流程中。

在需求设计阶段,技术开发中心创新采用平台化场景式威胁建模,相比传统威胁建模采用STRIDE、威胁树等重量级方法,该方法以业务场景为视角,通过问卷的形式,辅助业务和研发人员充分考虑安全合规、安全设计事项,将安全术语转换为业务、研发语言,降低沟通成本。

在开发测试阶段,为解决不同安全工具带来的结果重复、混乱等问题,进一步提高检测效率,技术开发中心积极开展了应用安全编排与关联(ASOC)技术研究,一是根据不同应用及场景,自动调用不同安全检测工具,实现了安全检测工具的自动化;二是对工具间的检测结果进行关联分析,形成最终问题清单并给到安全与研发人员,在保证覆盖面的同时提升了准确率,减轻了确认的负担,实现了漏洞全部平台化闭环管理以及应用系统历史安全漏洞的自动提醒。

在上线运营阶段,技术开发中心在发布流水线上设置了安全卡点,只有前序各环节的安全管控措施均通过之后方可发布到生产环境;在部署阶段,安装应用运行时防护工具,并将其作为应用系统自身的最后一道防线,来防范研发阶段未能发现的安全隐患,或在0Day/NDay攻击中充当虚拟安全补丁,为应用升级争取时间。应用运行时防护工具由于与应用深度耦合,上线之初默认只做监控不做拦截,待确认不影响业务后灰度开启拦截模式。

3.安全内生,不止于形

在各研发节点有了专属的安全管控措施后,就要让其有机联动起来,形成立体防御面。以此为目标,技术开发中心建立了安全知识库(如图2所示),并将其作为应用安全的核心资源池。安全知识库包括各类安全监管条例要求、成熟安全设计方案及代码示例、完整安全测试案例、依赖组件等应用系统相关的内容,这些内容最终通过一系列关联技术组合成一个整体。在具体实现方式上,以需求阶段问卷为入口,针对本次业务需求特点,自动形成安全合规要求、安全设计方案、安全测试案例的协作关系,在上线后可以通过应用运行时防护工具进行监控管理,进而确保安全的连续性和可验证性,消除安全孤岛。

图2 中国银联安全知识库

没有度量就没有管理,如何有效衡量安全也是金融机构需要重点关注的问题。基于可采集、可度量、可控制、可改进的原则,技术开发中心设计了安全量化指标框架,该框架涵盖安全管理、安全开发、安全运营、安全效果等,共有4个一级指标域、16个二级指标域、45个指标项(包括40个过程指标和5个结果指标)。在软件研发链路中,各类指标数据通过安全看板集中展示,以辅助优化改进安全工作。

三、中国银联安全内生实践成效

经过持续建设实践,技术开发中心推动安全活动深入研发各领域,促进了研发人员理念的转变,使其适应并接受安全带来的影响及收益,安全已从可选品变为必需品。认知观念的改变,带动了整体安全研发水平的提升。

在安全需求方面,基本覆盖所有重要业务需求,并进一步前移,将安全问卷的使用对象变为以业务人员为主、以研发人员为辅,真正使得安全成为大家的事情。

在安全设计方面,提炼内部成熟方案及外部最佳实践,提供90多个不同领域的安全解决方案,包括会话安全、身份认证、输入校验、异常处理等。

在安全编码方面,制定多种安全编码规范,并用来指导开发,覆盖主流语言;采用商业、开源相结合的源码检测工具,通过定制并不断优化检测规则,大幅提升了准确率,极大降低了开发人员确认漏洞的负担;积极开展开源软件检测,并涵盖容器镜像、Java、NodeJs、C、Go、移动应用So等多个类型,通过版本实时检测,动态建立了完整的应用系统组件依赖资产库,为风险应急及攻击面管理打下了扎实基础。

在安全测试方面,综合应用系统安全水位,采用分类分级方案,以应用安全编排为基础,自动化动态调用不同检测工具并进行结果汇聚分析,使安全漏洞检出率持续保持高位。对自动化工具的运用使得安全人员可以聚焦业务逻辑漏洞的发掘,让安全资源投入得到有效配置,在保障质量的前提下,使平均每个版本安全测试周期缩短了30%。

在安全运营方面,部署应用运行时防护工具,做到“应部尽部”,统一监控,与各类安全设备形成互补,在日常防护及安全演练期间发挥了重大作用,进一步增强了应用系统防御能力。例如,在开源软件漏洞应急过程中,由于研发阶段已实现软件资产的动态管理,因此将应用运行时防护工具作为虚拟补丁可争取修复时间,在极短时间内定位受影响的应用系统,有序按照应急预案进行修复,大幅提升应急效率。

安全之路,任重道远。面对诸如人才培养、方法论运用、团队协作、新研发模式、新技术衍生安全风险等众多挑战,技术开发中心将持续优化安全研发体系建设,积极引入AI检测、BAS、攻击面管理、知识图谱、云原生等新技术,打造并不断提升安全内生“数智”能力,为软件安全研发提供更为有力的支撑,筑牢应用安全长城,更好地助力业务发展。

本文刊于《中国金融电脑》2023年第7期

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