评测显示,手机银行APP在逻辑设计及流程设计时可能存在一定的缺陷,导致黑客可以识别转账、汇款时的敏感函数,继而将客户的交易数据篡改为黑客指定的账户,造成本应转给正常用户的资金被转到黑客的账户,此类情况会造成个人用户或企业客户的巨大经济损失。
实验室的工程师通过实验发现,此次测试的手机银行APP普遍存在高危漏洞,用户在进行转账交易时,黑客能够通过一定的技术手段劫持用户的转账信息,从而导致用户的转账资金被非法窃取。同时,工程师还发现被检测的手机银行APP自身防御手段较弱,易被破解,安全性较低。
部分手机银行APP存在的问题如下:
(1)手机银行APP交易数据可被篡改
手机银行APP在运行过程中,用户进行转账、汇款等交易时的账号,开户行等敏感数据信息在写入移动终端内存时,可被黑客利用技术手段进行篡改,使得原本要转给亲友或企业的资金被转入黑客指定的账户。
(2)手机银行APP运行时关键Activity组件容易被劫持
手机银行APP关键组件不具备防止进入后台或提示用户等相关功能,黑客可以对登录或支付界面进行劫持替换,用户的敏感数据存在被窃取的风险。黑客可以在本地监听用户的状态,当用户登陆或者输入交易密码时,弹出伪造的界面诱骗用户输入正确的账号口令,从而窃取用户信息。
(3)手机银行APP抗逆向分析能力不足
实验室的工程师使用反编译工具、反汇编软件对手机银行APP进行反编译,发现手机银行APP可被反编译并且泄露出大量有效代码。黑客能够通过反编译,在客户端程序中植入木马、恶意代码以及广告等,客户端程序如果没有自校验机制的话,黑客可以通过篡改客户端程序窃取手机用户的隐私信息。
(4)手机银行APP能够被重新编译二次打包
实验室工程师对手机银行APP进行反编译,通过修改代码、XML、资源文件并对其重编译二次打包,重打包后的手机银行APP能够正常运行。黑客通过在手机银行APP程序中植入恶意代码或广告等,窃取手机用户的资金或隐私信息。
(5)手机银行APP可进行动态调试
手机银行APP可以通过GDB、IDA等调试器进行动态调试,黑客可利用GDB或IDA等调试器跟踪运行程序,并且执行查看、修改内存中的代码和数据等行为,从而获取用户的敏感信息。
(6)手机银行APP代码允许任意备份
手机银行APP代码允许任意备份,黑客通过备份应用程序获得用户的敏感信息。
(7)在发布版本的手机银行APP中留存测试用的组件或账号信息
一些手机银行APP在发布版中留存了测试用的组件或账号信息,直接暴露服务器接口的调用参数,这样大大降低了逆向分析者的工作难度,甚至还可能泄露测试用账户,给用户带来极大安全隐患。
从上述评测结果可知,被测手机银行APP都存在高危风险,建议相关银行采取更加安全的APP加固解决方案,同时增加应用分发渠道监控,第一时间监测盗版、篡改应用发布上线;增加应用自身完整性校验功能,检测到应用被篡改后,及时提醒用户卸载非法应用或者自动进行更新修复。
对于一般的手机银行APP使用者,实验室的工程师建议:
(1)谨慎使用手机银行APP执行转账等敏感操作;
(2)选择在信息安全防护较强、用户权益保护良好的银行办理金融业务;
(3)从银行官方网站或正规渠道下载手机银行APP;
(4)提高信息安全意识,保护个人隐私数据。