去年Apple在苹果全球开发者大会上发布了"Sign in with Apple"这个可以保护隐私的登录机制,这个机制允许用户使用第三方应用程序注册帐号,且无需透露他们的真实电邮地址。
不过这个机制之前是有漏洞的,因为Apple最近向印度的漏洞研究员Bhavuk Jain支持了一笔10万美元的奖金,作为他找到Sign in with Apple一个高危漏洞的奖励。
这个现在已经被修复的漏洞可以允许黑客绕过身份验证,并接管使用Sign in with Apple选项注册的第三方服务,以及应用程序上目标用户的账号。
Bhavuk Jain在接受The Hacker News采访时透露,他发现的这个漏洞是利用Apple在启动认证服务器请求之前的验证用户方式。当服务器在透过Sign in with Apple来验证用户的时候,会生成一个JSON Web Token(JWT),这当中包含第三方应用程序用来认证用户身份的机密讯息。
图片来源:The Hacker News
尽管Apple在发起请求之前会需要用户登入他们的Apple账号,但是这不能够验证在下一阶段发起请求的人与之前的用户是否为同一人。因此,缺少这个环节的验证使得攻击者可以提供另一个Apple ID来骗过Apple服务器,从而获得JSON Web Token来登入第三方的应用和服务。
Bhavuk Jain表示:
“我发现可以用任何一个Apple的电邮地址来请求JWT,而当使用Apple的公钥来验证过这些JWT的签名后,它们就是有效的。这意味着攻击者可以用任何电邮地址来请求JWT并且登入受害者的账号。”
不过Apple的用户也不必担心,因为Bhavuk Jain早在上个月已经向Apple报告了这个漏洞,而Apple也是已经完成了修复。另外Apple也进行过一次调查,并没有发现有任何账号因为这个漏洞而被入侵。在这之前,一些使用Sign in with Apple的应用以及服务或者已经启用了双重认证来确保两个阶段操作的是同一个人,从而预防这个漏洞。