iOS 的封闭式架构不大容易中毒,相信这是大家普遍的认知,即使 iPhone 有相较之下少很多的漏洞,但一不小心,还是会被骇客精心设计的圈套给骗了。今天要跟大家介绍的这个安全漏洞就是如此,原理很简单,但又难以辨别,如果真碰上了相信 90% 以上的用户都会被盗走帐号密码,不得不谨慎提防。
一位资深开发者 Felix Krause 前些日子公布了一个 iOS 漏洞,当你在使用某个 App 的时候,会突然跳出一个视窗,要你输入密码登入 iTunes。但这个视窗是个「钓鱼」讯息,一但输入密码后,就会被骇客撷取。
什么是「钓鱼」?
「钓鱼」与「入侵系统」本质上不大相同,所谓「钓鱼」是透过假造的网页(Facebook、Google登入页面等等),让使用者误以为是官方的网站而输入帐号密码,类似的做法也常见于伪造的钓鱼信件等等。一些比较粗製滥造的钓鱼网页从外观上就看得出来,更谨慎的使用者只要仔细检查网址,也可以发现并非原本的官方网站。
但,这次 Felix Krause 公布的漏洞真实性更大,更容易诱人上当,而且几乎分辨不出差别。
出现了更加逼真的钓鱼讯息
这个漏洞的方式非常简单,只要是 App 开发者,都可以在原始码中使用「UIAlertController」框架并跳出一个视窗,这是苹果给开发者使用的正当工具。然而,只要骇客们在视窗上写上跟 iOS 系统讯息一模一样的文字,使用者根本分不出差别:
▲ 上方左图是正常的系统讯息,右图是开发者伪造的视窗,根本分不出差别。
由于苹果给开发者自订视窗内讯息的权限,而外观又跟系统讯息毫无区别,因此只要骇客一字一句地模仿系统讯息,一般使用者就分辨不出差异。一但输入密码,讯息就可以立刻被骇客得知。
幸好,这个手段目前还没有发现被骇客使用的案例。Felix Krause 即时发现并公布了这个钓鱼方式,期望人们和苹果能正视这个问题并尽快作出改善。
如何防範这类钓鱼讯息?
要如何分辨这个讯息是真的系统通知,还是骇客仿造的呢?其实有个简单的方法。
由于 iOS 系统限制的关係,由开发者製作的弹跳通知只能出现在 App 里。因此当你看到这类讯息,又无法确定是否是伪造的,只要按下 HOME 键,看看这个讯息视窗会不会跟着消失就好。若视窗跟着 App 一起消失,那就是假的;若按下 HOME 键后视窗还在,就是真的系统通知。
当然,更安全的做法是「只下载可靠的 App」,不要去 App Store 下载来路不明的第三方工具,要用 Gmail 就用 Google 自己推出的 App,要用 Facebook 就用官方的产品。在下载小工具、游戏等等软体也尽量选择可靠的大厂发行的作品。
苹果也有义务改善
当然,「弹跳视窗」是苹果给开发者的工具,可以用于显示重要的讯息,这点是没有问题的。但苹果应该要在之后的更新中修复这次漏洞,至少让视窗的外观与系统通知不同,好让使用者作出区别。
虽然苹果在 App 上架的审核工作上做得还算严谨,但毕竟是人工审核,难免会有漏网之鱼。因此呼吁苹果要在界面上作出调整,或是限制开发者在调跳视窗上输入讯息的权限。
在那之前,大家还是养成良好的使用习惯,就不用担心骇客的钓鱼讯息了。