2013至2015年iOS平台网银应用安全性对比

针对分布在不同地理位置上的一些重要银行的iOS平台网银应用,本文主要从传输安全、编译器保护、UIWebView、数据存储、日志文件、二进制文件等方面研究了它们的安全性;此外,本文还将这次的研究结果与2013年进行的针对相同银行的APP安全性结果进行对比,并分析这两年之前iOS平台网银应用安全性的整体发展。

前言

2013年,为了了解一些重要银行移动网银应用的安全性整体情况,我决定开展一项研究

在这篇博文里,我将展示最新的研究结果,以显示与2013年相同的移动网银应用安全性的发展情况。

研究范围

我的研究包括40个移动网银应用,其中它们在全球地理位置分布如下图:

这次研究中,我所采用的指标与2013年的研究中相同:

测试

针对每一个APP,进行了下面的测试:

1、传输安全

 

2、编译器保护

 

3、UIWebView

 

4、不安全的数据存储

 

5、日志记录

 

6、二进制分析

 

下面,我将从两方面展示这次的研究结果:

 

网络和日志分析

在所有审计的APP之中,12.5%没有验证所用SSL证书的真实性,这使它们很容易受到中间人(MITM)攻击。35%的APP在整个程序中包含非SSL的链接,这使得攻击者能够拦截流量;并且,在攻击者试图创建一个伪造的登录提示窗或类似的诈骗活动中,他们能够注入任意JavaScript或HTML代码。

30%的应用程序没有验证传入的数据,这使得攻击者通过不安全的UIWebView实现就能进行JavaScript注入,从而发起客户端攻击。42.5%的应用程序提供了替代的身份验证方案,以此来减小泄漏用户凭证和个人攻击的风险。

通过系统日志或自定义日志暴露的与客户端相关的信息中,40%的APP仍旧泄露用户活动或者客户端服务器交互信息,例如来自服务器端的请求和响应。

2013年到2015年之间的进化:

二进制和文件系统分析

在查看了每个应用程序的文件系统和二进制文件后发现,7.5%的APP仍旧没有采取一些编译器的保护措施,例如启用PIE和栈粉碎(Stack Smashing)保护。此外,只有15%的应用程序有越狱保护措施,以此来检测并通知最终用户越狱设备的风险。

15%的应用程序通过SQLite数据库或其他明文文件,将未加密的敏感信息存储在文件系统中,比如客户银行账户和交易历史的详细信息。最后,17.5%的应用程序开发时在它们的二进制文件中采用了硬编码。

2013年到2015年之间的进化:

漏洞地理位置分布

结论

1、通过正确验证SSL证书或删除明文流量,大部分应用都提高了数据传输的安全性,这有助于减小用户遭受MITM攻击的风险。

2、虽然总体数量在减少,但仍有大量的应用程序在它们的文件系统中存储不安全的数据,所以他们中的很多人仍然容易遭受客户端攻击。

3、很少有应用程序提供替代的身份验证解决方案,而仅仅依靠用户名和密码进行身份验证。

4、在这2年的时间内,虽然总体上安全性有所提高,但这还不够,很多应用程序仍然很脆弱,很容易受到黑客攻击。

*参考来源:ioactive,FB小编JackFree编译,转载请注明来自FreeBuf黑客与极客(FreeBuf.com)

转载自:http://www.freebuf.com/news/90574.html