金融行业移动App安全标准化建设研究

随着移动互联网的普遍应用,移动金融服务迎来了爆发式增加的时代,打破了传统金融服务在空间和时间上的限制,根据《中国互联网络发展情况统计报告》统计可知,截止2017年12月,我国使用网上支付的用户规模达到 5.31亿,较2016年末增长5661万人,年增加率为11.9%,使用率达68.8%。根据《2017支付体系运行整体状况》统计可知,2017年,银行业金融机构共处理电子支付业务1 525.80亿笔,金额2 419.20万亿元,较2016年均有不一样程度的增加。java

在移动互联网时代,移动金融在生活中扮演着愈来愈重要的角色,移动金融正之前所未有的速度改变着人们的工做和生活方式,移动金融将成为链接客户的主要渠道,并成为客户源的主要入口和数据采集入口,移动金融是决定金融市场成败的关键因素。算法

移动金融APP安全概述安全

移动金融给人们的生活带来了极大的便利,可是随着移动金融市场的需求快速增加,移动金融APP的开发与应用也是成几何级数量递增,移动金融APP在没有安全防范意识和安全开发规范的限制下迅速发展,在APP应用安全性方面的缺失直接成为阻碍移动金融前进的主要缘由。服务器

因而咱们能够看到,近几年针对移动金融APP的攻击持续不断,逆向破解、病毒植入、仿冒侵权、信息截取等攻击给移动金融行业的安全形成了极大的威胁,每一年对企业形成直接经济损失高达1500亿元,严重影响了企业收益,也对用户的隐私和财产的安全形成了极大的损害。并且,黑客和黑产从业者的攻击技术和手段在快速的更新迭代,一旦咱们的防护能力不能与之相匹敌,出现“道高一尺魔高一丈”的技术代差,那么“人为刀俎我为鱼肉”的悲剧将不可避免的发生。网络

移动金融APP安全标准化工做的意义架构

正是基于当前严峻的移动金融安全形势,2018年8月14日,中国人民银行办公厅下发《中国人民银行办公厅关于开展支付安全风险专项排查工做的通知》银办发〔2018〕146号(如下简称146号文),开展支付安全风险专项排查,旨在要求商业银行、非银行支付机构、清算机构等从业机构切实增强风险防控意识,提升风险防控水平,保障金融体系的健康与安全。框架

从全面保障移动金融网络安全的角度来看,贯彻落实146号文,开展移动金融网络安全标准化工做,是进一步夯实移动金融行业健康发展的根基,是移动金融行业切实落实《中华人民共和国网络安全法》的集中体现,对提高移动金融网络安全防御水平,保障移动金融网络安全具备重要意义。 运维

移动金融APP安全政策和标准性能

网络安全法律政策测试

当前国内外在围绕互联网金融相关网络安全出台的法律政策方面,已经逐渐造成繁杂细密的监管和制度体系,为互联网金融提供可实施的规范。

国外状况

  欧盟GDPR

  GDPR是英文“General Data Protection Regulation”的缩写,一般翻译为“通用数据保护条例”,是欧盟议会和欧盟理事会在2016年4月经过,在2018年5月开始强制实施的规定,目的在于遏制我的信息被滥用,保护我的隐私。

  GDPR本质上来讲是一版强制执行隐私条例,规定了企业在对用户的数据收集、存储、保护和使用时的新标准;另外一方面,对于自身的数据,也给予了用户更大处理权。由于考虑到全球性是写入互联网基因内到属性,几乎全部的服务都会受到影响,因此生活照欧洲以外的人其实也会今后条例中获益。

  GDPR规定了全部欧盟的公民所享有的数字生活中的权利,在欧洲,事实上也是目前世界范围内,GDPR是最完善、最严格的隐私保护规定。

国内状况

  中国人民银行146文

  由中国人民银行办公厅发布《关于开展支付安全风险专项排查工做的通知》(银办发〔2018〕146号),通知称为进一步增强移动支付领域网络与信息安全管理,有效防范移动支付风险,切实保障消费者合法权益,人民银行决定开展支付安全风险专项排查工做 。

移动APP安全-改-1.jpg

  按照《支付安全风险专项排查列表》开展专项排查,主要内容以下:

  1、针对客户端应用软件安全,排查客户端应用软件关于敏感信息、数据传输等方面存在的安全隐患;

  2、针对支付系统安全管理,排查支付业务系统在系统安全、交易安全、数据保护、业务连续性、帐户管理、内控管理等方面存在的问题;

  3、针对支付交易安全管理,督查支付交易报文规范化改造、终端信息注册等工做落实状况,排查支付产品质量管理方面存在的不足,切实防范支付业务安全风险;

  须要获得重视的是,央行往期排查主要聚焦在支付系统安全,而这一次的排查重点增长了对客户端应用软件安全的要求,客户端安全已经受到重视,将来在这方面的监管要求将愈来愈高。 

移动APP安全-改-2.jpg

等保2.0

等保全称为“信息系统安全等级保护”,现改成“网络安全等级保护”,是指对网络和信息系统按照重要性等级分级别保护的一种工做。安全保护等级越高,安全保护能力就越强。

这套制度标准的实施为信息系统安全开辟了一条可落地可操做的道路。不只为各信息系统提供体系化的指导,根据各自责任落实相应技术措施,避免安全工做的不做为、或乱做为;同时为落实信息系统安全工做提供方向和依据,明确法律法规要求,让安全工做有法可依;还致力于落实保障我的信息、资金等安全,为我的隐私提供保护伞

为了配合《网络安全法》的实施,同时适应移动互联新技术发展状况下网络安全等级保护工做的开展,新标准针对共性安全保护需求提出安全通用要求,针对移动互联新技术个性安全保护需求提出安全扩展要求,造成新的网络安全等级保护基本要求标准,移动互联安全扩展要求标准以下:

移动App安全-3.png

移动金融APP安全威胁分析

Top 10 漏洞类型

(1)通讯数据明文发送

客户端APP与服务器端交互的数据经过明文的通讯信道传输

(2)通讯数据可解密

客户端APP与服务器交互的数据传输加密,但数据依然能够被解密

(3)敏感数据本地可破解

客户端APP将敏感数据(如登陆密码,手势密码等)以明文存储在本地,或加密 存储但经过逆向分析程序能够破解该数据

(4)调试信息泄露

客户端APP将开发时帮助调试的信息打印出来,这些信息一般包含一些敏感的参数,消息的明文等。

(5)敏感信息泄露

客户端APP代码中泄露敏感数据,如对称加密密钥,非对称加密中的私钥,认证使用的共享密钥,不该该被暴露的后台服务器管理地址等等。

(6)密码学误用

客户端APP代码中使用了不安全的密码学实现,例如固定硬编码的对称加密,ECB模式的对称加密,CBC模式中的IV固定,不安全的公钥进行非对称加密等。

(7)功能泄露

客户端APP中高权限等行为和功能(如发送短信,读取联系人等)没有被安全的保护,被其余无受权的应用程序调试或访问。

(8)可二次打包

客户端APP可被修改代码后,从新打包发布在市场上供用户下载

(9)可调试

客户端APP可以被调试,动态的提取,修改运行时的程序数据和逻辑

(10)代码可逆向

客户端APP的逻辑可以被轻易获取和逆向,获得代码和程序中的敏感数据

典型业务场景

应用仿冒

移动金融APP应用井喷式增加,致使市场大量金融应用堆积,种类繁多,鱼目混杂,这些应用参差不齐,甚至有些为恶意应用。因为使用人数较多,伴随着愈来愈多的仿冒应用参杂其中,给用户群体形成损失也是巨大的。

应用仿冒场景中,企业版应用被恶意者反编译破解,加入恶意代码后从新打包发布,或者整个程序都是恶意代码,只是利用了一部分企业版的资源文件图片等,这类恶意程序投入市场,会严重影响其余用户的资金安全。

二次打包漏洞,一般是因为企业没有对程序代码进行安全加固,经过这种漏洞,恶意者能够获取整个程序的逻辑代码,从而进行恶意应用的伪造危害用户。

通过统计分析,大部分金融行业的APP应用存在此类问题,缺少必要的保护措施。

协议破解

移动金融的用户数据最为真实和最为完整,为保证用户数据信息不被泄露,厂商定制化了多种多样的加密协议来保护数据传输安全,在复杂的网络环境中,若是加密数据的算法被破解,那一切保护措施将形同虚设。

协议破解场景中,一般是因为客户端代码被逆向,加密算法代码逻辑信息被提取,对算法进行重构解密,这样一来,加密的数据流量就能够被解密获取。

算法重构风险,一般是因为设计者在设计算法的时候没有采用行业标准处理,或者采用了固定的密钥或者填充模式,在加上没有对核心算法代码进行保护,致使整个加密算法被逆向分析,进而致使互联网传输的加密数据被解密明文获取。

支付篡改

移动支付通过多年的发展,愈来愈多的商户和消费者注重移动支付设备的便捷性,在多元化的消费支付场景中,除了转帐以外还有聚合二维码等方式,离线支付等便捷性带来的就是支付的安全问题,一旦在不可信的设备发生了交易,用户的资金安全时刻都处于危险之中。

支付篡改场景中,一般是因为客户端核心支付逻辑被篡改,或者是核心代码被重构致使改变了原有的支付的性质,从而实现恶意支付。

代码篡改风险,一般是因为没有对核心代码进行虚拟化处理,或者没有对程序运行环境进行检测,致使攻击者能够更改程序运行的逻辑,从而破坏支付安全。

移动金融APP安全标准化体系

移动金融的发展,符合监管是基本要求,金融机构安全标准化在加速落地,

网络安全标准化需求

根据我国移动金融行业发展的实际需求,结合上文概括的安全威胁,移动金融APP安全影响范围涵盖了软硬件设备,系统,协议与接口以及平台等各方面,目前主要存在以下标准化需求。

一、移动平台存在系统漏洞,虽然平台自己有比较规范的安全机制,如应用权限控制;内核层经过沙箱机制 隔离不一样进程的资源,并辅助独特的内存管理机制和进程间通讯机制等,因为自己的开源性,推广开放等因素,这些问题一旦被攻击者利用,用户的利益将收到侵害,解决该问题须要对移动平台环境进行检测感知。

二、移动开发语言存在先天性缺陷,具备表明性的java,C#语言为了保证它们的高级特性(好比反射),程序编译事后并无成为可运行的二进制文件,而是一种中间语言,在编译的过程当中保留了源程序的绝大部分信息,只有不多的信息丢失,这样一来,中间语言能够在必定程度上反编译为程序语言,反编译出来的程序其结构和功能都是完备的;汇编语言就是使用助记符和地址标号来替代原来的二进制机器语言,减小的记忆和计算(地址可由编译程序计算),但仍有一一对应的特色,因此机器语言能够反汇编到汇编语言,具备表明的有C/C++语言,解决该问题必须对程序进行加密处理。

三、常规信息安全领域中可以直接使用的基础共性标准相对较少,缺少针对性很强的安全需求分析方法,参考架构,概念模型等内容,故须要就解决此类问题制定支撑性等基础安全规范。

四、当前移动金融相关各种服务须要相应安全管理标准支撑。随着移动金融的的普及深刻,以安全漏洞修复为表明的网络服务频率愈来愈高,黑客可借助此类服务经过利用签名漏洞或伪造签名等手段植入相应后门,从而进行资金诈骗;为防范此类安全风险,除了加固相 应安全功能外,还应对服务管理提出相应安全要求,包括在服务平台层面,而且安全事件不可避免的发生后应急响应管理一样须要标准化指引。

五、针对移动金融APP的安全测评类测试标准缺乏,常规的风险评估测试标准并不彻底适用。目前常规的自动化检测平台只能判断APP是否采用了加固手段,没法判断加固手段的强弱以及其产品性能,须要采用更深层次的测试标准来验证其安全性。

体系框架图

移动App安全-4.png

标准体系内容

基于上述标准化需求分析,结合信息安全标准体系通用框架,现将移动金融APP安全标准体系框架定义为“基础通用”、“技术要求”、“服务管理”、“测评规范”四个部分,同时根据各具体标准类在内容、技术等级上的共性和区别,对四部分作进一步细分,造成内容基本完整、结构基本合理的12个子类。

基础通用

基础通用类标准主要包括防护检测、代码防御、资源加密等三个大类标准。防护检测是用来衡量APP运行环境的安全性,是保证APP在整个执行阶段的安全基础,只有基于安全可靠的环境才能按照开发者企业的意愿正常执行APP流程,为APP启动事后的业务执行提供可靠运行环境;代码保护是用于弥补开发语言先天性缺陷(反编译/反汇编),针对不一样语言环境以及应对不一样业务场景提供通用的安全防御和方法;资源加密应用于核心用户数据的二次加密,在防护检测的基础上升级防护手段。

技术要求

技术要求类标准主要包括设计规范,编码规范,防御规范等三类标准。设计规范标准基于软件安全架构设计的基本原则,结合应用软件通用安全需求,提供一个安全依据;编码规范标准旨在规避开发编码过程当中常见的安全性问题;防御规范提供一个安全基线的配置。

服务管理

服务管理类标准主要包括漏洞修复,应急响应,平台运营等三类标准。漏洞修复标准主要是针对目前已有业务模式中存在的安全威胁提供防御方法和控制措施;应急响应标准主要是针对各种突发的安全事件的应急预案的制定和实施,以及相应维护管理要求提供支持;服务运营标准主要是针对金融APP服务运营平台的安全问题,提出相应的安全运维要求。

测评规范 

测评规范类标准主要包括风险评估、产品测评、系统测评等三类标准。风险评估类标准主要针对不一样业务功能定义相应的风险评估流程、方法等内容;产品测评类、系统测评类标准 主要针对产品级、系统级两个层面的移动安全要求给出相应测试评价方法,以知足各层级厂商、测评机构和监管组织机构的需求。

相关文章
相关标签/搜索