近日安全研究人员发布了一份漏洞利用代码。这份代码表明,攻击者可以通过足以以假乱真的钓鱼,轻易窃取使用最新iOS版本的iCloud密码。
漏洞原理
这个概念验证性攻击利用了iOS系统中默认的电子邮件程序Mail.app的一个漏洞。自从4月初iOS8.3版本发布以来,该应用就未能从接收邮件消息中适当剔除含有潜在危险的HTML代码。这个POC正是利用了这一漏洞,它从远程服务器下载一个表单,该表单看起来与合法的iCloud登录提示窗口完全相同。每当用户查看包含“陷阱”的消息时,这个伪造的登录提示窗都可以自动显示。
GitHub上一个用户名为jansoucek的人在readme文件中写入了如下说明:
“这个漏洞允许远程加载HTML内容,并可以替换原始电子邮件消息的内容。虽然这个UIWebView 中禁用了JavaScript,但仍有可能通过简单的HTML和CSS创建一个功能密码收集器。”
为了降低它的可疑性,攻击者可以编程实现仅仅弹出一次的密码窗口。为了使其看起来更加真实,攻击代码使用了一个自动对焦特性,以确保一旦用户点击了“OK”按钮,那么该对话框域将自动隐藏。然而,为了触发该漏洞,所需要做的仅仅是使发送给用户的邮件中包含HTML标签。
该漏洞除了可以用来钓鱼苹果用户的密码,还可以用来发送“提示信息”,以此使得邮件发送者知道谁查看了该邮件、何时以什么IP地址查看了该邮件。
视频演示
演示视频点击这里观看。
安全建议
作为一个iPhone的长期用户,这可能是一个严重的漏洞:因为iOS系统在意想不到的时候显示登录提示并不少见。
安全研究人员曾在周三收到过这样一个“钓鱼提示”,而该攻击发生的时间仅仅是了解到该漏洞之前的几个小时。
安全研究人员建议用户遇到这样的密码提示时,用户最好不要输入任何帐号密码,而是直接按下取消按钮。通过这样做,大多数情况下用户将不会面临什么不良后果,最糟糕的情况也仅仅是再次弹出提示而已。值得一提的是,当用户向密码提示框中输入密码前,首先应该确保此时没有查看电子邮件。
此外,更有经验的用户能够通过按下home键来检测这个假提示。合法的提示是“模态对话框”,这意味着在按下OK或取消按钮之前,它不允许用户进行任何其他操作。相比之下,伪造的密码提示并不是模态的,所以如果在显示密码提示框时按下home键设备回到了主屏幕,那么这就表明这个密码提示是不可信的。
苹果官方目前无回应
根据该研究人员的消息,他在1月份向苹果公司报告了该漏洞,但迄今为止苹果拒绝提供漏洞修复,并且苹果尚未针对该漏洞给予任何评论,但在iOS8.4中将有望看到对该漏洞的修复。