两个移动设备安全专家最近发现了一个简单的编码漏洞,它普遍存在于苹果iOS平台上的应用程序中。如果被肆意地利用,攻击者可以借由这个漏洞将用户应用程序永久重定向到恶意服务器上,而不是由应用程序开发者提供的合法服务器。
在荷兰阿姆斯特丹举办的2013 RSA欧洲会议上,以色列的移动安全厂商Skycure CEO Adi Sharabani和首席技术官兼联合创始人 Yair Amit 提供了关于iOS应用程序漏洞的详细资料,该漏洞源于一个常用的URL缓存方法。根据Amit所说,这个问题在iOS应用程序中非常普遍,以致于不能采取传统的路线来私下告知供应商这个漏洞。相反,他们希望供应商可以通过RSA欧洲会议意识到这个问题,然后迅速采取行动,实施他们所提供的编码来解决缓存错误。
这个漏洞被称为HTTP请求劫持,首先需要一个中间人攻击场景,在这个场景中,黑客在公共设置中建立一个Wi-Fi网络,然后捕捉信息,攻击不知情的受害者。当一个移动应用程序企图从一个服务器请求信息时,攻击者拦截通信,可以简单的发送一个301“永久移除”HTTP响应状态代码给应用程序,这样攻击者就可以更换掉供应商的服务器,用自己的服务器作为应用程序的通信枢纽。
Amit说,这种编码错误在移动应用程序上尤为严重,因为它们永久缓存301响应,不管受害者是否依然连接在相同的Wi-Fi网络上。Web浏览器在地址栏显示被访问的URL,而移动应用程序却通常不显示它们检索信息的服务器,这样受害者就没有线索知道他们是否正在观看合法内容。尽管用户可以卸载一个应用程序,不过Amid说攻击者可以通过这个简单的漏洞无限期地控制一个应用程序。
至于攻击者为什么会选择这种攻击途径,Amit举出了叙利亚电子军队黑客攻击美联社的Twitter账号并发出Twitter,导致美国股市暂时暴跌的例子。当攻击被发现的时候,市场显然就开始纠正过来。但是发现很快的原因之一是因为这个特殊攻击的账号是美联社的账号,该公司几乎是马上意识到这个问题。Amit指出,新发现的漏洞可以针对华尔街特定的交易商,例如,由于贸易商的应用程序一被攻击就可能会看到虚假的内容,很难被发现。
Amit认为,“我们非常依赖我们的iPhone,我们依赖手机里的应用程序并且认为它们是可靠的。这篇文章使我们想到:早上读新闻时,你是阅读到了真正的新闻还是只是攻击者发给你的虚假信息呢?”
虽然以色列的研究人员证实这个问题只是出现在iOS平台上的应用程序中,但是Amit指出在某些特定的Android应用程序中同样存在相似的问题。Amit说,无论如何,还是人们对于移动应用程序太有信心。苹果和谷歌已经部署了各自的应用程序商店,Amit认为从安全角度来说这个方法是有效的,只是许多用户不重视会发生在任意应用程序中的编码问题。
Amit说:“十年前,大家都认为Web应用程序漏洞并不紧要,但是今天,我们都知道保护Web应用程序非常重要,利用Web应用程序的漏洞又很简单。我预见移动设备的应用程序代码会发生问题,而且趋势已经越来越明显。我认为苹果和谷歌已经做得很棒,但是同样这也是必然的。编码问题总是在发生,而且他们都有安全隐患。”