iOS平台个人网银APP的安全测试报告

几年来,我一直在从事有关个人网银APP的安全性研究。在这份报告中,我使用了黑盒和静态分析的方法,对全球最具影响力的四十个iPhone/ipad网银APP进行了安全测试。

以下国家的个人网银APP被纳入测试

研究说明

本研究在40小时内(不连续)完成

为了保护这些应用程序的所有者及其用户,本研究没有公布发现的漏洞以及利用它们的方法

所有的测试都只在应用程序(客户端)上执行;研究排除了任何服务器端的测试

已经联系了一些受影响的银行并提交了漏洞报告

测试过程

我们对每个网银应用程序进行了如下测试:

结果概述

黑盒分析结果

下列工具被用于黑盒分析:

40%通过APP Store审核的APP不会验证SSL证书,这使得他们容易受到中间人攻击。[ 3 ]

少量应用程序(小于20%)不具备位置独立的可执行程序(PIE)和堆栈溢出保护功能。这些功能可能有助于减轻内存泄漏攻击的风险。

许多应用程序(90%)包含几个无SSL的链接贯穿在应用中。这允许攻击者截获流量,注入任意JavaScript / HTML代码,进而创建伪造登录。

此外,发现50%的程序很容易通过UIwebview受到JavaScript注入攻击,通过不安全注射的UIWebView JavaScript实现。在某些情况下,原生iOS功能被暴露,允许受害者的设备发送短信或电子邮件。

一种新的网络钓鱼攻击正在流行:当受害者因为网上银行密码已过期,而按提示输入自己的用户名和密码。攻击者此事可以窃取受害者的凭证并完全获得了访问用户帐户的权限。

下面的示例显示个人银行应用UIWebView漏洞

它允许一个虚假的HTML形式被注入攻击者利用来诱骗用户输入他们的用户名和密码,然后把他们的凭据发送到恶意网站。

另外一个引起我注意而做的测试,是70%的APP没有替代认证的解决方案,如多因素认证,可能有助于减轻钓鱼攻击的风险。

大多数由应用程序产生的日志文件暴露敏感信息,如崩溃报告。这种信息可能被泄露,帮助攻击者利用0day 漏洞应用寻找和开发针对目标用户的应用。

大多数应用程序通过苹果系统日志公开敏感信息。

下面的例子是从控制台系统使用iPhone配置实用工具(IPCU)。身份验证过程的应用程序转储的用户凭据。

 

此外,20%的程序通过http明文发送帐户激活码。即使这个功能对设置初始帐户是有限制的,其相关风险也很高。如果攻击者可以拦截流量的话,那么他就可以劫持一个会话并盗取受害者的账户信息,而且最重要的是没有任何证据可以检测到这种攻击。

在仔细研究每个应用程序的系统之后,我们发现有些人使用一个未加密的SQLite数据库存储诸如银行账户详细信息、交易历史等类的敏感信息。攻击者可以漏洞利用程序远程的访问这些数据;如果攻击者可以通过物理方式访问这台设备的话,那么他就会在受害者机器上安装一些可以从文件系统中窃取信息的越狱软件。

下面的例子展示了从APP的文件系统中获取一个SQLite数据库存储的未加密的银行账户资料。

其他镜像信息泄露被发现,包括:

内部IP地址

 

内部系统地址:

 

尽管披露这些信息不会产生什么重大影响,但是如果攻击者收集了很多这类的漏洞,那他就可以更好地理解应用程序的内部布局和服务器端的基础设施。这样一来攻击者就可以针对应用程序的客户端和服务器端实施特定的攻击。

结论

从防守的角度来看,使用以下建议可以降低安全风险:

 

现在移动设备(智能手机、平板电脑)上也可以安装个人网银应用程序了,这对全球金融公司来说又是一个巨大的安全挑战。金融业应提高移动个人网银APP的安全性。

参考文献

[1]http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/otool.1.html

[2] http://portswigger.net/burp/editions.html

[3] https://www.owasp.org/index.php/Man-in-the-middle_attack

[4] https://www.hex-rays.com/products/ida/

[5] https://www.appaddict.org/forum/index.php?/topic/40-how-to-crack-ios-apps/

[6] https://github.com/zynamics/objc-helper-plugin-ida

[7] http://support.apple.com/downloads/#iphone%20configuration%20utility

本文由liaoxj2046翻译整理,FreeBuf小编进行了翻译修订,转载请注明译文链接http://wx.wosign.com/?p=1413

原文http://blog.ioactive.com/2014/01/personal-banking-apps-leak-info-through.html