构建信息安全堡垒,驻守互联网金融世界边防线

51次阅读

共计 4142 个字符,预计需要花费 11 分钟才能阅读完成。

随着中国互联网金融市场的发展、政策试点扩大范围、央行开放征信牌照、从互联网巨头到新兴创业公司都开始布局消费金融。特别是随着移动互联网的普及和推广,移动互联网金融也逐渐成为互联网金融的主要服务模式。互联网金融蓬勃兴起给大众带来了更加便捷的金融服务。但与此同时,互联网金融伴生的安全问题快速积累、集中爆发,在一定程度上严重影响和制约了互联网金融的健康发展,安全问题成为互联网金融发展过程中无法回避的问题。
一般来讲,互联网金融安全主要包括业务安全与技术安全两大范畴,关于业务安全,因涉及商业模式,监管政策,业务创新、风控机制等多方面复杂因素,不在本文阐述范围之内,而重点针对互联网金融的技术安全问题。
筑建互联网金融安全防线集结号已吹响
金融行业信息化发展早、信息化程度高,现代金融服务更离不开强大的信息系统支撑,信息安全是金融业发展的前提,金融信息系统的安全更是国家金融安全的重要组成,金融行业信息系统是国家关键信息基础设施,要求在网络安全等级保护制度的基础上实行重点保护。
近年来,我国密集发布了一系列金融规范和标准,信息系统安全等级保护也跨入 2.0 时代,特别是互联网金融已成为风险防控的重点关注领域,而等级保护评定不止有利于从信息安全角度实现金融业务保障,更是金融企业品牌、可信度的有力体现。
目前主要的互联网金融模式包括第三方支付、在线理财、P2P 网贷、直销银行、互联网保险及互联网众筹等。各自都曾经发展过或即将面临各种安全威胁。
以 P2P 行业为例,自 2013 年以来,P2P 行业中已有上百家平台遭遇黑客攻击,甚至不乏个别 P2P 平台上千万资金被黑客洗劫一空的恶性事件。P2P 平台的安全性受到监管部门的格外重视,为保证 P2P 的健康发展,2017 年的 8 月份国家出台了《网络借贷信息中介机构业务活动管理暂行办法》,同年 10 月又出台了《互联网金融风险专项整治工作实施方案的通知》,规定网络借贷信息中介机构应当按照国家网络安全相关规定和国家信息安全等级保护制度的要求,开展信息系统定级备案和等级测试。
再比如直销银行,虽然是用户通过互联网和移动端获取银行产品和服务的一种新型金融产物,但自诞生之日起也面临各种的安全风险,比如在推广拓客时,不法分子和黑产黑客用各类脚本软件批量注册大量无效账号,作弊,“薅羊毛”,影响正常用户体验,严重的甚至产生流量攻击,导致服务宕机。也有通过撞库、盗号、漏洞等登录银行账号,盗取资金,信息,给用户造成财产损失。
鉴于各类互联网金融存在的严重技术安全风险,国家制定了各种监管政策规范行业发展,比如对网贷行业信息安全提出明确要求并作为平台合规的重要门槛之一,达不到不予备案甚至取缔。而于 2017 年 6 月 1 日起实施的《网络安全法》更是将现行的网络安全等级保护制度上升为法律,并在第三十一条更明确规定,“国家对公共通信和信息服务、能源、交通、水利、金融、公共服务、电子政务等重要行业和领域,以及其他一旦遭到破坏、丧失功能或者数据泄露,可能严重危害国家安全、国计民生、公共利益的关键信息基础设施,在网络安全等级保护制度的基础上,实行重点保护。”
国家等级保护认证是中国最权威的信息产品安全等级资格认证,共分五级,等级越高,说明安全防护能力越强,但认证难度也更高,例如等保三级就需要在严格监督下从两大方面 300 多项要求进行测评。
目前大多数互联网金融平台获得的以第二级认证为主,属于“指导保护级“仅适用于一般的信息系统,只有少数平台获得了三级等保认证,即“监督保护级”,适用于涉及国家安全、社会秩序和公共利益的重要信息系统,说明互联网金融全行业等保级别还较低,距离国家对非银行金融机构的最高级认证第三级还有不小差距,下一步需要继续提升。
互联网金融安全风险蔓延态势及具体表现
据相关机构统计数据显示,早在 2014 年,中国移动互联网金融呈现爆发式增长,全年交易额超过 20 万亿人民币。移动支付发展迅猛,各家金融机构也伴随着移动互联网发展大潮纷纷推出了各自的金融客户端应用程序(这里主要指手机银行客户端应用程序,以下简称“手机银行 APP”),由此,移动金融支付的安全问题也不断爆发:钓鱼诈骗、信息泄露、资金盗取等。而除了资金出现的问题,实际上还有另一个问题一直被大家忽视,即移动金融 app 的安全性。金融类 APP 出现的安全漏洞相比 WEB 平台要高出很多。
有关机构对金融行业的移动 APP 安全进行评测发现,“网贷之家”中“发展指数”前 100 名互联网金融公司旗下的 88 款 Android 应用,从数据传输安全性、数据存储安全性、敏感数据保护水平、APP 代码保护强度、密码算法与协议安全性五个维度进行评估,结果发现大量的手机金融 app 存在安全问题,这些安全问题可能导致用户敏感信息泄露、密码明文传输等隐患。而当前国内移动互联网金融 APP 信息安全存在着以下十大安全隐患:通信数据明文发送、通信数据可解密、敏感数据本地可破解、调试信息泄漏、敏感信息泄漏、密码学误用、功能泄露、可二次打包、可调试、代码可逆向等。其潜在风险占比为:

高危占比 23%:数据传输不安全导致盗取用户钱财损害平台利益。
中危占比 40%:用户敏感信息泄露,应用被重打包后加入恶意代码和广告。
低危占比 37%:应用崩溃,APP 主要逻辑被逆向。

2018 年 11 月 28 日,中国消费者协会召开新闻发布会对 100 款 App 的个人信息收集与隐私政策情况进行测评的情况进行了通报。在被评测的 10 个类别中,以安全、可信赖等宣传语示人的金融理财在此次测评中排名垫底。根据测评结果,新闻阅读、网上购物和交易支付等类型 APP 为总平均分相对较高的 APP 类别,而金融理财类 APP 得分相对较低,仅为 28.91 分。

中国信息安全在《2018 年一季度热点行业 APP 安全报告》中对互联网金融典型移动应用场景也进行了安全检测,检测结果显示超过六成的互联网金融 APP 自身安全性较好,而所存在的安全隐患点基本都集中在代码保护方面。单看未采取安全防护措施的互联网金融 APP 检测数据发现,其数据安全的重灾区为数据库安全问题,其次是数据传输安全问题和隐私 / 敏感数据泄露方面。

钓鱼扣费风险、恶意攻击防护风险、APP 服务器被攻击风险、DoS 攻击风险方面也存在类似现象,未采取安全防护措施的互联网金融 APP 对于 DDoS 攻击防护方面问题十分严重,钓鱼扣费、恶意攻击防护方面也不乐观。

互联网金融 APP 安全隐患分布图
结合以上数据分析,互联网金融 APP 安全风险主要包括以下 9 大类:

以代码加密为核心的安全保障策略
数据传输安全及其衍生的安全风险成为互联网金融领域的“阿喀琉斯之踵”,而代码安全更是驻守堡垒的护城河,通过代码加密可有效提高互联网金融的信息安全。
几维安全通过长期研究发现,以代码加密为核心的安全保障策略主要可分为传统代码加密和基于 LLVM 的代码加密方式,进一步对其技术原理和适用性的区别进行分析:
若采用传统代码加密方式将面临移植性问题和兼容性问题。从加密实现原理看,传统代码加密方式针对的操作系统、芯片架构均为特定的一个小集合,较难对多端且同源的代码做一致性的保护,且与芯片架构不兼容、内存需求显著增加。而其加密过程往往需要干预正常的 App 运行时(Hook 技术),但对于像 Android 这类高碎片化的平台,干预运行时意味着很难把方案做到完备;像 iOS 这类完全封闭的平台,干预运行时更意味着方案没法工作,目前苹果基于安全考虑不允许很多底层的操作,比如动态分配代码内存。
LLVM 是模块化、可复用的编译器工具链集合,它提供了完整的 API 操作接口,可自定义整个编译过程。能实现在架构无关的 IR 级别做防护,可以适应任意芯片架构。若采用基于 LLVM 的代码加密方案可以函数为单位进行防护,适应低内存运行环境;并能根据不同安全需求制定初级、高级、旗舰级的防护。

– 初级防护:“混淆”
Obfuscator-LLVM 是 2013 年开源的一个混淆编译器,也是国产安全编译器的鼻祖,能实现代码膨胀、块乱序等功能。通过反编译混淆之后会将代码量增大,将执行逻辑做转换。从逆向分析的角度看,代码量的增加在一定程度提高了逆向的难度。
– 高级防护:块调度编译器
从逆向分析的角度看,只要函数逻辑是连贯就总是可以做分析,所以切断函数逻辑是一个代码防护的方向。基于这个方向的思考可做出块调度编译器,实现原始函数的逻辑掐断,让逆向的人无法分析。将各基本的关键代码块调度成为独立的实体,静态反编译工具将无法做代码的连续性分析,这将使得逆向分析无法进行。块调度还可对函数调用加密,使常用的通过函数调用来猜测函数逻辑的破译变得不可能。
– 旗舰级防护:虚拟机
一直以来,在外挂、反外挂最激烈的 Windows 网络游戏攻防战场,虚拟机防护往往是最后一道防线,也是强度最高的一道防线,而虚拟机更是代码安全的最高堡垒。
由于 LLVM-IR 的平台无关性,因此 KiwiVM 也能平台无关的实现函数级的虚拟化,而其静态代码加密方式决定了一旦成功虚拟化,配合虚拟 CPU 的运行时即可完整的实现原始代码的功能,不存在干预运行时的 Hook 操作,因此兼容性可以达到 100%。
应用场景及实例
以 XX 银行手机端 APP 安全加固项目为例,几维安全针对 Android 和 ios 两个平台不同特征,采用不同方案对手机 APP 进行安全加固。其中针对 Android 平台采用 Java2C+ 代码虚拟化(KiwiVM)+ 设备指纹 SDK+ 白盒密钥 SDK;针对 iOS 平台采用代码虚拟化(KiwiVM)+ 设备指纹 SDK+ 白盒密钥 SDK
Android 平台 APP 保护方案
通过几维安全设计的独有编译技术(LLVM)把 Java 字节码转译为汇编指令,再对汇编指令进行代码虚拟化保护。主要采用 Java2C+ 代码虚拟化(KiwiVM)+ 设备指纹 SDK+ 白盒密钥 SDK 等。

IOS 平台 APP 保护方案
ios 平台 APP 主要面对代码反编译的威胁,所以对于代码的保护是重中之重。ios 平台 APP 直接采用几维安全的 KiwiVM 对源码进行虚拟化保护。

结束语
信息安全是互联网金融业务开展的基本要求,更是互联网金融行业健康可持续发展的基本保证。构建信息安全堡垒,驻守互联网金融世界边防线,助力互联网金融业务开展,助力金融企业安全品质保障品牌树立,助力互联网金融发展,势在必行。

正文完
 0