近日苹果向印度漏洞安全研究专家Bhavuk Jain支付了高达10万美元的巨额赏金,原因就是他报告了存在于Sign in with Apple中的严重高危漏洞。Sign in with Apple(通过Apple登录),能让你利用现有的Apple ID快速、轻松地登录 App 和网站,目前按该漏洞已经修复。
该漏洞允许远程攻击者绕过身份验证,接管目标用户在第三方服务和应用中使用Sign in with Apple创建的帐号。在接受外媒The Hacker News采访的时候,Bhavuk Jain表示在向苹果的身份验证服务器发出请求之前,苹果客户端验证用户方式上存在漏洞。
通过“Sign in with Apple”验证用户的时候,服务器会包含秘密信息的JSON Web Token(JWT),第三方应用会使用JWT来确认登录用户的身份。Bhavuk发现,虽然苹果公司在发起请求之前要求用户先登录到自己的苹果账户,但在下一步的验证服务器上,它并没有验证是否是同一个人在请求JSON Web Token(JWT)。
因此,该部分机制中缺失的验证可能允许攻击者提供一个属于受害者的单独的苹果ID,欺骗苹果服务器生成JWT有效的有效载荷,以受害者的身份登录到第三方服务中。Bhavuk表示:“我发现我可以向苹果公司的任何Email ID请求JWT,当这些令牌的签名用苹果公司的公钥进行验证时,显示为有效。这意味着,攻击者可以通过链接任何Email ID来伪造JWT,并获得对受害者账户的访问权限。”
Bhavuk表示即使你选择隐藏你的电子邮件ID,这个漏洞同样能够生效。即使你选择向第三方服务隐藏你的电子邮件ID,也可以利用该漏洞用受害者的Apple ID注册一个新账户国外的苹果id帐号。
Bhavuk补充道:“这个漏洞的影响是相当关键的,因为它可以让人完全接管账户。许多开发者已经将Sign in with Apple整合到应用程序中,目前Dropbox、Spotify、Airbnb国外苹果手机如何申请国内帐号注册、Giphy(现在被Facebook收购)都支持这种登录方式。”
Bhavuk在上个月负责任地向苹果安全团队报告了这个问题,目前该公司已经对该漏洞进行了补丁。除了向研究人员支付了bug赏金外,该公司在回应中还确认,它对他们的服务器日志进行了调查,发现该漏洞没有被利用来危害任何账户。