此漏洞的影响非常严重,因为它可能会导致整个帐户被接管。
据外媒报道,苹果最近向印度漏洞研究人员Bhavuk Jain支付了10万美元的巨额赏金,以奖励其发现的iOS系统中“使用Apple登录”( Sign in with Apple)的严重漏洞。
苹果方面现在已修补漏洞,该漏洞可使远程攻击者绕过身份验证,并接管使用“使用Apple登录”选项注册的第三方服务和应用程序上目标用户的帐户。
去年在苹果公司的WWDC会议上启动的“使用Apple登录”功能,作为保护隐私登录机制被引入iOS系统,该机制允许用户使用第三方应用程序注册帐户,而无需透露其实际电子邮件地址(也用作苹果ID)。
Bhavuk Jain 在接受采访时透露,他发现的漏洞存在于Apple启动来自苹果认证服务器的请求之前,在客户端上验证用户的过程中。
对于那些不知道的用户,服务器在通过“使用Apple登录”对用户进行身份验证时,会生成JSON Web令牌(JWT),其中包含第三方应用程序用来确认登录用户身份的机密信息。
Bhavuk发现,尽管Apple要求用户在发起请求之前先登录其Apple帐户,但并未验证是否是同一个人,在下一步从身份验证服务器请求JSON Web令牌(JWT)。
图片来源:thehackernews.com
因此,该机制缺少的验证可能允许攻击者提供属于受害者单独的Apple ID,从而诱骗Apple服务器生成有效的JWT有效负载,该有效负载可以使用受害者的身份登录到第三方服务。
“我发现我可以向JWT请求来自Apple的任何电子邮件ID,当使用Apple的公钥验证了这些令牌的签名后,它们就显示为有效。这意味着攻击者可以通过链接任何Email ID并获得访问权限来伪造JWT,从而获得受害者的帐户。”
研究人员证实,即使用户选择从第三方服务中隐藏电子邮件ID,该漏洞仍然有效,并且该漏洞还可以利用受害者的Apple ID来注册新帐户。
“此漏洞的影响非常严重,因为它可能会导致整个帐户被接管。许多开发人员已将“使用Apple登录”集成在一起,因为对于支持其他社交登录的应用程序来说,它是强制性的。举几个使用“使用Apple登录”的用户为例- Dropbox,Spotify,Airbnb,Giphy(现已被Facebook收购)。” Bhavuk补充说。
尽管该漏洞存在于Apple端代码,但研究人员表示,某些向其用户提供“使用Apple登录”的服务和应用程序可能已经在使用二次身份验证功能,从而可以缓解用户登录中的漏洞问题。
Bhavuk上个月向苹果安全团队报告了此问题,该公司现在已修复此漏洞。作为回应,除了向研究人员支付赏金之外,苹果公司还确认已对他们的服务器日志进行了调查,发现该漏洞并未被利用来破坏任何帐户。