Praetorian的安全专家本月测试了275个苹果iOS和Android手机银行应用程序,这些应用程序来自50家个主要金融机构、50家大型区域性银行和50家大型美国信用合作社。结果发现,80%的应用程序配置不当,没有使用最佳软件做法来构建。这些被测试的知名银行包括:美国银行、花旗银行、富国银行、高盛、摩根士丹利、第一资本金融以及太阳信托银行。Praetorian并没有透露每个银行的应用程序在测试中的表现。
目前,手机银行已经开始腾飞,尽管速度比较缓慢。约35%的美国人在使用手机银行,这比2012年增加了11%。NSS实验室的最新报告中,一些银行报告显示手机银行每年增加70%。
Praetorian公司创始人兼首席执行官Nathan Sportsman表示,手机银行应用程序中的安全漏洞并不是纯粹的软件漏洞,所以它们是风险相对较低的问题,但这些问题最终可能导致受攻击。
Sportsman 表示:“这些都不是业务逻辑性或针对应用程序的问题,而是整个移动应用程序的问题,这些是开发人员应该解决而没有解决的问题,这些应用程序可以通过苹果和谷歌的应用商店下载。”
研究人员测试的漏洞是软件中知名的缓解功能,测试是在每个本地设备的移动应用程序上执行,而不是在后端web服务器和服务。Sportsman表示,这个测试只是整个手机银行攻击情况的一个剪影,因为75%到90%的手机银行发生在后端。
他表示:“这不是侵入性测试,我们没有寻找SQL注入,需要权限来做到这一点,所以我们非常向看看这些移动应用程序的配置。”他希望下次测试信息是如何存储在本地设备上的。
Praetorian使用其新的移动应用安全测试平台Project Neptune执行了这次测试。在第一次测试中发现:很多基于iOS的手机银行应用程序没有启用自动引用计数(ARC)--内存管理功能;位置无关可执行文件—防止缓冲区溢出;以及堆栈保护功能—保护应用程序不会出现“堆栈破碎”。
Sportsman称:“堆栈破碎和ASLR(地址空间布局随机化)已经存在很长一段时间,这些应用程序中应该启用这种保护。”
很多基于Android的手机银行应用程序被发现是针对老版本的Android软件开发工具包,缺乏权限硬化,并启用了调试功能。对于开发者而言,老版本SDK靶向和调试功能将是最大的担忧问题。
不奇怪的是,大型金融机构比信用社或区域性银行表现更好,但区别也不明显:信用社应用程序有108个配置漏洞;区域性银行为97个,而大型金融机构为75。
为什么这些应用程序存在配置问题?总体而言,在金融服务行业,手机银行面临着“急于进入市场”的压力,这可能导致出现一些漏洞。并且,地区银行和信用社往往会外包这种应用开发工作。
与此同时,NSS实验室的Ken Baylor指出,很多手机银行应用程序大多数具有基本的安全性。“大多数银行开始提供简单重定向到移动网站(功能有限)的移动服务,通过检测智能手机HTTP表头。其他银行则创建了具有更好HTML包装器的移动应用程序,提供更好的用户体验和更多功能。到目前为止,只有少数银行为每个平台构建了安全的本机应用程序。”
很多移动手机应用程序是基于简化的HTML代码,这使它们容易受到攻击,这应该促使更多银行为手机开发本机应用程序,增加安全功能,例如加密和地理定位。