这次传出的漏洞可说非常严重啊!真的要注意。曾任职于 Twiiter、现任 Google 的 iOS 国外资深开发工程师 Felix Krause,最近发现到 iOS 有一个很严重隐私漏洞,就是 App 开发商可以轻易模拟出系统要求输入密码的讯息画面,借此窃取到使用者的 Apple ID 密码,而且光从肉眼完全分辨不出来。
iOS 有很多情况,都会要求用户输入 Apple ID 密码,最常见的几种不外乎是购买付费 App、刚更改密码,或是在其他装置登入错误次数过多等等,因此对于 iOS 长期使用者来说,只要一看到这画面,就会很直觉想说应该是哪里出错,习惯性动作直接输入正确密码来解决,而且我相信不少人即便在第三方 App 看到也是一样,毕竟我们很相信 iOS 的安全性,但事实上,这正好就是严重漏洞。
Felix Krause 发现到,iOS 开发商可以透过使用 UIAlertController 弹出框的方式,制作出跟苹果官方要求输入密码一模一样的画面,左是 iOS 系统官方要求输入 iTunes 的画面、右则是假的:
所以说如果 App 开发商有益想要窃取用户的 Apple ID 密码,是非常容易的一件事,而使用者看到这讯息,为了赶紧回到 App 画面,绝大多数都是不疑有他先输入密码再说(毕竟很熟悉了,况且画面又一模一样),这时你的密码也就外泄了。
你可能会问说,那对方怎么知道 Apple ID 账号?Apple ID 账号取得更加容易,其中一个最常见的方法,就是使用前须注册,而有大的概率正是 Apple ID 账号。
仅跳出要求输入 Apple ID 密码的讯息更要注意,这更容易做假:
此外,虽然一直以来苹果在保护用户隐私,避免被第三方 Apps 窃取的安全性部分做得很好,但网络上有几种方式,可以等到苹果同意后,再偷偷加入程式码至目前 App 版本,所以这真的很难防,想了解的可以参考 Q&A 第二个问题解答。
最简单的方式,就是当在第三方 App 看到这讯息时,立即按 Home 键跳回桌面,看这讯息还在不在,iOS 系统发出的会保留,如果是钓鱼就会立刻消失。
再来是不管是不是系统发出,都不要输入任何密码在弹出框里,而是进到设定中找到需要输入 Apple ID 密码的该应用,来解决弹出框的问题。另外也要记得按取消之前,密码字段也要保持空白,因为搞不好两个都是送出,而不是真的取消。双重认证功能最好也开启,这样别人就无法直接使用你的 Apple ID 来登入新装置,还需要输入一组从已信任装置中取得的随机密码才行。
目前还不确定苹果知不知道这个隐私漏洞,以及未来会不会加入更多开发限制,来避免这状况发生,总之大家使用时多注意一点。