NetSec
作者NetSec·2023-01-13 16:12
信息安全·某银行

浅谈城商行数字化转型中的应用开发安全

字数 4439阅读 1962评论 0赞 7

摘要

进入“十四五”时期以来,在政策的推动下,银行数字化转型呈现加速趋势,《中华人民共和国国民经济和社会发展第十四个五年规划和2035年远景目标纲要》、《金融科技发展规划(2022-2025年)》、《关于银行业保险业数字化转型的指导意见》等一系列政策文件都指出金融科技创新和数字化转型的重要性,各大商业银行也越来越多的将大数据、云计算、人工智能和区块链等科技应用于金融业务中,取得了非凡的成绩。

城商行出于自身发展需要和外部竞争压力,也都在积极布局金融科技创新,开展数字化转型工作,越来越多的金融应用上线用于提升触达客户的效率,以及提升客户转化和活跃度。另一方面,这些越来越多的金融应用系统导致了暴露面和攻击风险的增加,对城商行的应用开发安全管控提出了更高的挑战,需要从开发安全管理体系、DevSecOps工具链、人才培训和激励等角度提升系统开发过程的安全管控能力。

*关键字:数字化转型 开发安全 DevOps DevSecOps 外包开发风险

一、城商行软件开发特点和面临的安全挑战

1、网络安全形势严峻

随着数字化转型的进程,近年来遭受攻击的数量明显增加,给用户、各类企业甚至金融行业造成的严重损失,并呈现快速增长趋势。尤其是当今国际形势错综复杂,跨国网络攻击也层出不穷。另外信息泄露事件频发,大量企业商业信息和个人敏感信息由于安全漏洞造成泄漏并在黑产圈、暗网传播。犯罪分子的作案手段逐渐趋于智能化、自动化、收益量化,对0day漏洞的利用时间更短。银行的金融系统作为关键基础设施,面临的网络安全形势其严峻程度不言而喻。

2、金融监管日趋严格

为了确保银行数字化转型的顺利开展,应对金融科技创新过程中的风险,一系列的监管文件陆续出台,例如《JRT 0068-2020网上银行系统信息安全通用规范》、《JRT 0199-2020金融科技创新安全通用规范》、《关于规范金融业开源技术应用与发展的意见》,这些文件都对应用开发过程的安全设计、安全测试、漏洞管理和开源技术的使用等方面,都提出了明确的要求。

从银保监公布的行政处罚信息来看,近年来银行因为系统漏洞、信息安全相关问题导致处罚的案例屡见不鲜。可以预见,未来金融监管对金融信息系统的安全要求会越来越严格,违背监管要求面临的处罚也会越来越严厉。

3、业务的快速迭代导致系统安全遇到挑战

为实现业务的快速上线,提早布局、抢占市场,银行金融系统的研发迭代周期不断被压缩,尤其是随着DevOps开发模式的广泛兴起和推广,研发过程更加敏捷快速,但容易忽视安全检查。由于DevOps倡导研发与运维之间的协作,安全的参与度很低,导致了许多安全问题的相继出现。例如:快速迭代过程中,第三方组件的大量引入,会将组件中存在的漏洞、和不合规的许可声明引入到软件系统中,成为潜在风险。

4、城商行信息安全投入严重不足

大型商业银行在数字化转型过程中,都会同步的投入研发和安全的建设,基本已经形成了较为完善的开发安全管理体系,开发安全制度和安全工具都已自成体系,在开发阶段就能够落实安全工作,使得系统在上线前就具备很好的安全性。而城商行受预算和历史因素影响,安全投入远不如大型商业银行。很多城商行的安全部门编制都是个位数,不仅要担负安全规划建设,还要负责日常的安全运维。在数字化转型过程中,往往是系统研发人员在快速增加的,越来越多的开发项目排上日程,但安全人员却没有相应的同步增加。

二、城商行应用开发过程安全管控难点

1、城商行在开发阶段没有形成体系化的安全管理

大部分城商行系统开发阶段的安全,仅限于上线前的安全测试进行把关,好一点的可能会针对重要系统进行渗透测试,并没有建立贯穿开发生命周期的安全管控体系。在数字化转型的大背景下,系统迭代周期缩短,单靠安全和测试部门的人力不断测试,而不从根本上去治理,系统漏洞只会是开放式的增长,会出现越测越多无法收敛的局面。

2、现有安全工具和DevOps流程的割裂

为了适应快速变化的业务,IT需要实现高效率高质量的交付。银行业普遍开展了DevOps的建设和推广。城商行的数字化转型大部分也是以DevOps为基础展开的,DevOps的流水线虽然提升了开发效率,但是传统的安全测试工具又无法很好的融入流水线,例如动态应用安全测试、交互式应用安全测试、开源组件安全测试、主机安全测试等。这些安全测试工具通常为独立的工具使用,需要分别使用测试漏洞,测试无法自动化发起,测试结果也无法随流水线流转,部分测试工具的扫描时间可能还会长达小时级。这些问题都造成了安全工具和DevOps的割裂,严重影响DevOps的研发效能。

3、外包开发带来的安全与合规问题

目前大部分城商行系统开发都是属于外包驻场和自主研发并行的模式,外包一定程度上可以引进外部的先进技术和人才,快速提升团队信息化水平,但随着而来也带来了一定的安全风险,例如数据丢失、代码泄漏等风险。针对银行科技外包存在的风险,中国银保监会于2021年12月30日发布了《银行保险机构信息科技外包风险监管办法》,如果银行未尽到外包开发风险管理的相关义务,还需要承担合规风险。

三、城商行应用开发安全的思考

城商行开展应用开发安全的治理,须因地制宜,结合银行自身实际情况开展相关安全活动,不可盲目套用方法论,否则只会适得其反。笔者根据自身从业经验,认为城商行可以从以下四个方面开展实践。

1、安全开发管理体系建设

2020年4月,人民银行下发《关于开展金融科技应用风险专项摸排工作的通知》(银办发〔2020〕45号)(以下简称“45号文”),要求各地人民银行分支机构及相关监管机构启动金融科技风险专项摸排工作。此次摸排主要依据《个人金融信息保护技术规范》、《移动金融客户端应用软件安全管理规范》等相关技术规范,以及《金融科技(FinTech)发展规划(2019-2021年)》等金融科技相关文件。摸排内容涉及“个人金融信息保护、交易安全、仿冒漏洞、技术使用安全、内控管理”五大方面,共计123点摸排项。

其中第60~69项摸排内容,均需要从软件应用的开发运维生命周期进行管控,也就是开发过程中应做好威胁建模、安全设计和安全测试的工作,上线后应做好安全防护、漏洞管理和安全应急等措施。

《JR/T 0068—2020网上银行系统信息安全通用规范》对银行软件开发过程做出了以下规定:

在应用系统上线前,应对程序代码进行代码复审,识别可能的后门程序、恶意代码、逻辑缺陷和安全漏洞。

应严格控制对生产版本源代码的访问,避免代码泄露。全部或部分源代码如需交由本机构开发者之外的第三方使用或进行再次开发时,需执行严格的审批流程、明确相关责任并与第三方签署保密协议。

应对生产库源代码版本进行控制,保证当前系统始终为最新的稳定版本。

应对源代码管理系统的访问日志进行审计,对异常行为进行识别。

系统上线前,应清除系统中与测试有关的代码及数据。

系统上线前,应进行严格的代码安全测试。若应用程序为委托外部机构开发时,金融机构应要求外部开发机构自行对交付版本应用程序进行安全测试,金融机构对交付版本的应用程序源代码进行安全审计。

金融机构应建立对应用程序及源代码进行定期安全检测的机制。

以上这些,其实都是在要求银行等金融机构建立起软件开发过程的安全管控,也就是安全开发管理体系,或者是基于DevOps建设的DevSecOps。

另外,中国人民银行最新发布的《金融科技发展规划(2022-2025年)》中明确提出:深化数字技术金融应用,健全安全与效率并重的科技成果应用体制机制,不断壮大开放创新、合作共赢的产业生态,打通科技成果转化“最后一公里”,直接从纲领层面对金融科技创新提出了安全要求,和安全开发管理体系的理念不谋而合。

所谓安全开发管理体系,是指将安全需求分析、安全设计、安全编码、安全测试等安全活动融入开发过程的一套制度规范,约定在每个环节实施何种安全活动,以及这个过程中的职责分工、流程规范和检验标准等。

通过制定每项安全活动的管理规范和输出物要求,确保安全活动的执行到位。应尽量在现有开发管理体系上修订优化,使得安全开发管理体系无缝融合到开发管理体系,对现有开发活动侵入干扰较小,最终在落地环节阻力会小很多,才能取得不错的效果。

2、建立适应敏捷的DevSecOps开发安全工具链

由于开发人员一般并不具备安全专业知识,并且代码扫描、黑盒测试、灰盒测试等安全活动工作量较大,实现安全活动自动化非常有必要。DevSecOps的理念是将安全融入DevOps之中,通过一系列自动化工具在实现快速交付的同时保障软件安全质量。

这里Gartner的模型只是参考,银行在实践的时候需要考虑现有开发团队的安全基础,尤其是中小城商行开发资源不是很充足的时候,要考虑增加安全工具对研发可能带来的影响,要结合实际选择安全工具,分阶段进行建设。

要考虑到研发过程中的参与者承担着各自的工作任务,DevSecOps运转过程中,不能额外增加工作量,更不能影响人员本职工作,这就要求提供的安全工具对DevOps要有很好的兼容性,平顺的融合到产品设计、开发、测试的工作中。同时安全工具需要有很高的测试效率和准确率,确保DevSecOps的高效实施。

3、员工赋能与激励

实施开发安全体系的过程中,由于员工安全能力和安全意识不足,需要配套开展安全技能的培训和安全意识的培训工作。对后续入职的员工,也要在试用期开展相关培训和考核工作,考核合格方可转正。

由于开发安全的工作是需要开发相关的所有人员共同配合完成的,对于产品、架构、研发、测试等岗位人员会带来一些工作量上的增加,所以需要有一定的激励机制。在实际运营过程中,为了确保各个角色的执行力和积极性,有必要建立应用开发安全相关的绩效体系,以此激发积极性。通过调节绩效指标,可以很好的引导员工的工作方向和质量。例如针对漏洞密度(每千行代码漏洞数)、漏洞修复时效设置绩效指标,可以很好的提升开发人员对漏洞的重视程度。

4、外包风险管控

切实贯彻《银行保险机构信息科技外包风险监管办法》中的要求,建立并持续完善风险管理制度和流程,充分识别并评估信息科技外包可能产生的风险,引入外包服务商要做好尽职调查,签订保密协议,约束外包驻场人员的行为,对外包人员的信息系统开发过程和最终交付物进行安全扫描和检查。

当然除了做好外包的风险管控,更重要的还是锤炼内功,城商行应该按照监管的要求,逐步提升信息系统的自主研发运维能力,严格遵循软件安全开发生命周期管理制度和流程,加强漏洞监测、定位和修复。

四、结语

对于城商行而言,大行业务下沉、互联网金融企业跨界竞争、以及利率市场化都为城商行带来了空前的压力,数字化转型和金融科技创新是城商行面对压力奋起突围的不二之选。但无论是借助互联网进行营销和服务的拓展,还是内部风控的智能化创新,系统安全永远不能忽视。建设应用系统开发安全的管理体系和全自动的应用安全检测工具,既能满足合规要求,又能为业务发展提供坚实后盾。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

7

添加新评论0 条评论

Ctrl+Enter 发表

本文隶属于专栏

最佳实践
不同的领域,都有先行者,实践者,用他们的最佳实践来加速更多企业的建设项目落地。

作者其他文章

相关文章

相关问题

相关资料

X社区推广