当前,随着网络业务与移动业务的兴起,银行业已经进入智能化、数字化的新时代。网上银行、移动客户端、小程序相继成为各个银行实现数字化转型的重要载体。
其中,小程序凭借开发门槛低、上线速度快、平台覆盖率高等特点成为现阶段银行服务用户的重要移动渠道。然而小程序面向海量的用户和复杂的跨网交换,其承载的金融数据更是时刻遭受不法黑客的攻击威胁;此外,部分开发者使用的第三方SDK服务也有可能存在安全风险,威胁企业和用户的财产安全。
银行小程序主要面临的安全风险都有哪些?如何确保小程序在研发、上线、运营阶段的稳定应用?如何预防小程序中的用户信息泄露?由腾讯安全联合云 社区打造的「产业安全专家谈」第二十期,邀请到了腾讯安全资深架构师徐涛,为大家分享银行小程序安全防护的实践路径。
Q1:随着金融服务向移动互联网逐渐倾斜,银行业主要面临的安全问题有没有发生改变?
徐涛:伴随金融服务和营销手段线上化的进程发展,互联网金融所带来的信息安全风险日渐提高,数据泄露事件层出不穷。在资金体量庞大、用户信息集中、信息价值具有强变现能力的金融领域,安全问题所造成的影响力相较于其他行业更为明显。
最早银行业提供的移动金融服务主要以网上银行为主,最主要的安全问题就是安全漏洞。在2016年金融行业安全漏洞类型分布中,涉及安全漏洞类型多样化,且高危漏洞占比达总漏洞数的94.56%。而随着移动客户端的逐渐普及,黑灰产也开始将攻击重点转移到了各个银行的移动客户端之上,2018年就曾有黑客利用某银行APP软件中业务存在的安全漏洞,非法获利近2800余万元。
通过金融行业中安全漏洞数据和过往案例不难看出,金融行业急需构建完善的安全体系,来实现对安全漏洞风险的提前检测、暴露和解决,帮助业务方规避经济损失以及不可估量的口碑影响。
如今,随着微信小程序市场的持续拓展,用户规模和渗透率的逐渐提升,微信小程序已经成为了各行业拓展线上服务的新载体,各大银行也纷纷开始通过小程序来实现移动端金融服务的功能。在此背景下,小程序不只要应对与APP同样的安全风险,还要面对源代码的逆向风险和调试风险,这些安全隐患所带来新的问题。
Q2:小程序相较于APP具备哪些优势?主要的安全问题有哪些?
徐涛:对于开发者而言,小程序的开发成本更低、成型快、项目上手更快,而且开发一个版本就能覆盖安卓和iOS两个系统;另外,小程序在服务功能迭代和升级的速度上也明显优于APP,非常适合用来快速实现场景化服务,进一步验证客户的需求。而对于用户而言,小程序无需下载安装、即用即走、接近原生的体验度也获得了用户的广泛欢迎。
随着微信小程序用户规模的不断扩大,各个银行也纷纷开发了专属的小程序作为服务用户的重要渠道,相应的安全隐患也随之而来。不法分子利用小程序进行作弊欺诈、恶意植入木马或病毒、篡改业务数据、盗取用户隐私信息等行为,为企业的业务安全带来了严重的威胁。
Q3:银行在开发小程序的过程中,主要面临的安全风险是什么?有哪些解决方案?
徐涛:随着互联网与移动应用的普及和不断发展,银行的互联网金融业务模式不断壮大,在黑灰产业攻击逐渐产业化、技术化、精准化的背景下,针对银行的攻击呈现出愈演愈烈的趋势。同时,随着用户习惯越来越轻量化,app所面临的风险也体现在小程序中。主要的安全风险有以下几个:
■ 薅羊毛
一些银行在产品开发设计上未妥善考虑安全问题,直接在小程序上进行红包、优惠券等形式的营销,就会给黑灰产带来可乘之机。比如不法分子可以通过恶意下单等方式来“薅羊毛”,让银行的营销引流效果大打折扣,更有甚者会使50%-80%的营销资金因此而浪费。
有一些商家在设计支付流程时存在不当设置,让用户主动提供支付账单金额,黑灰产业在发现直接改小账单金额也可完成交易后,羊毛党蜂拥而至,让商家蒙受了严重的经济损失。
■ 仿冒、山寨小程序
由于小程序源码难以混淆加密,导致山寨小程序也大量出现。不法分子通过逆向等方式来窃取核心代码,仿冒伪造小程序,为小程序开发商带来业务危机,同时也让用户的隐私信息暴露在危险之下。
■ 恶意数据爬取
尽管微信小程序具有天然的安全保护能力,但不当的开发依然会存在的接口数据泄露等隐患,容易带来信息爬取风险。如果核心数据被爬取并挪为他用,将会带着经济损失,甚至对银行的品牌影响力造成不可挽回的影响。过去曾有商家因在营销活动中没有仔细验证订单与会话身份的匹配,导致约3000万用户个人信息、订单信息泄露。
随着国家对于数据安全的重视程度逐渐增强,相关的法律法规和行业规范正逐步出台。中国人民银行在2019年颁发的第237号文《移动金融客户端应用软件安全管理规范》和《信息安全技术网络安全等级保护基本要求》中,分别明确规定了不同类型的软件包括资金交易类、信息采集类、资讯查询类软件都应该符合相应的安全管理要求,要求各机构的应用开发符合安全设计要求、提供风险监控能力、保护个人金融信息。
日趋严格的监管要求,加上呈上升势头的网络攻击浪潮,都要求银行小程序在程序设计、开发、运营等环节,需要提供切实有效且满足政策法规要求的解决方案。我们基于腾讯多年积累的移动安全实践经验和可靠的安全防护技术,为众多小程序运营者打造了小程序安全防护平台,能够从多角度、全方位洞悉黑产分子的攻击手段,为小程序提供安全管控、运行监测、异常监控等安全防御方案,保障银行小程序业务安全,降低安全隐患,起到降本增效的作用。
Q4:银行小程序如何构建金融级别的安全防护能力?
徐涛:银行是经营货币的行业,安全对于金融而言是头等大事。银行在通过小程序服务金融客户的过程中,会涉及包括用户隐私数据、企业商业数据在内的海量真实数据,极易成为黑灰产业的攻击目标。
构建金融级别的安全防护能力,意味着小程序要遵循金融监管的要求多措并举,包括打造小程序的安全管理架构,权责明确;构建覆盖全生命周期的管理机制,在小程序上线之前就对小程序进行全面扫描和加固,及时发现小程序中是否存在安全漏洞,同时加强小程序在设计、开发、发布、维护等环节的安全管理,并针对网络攻击采取有效的防范措施;加强合规意识,完善客户个人的隐私保护机制。只有做到这些,才能保障小程序安全、合规、稳定的运营。
Q5:从零开始构建银行小程序,如何做到最高效地安全防护?腾讯安全能够提供哪些帮助?
徐涛:建议先从业务场景入手,通过对具体业务场景进行深入了解和详细分析,逐步梳理出小程序在业务流程、程序设计、部署结构等环节中存在的安全隐患,再根据这些安全隐患对症下药,部署切实有效的安全解决方案。这样的方法看似笨拙,但实际上是能够确保小程序和业务的可用性和安全性最好、效率最高的方法。
考虑到银行是从零开始构建小程序安全防护体系的,开发和运营人员都可能存在经验不足的情况,在部署安全产品时容易“头痛医头,脚痛医脚”,让后续的安全防护工作无法顺利开展。这时可以考虑使用腾讯安全小程序安全防护平台,为小程序提供可持续高质量的开发流程、营销风控体系、运行监测系统等多功能全方位的安全解决方案,并通过敏捷设计开发、流程化管理、体系化监控,为银行小程序打造全面立体化的防护体系。
Q6:腾讯安全如何满足不同银行小程序中的各类安全需求?
徐涛:考虑到银行业务自身所具备的金融属性和高敏感性,在构建安全防护能力时首先明确的是合规问题。银行客户可以先通过引入腾讯安全金融小程序安全防护解决方案,从合规性角度梳理小程序的安全漏洞及隐患,再根据不同的业务需求来选择平台下相应的安全产品进行部署。
比如对于需要快速迭代服务功能的小程序,就可以选用小程序安全管控中的安全扫描功能,通过快速且自动化的测评检测小程序中的安全隐患,来满足银行小程序快速迭代、测试的持续测评需求。
如果银行自身安全体系中缺乏针对渗透攻击的防护手段,则可以通过渗透测试功能,深度挖掘小程序业务逻辑安全以及WEB框架中的安全漏洞;同时,渗透测试功能还能够以模拟黑客攻击的形式,对小程序业务系统进行渗透测试,发现可导致业务数据泄露、资产受损、数据被篡改等各类安全风险,帮助运营人员提早进行修复,避免因代码漏洞造成的安全风险及资产损失。
Q7:有没有在保障小程序实现快速功能迭代的同时,还能确保小程序安全的方法?
徐涛:目前各种各样的小程序开发周期都很短。疫情期间,大量小程序开发需要在1-3天的极限时间完成上线,并快速进行服务功能的迭代和升级,极短的交付时间给安全运营带来了极大的压力。
我们通过一套部署在云端的纵深产品体系,打造了覆盖“事前、事中、事后”全生命周期的安全方案,在保障小程序实现快速功能迭代和上线的同时,为其提供业务安全、运维安全、数据安全等五大保障。方案可有效支持小程序在开发阶段的安全测试、风险评估和加固。对于小程序前端代码的加密,接入该方案的开发者只需将代码(路径或文件)传递给加密工具,即可实现字符串加密、属性加密、调用转换、代码混淆等多项保护措施,提高攻击者分析H5前端代码逻辑的难度;针对小程序前端和后台WEB端,该方案提供整体自动化风险检测工具,覆盖前台代码安全和API使用规范,以及业务CGI和对WEB框架和的安全检测,基本覆盖当下主流Web攻击方式,可以让开发者在极限开发时间压力下,交付符合安全标准的小程序。