写点什么

Sign in with Apple 被曝零日漏洞,可远程劫持任意用户帐号

  • 2020-06-01
  • 本文字数:1249 字

    阅读完需:约 4 分钟

Sign in with Apple被曝零日漏洞,可远程劫持任意用户帐号


5 月 30 日,印度漏洞安全研究专家 Bhavuk Jain 在官方博客中披露:Sign in with Apple(通过 Apple 登录)中存在一个零日漏洞,影响非常严重,因为它允许攻击者远程劫持任意用户账户。


Bhavuk Jain 在博客中写道,“今年 4 月,我在 Sign in with Apple 中发现一个零日漏洞(zero-day)。如果第三方应用使用了 Sign in with Apple(通过 Apple 登录),并且未部署额外的安全措施,那么它们均会受到该零日漏洞的影响。“


最关键的是,该漏洞允许远程攻击者绕过身份验证,接管目标用户在第三方服务和应用中使用 Sign in with Apple 创建的账号。



据了解,在去年的 WWDC 上,苹果正式推出属于自己的第三方登录服务——Sign in with Apple(通过 Apple 登录)。


说起第三方登录,就不得不提 OAuth。简单说,OAuth 是一种授权机制。数据的所有者告诉系统,同意授权第三方应用进入系统,获取这些数据。系统从而产生一个短期的进入令牌(token),用来代替密码,供第三方应用使用。

现在,大多数第三方登录都是基于 OIDC 或者利用 OAuth 2.0 修改实现的。


根据苹果官方解释:


"Sign in with Apple(通过 Apple 登录)"让用户能用自己的 Apple ID 轻松登录您的 app 和网站。用户不必填写表单、验证电子邮件地址和选择新密码,就可以使用“通过 Apple 登录”设置账户并立即开始使用您的 app。所有账户都通过双重认证受到保护,具有极高的安全性,Apple 亦不会跟踪用户在您的 app 或网站中的活动。


截至目前,有许多开发者已经将 Sign in with Apple 整合到应用程序中,比如国外的 Dropbox、Spotify、Airbnb、Giphy ,国内的喜马拉雅、懒饭、厨房故事等。这些应用程序未经测试,如果在验证用户时未采取其他任何安全措施,则可能被攻击者利用漏洞实现完全的账户接管。


据 Bhavuk Jain 的博客文章介绍,Sign in with Apple 的工作原理与 OAuth 2.0 类似,对用户身份的认证有两种办法:一种是利用 JWT(JSON Web Token),另一种是利用由 Apple 服务器生成的 code。


下面的示意图表示 JWT 创建和验证的工作方式。



通过“Sign in with Apple”验证用户时,服务器会包含秘密信息的 JWT,第三方应用会使用 JWT 来确认登录用户的身份。


Bhavuk Jain 发现,虽然苹果公司在发起请求前要求用户先登录到自己的苹果账户,但在下一步的验证服务器上,它并没有验证是否是同一个人在请求 JWT。


因此,该部分机制中缺失的验证可能允许攻击者提供一个属于受害者的单独的苹果 ID,欺骗苹果服务器生成 JWT 有效的有效载荷,以受害者的身份登录到第三方服务中。


Bhavuk Jain 说:“我发现我可以向苹果公司的任何 Email ID 请求 JWT,当这些令牌的签名用苹果公司的公钥进行验证时,显示为有效。这意味着,攻击者可以通过链接任何 Email ID 来伪造 JWT,并获得对受害者账户的访问权限。”


据悉,一个月前,他向苹果安全团队报告了这个问题,为此苹果向其支付了 10 万美元的巨额赏金。目前,苹果已经对该漏洞进行了修复,并且还对服务器日志进行了调查,发现该漏洞没有被用来危害任何用户账户。


参考资料:


Zero-day in Sign in with Apple


2020-06-01 15:095549
用户头像
万佳 前InfoQ编辑

发布了 677 篇内容, 共 368.9 次阅读, 收获喜欢 1803 次。

关注

评论

发布
暂无评论
发现更多内容

一种全新的日志异常检测评估框架:LightAD

华为云开发者联盟

人工智能 机器学习 深度学习 华为云 华为云开发者联盟

选择Amazon EC2,走进云端新时代

YoLo

服务器

怎么理解 React Server Component 和 Next.js 的关系

伤感汤姆布利柏

KeyShot 2023 Pro 动画渲染制作工具 附 安装教程 支持M1

加油,小妞!

3D动画渲染软件 KeyShot Pro 2023下载

全国见!飞桨星河社区五周年,邀你共赴大模型盛宴!

飞桨PaddlePaddle

人工智能 开发者 大模型 星河社区

FoneLab Location Changer for mac虚拟定位软件

展初云

Mac 虚拟定位软件

8个比较流行的无/低代码后端数据平台

小狗围观科幻

从互联网到云计算再到 AI 原生,百度智能云数据库的演进

Baidu AICLOUD

redis 分布式数据库 云原生数据库

软件测试/人工智能丨​Python运算符解析,小白也能轻松get

测试人

人工智能 软件测试

OpenHarmony知识共享与论坛共建:更深层次的社区共建与繁荣

新消费日报

众包平台,解锁自由职业者的灵活空间

知者如C

MySQL索引结构演变历史

javaNice

MySQL

Permute 3 for mac(媒体文件格式转换器) 3.11.2中文版

展初云

Mac 格式转换 视频转换

制造业工厂万界星空科技云MES系统中的设备管理模块

万界星空科技

生产管理系统 mes 设备资产管理系统 制造业数字化

DAPP开发:探索NFT DAPP的世界创建和启动指南

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

Atlassian午餐会直播回顾:如何拓展Jira工作流,加强团队协作?

龙智—DevSecOps解决方案

Jira

Atlassian发布最新补贴政策,Jira/Confluence迁移上云最低可至零成本

龙智—DevSecOps解决方案

Jira Confluence Jira Service Management

Linux 安装jdk

javaNice

Linux jdk

Downie 4 for Mac(好用的视频下载软件) 4.6.34直装版

展初云

Mac 视频下载 Downie

数仓实时算子难以观测,快来试试算子级监控吧

华为云开发者联盟

数据库 后端 华为云 华为云GaussDB 华为云开发者联盟

为什么云游戏被认为是行业的未来趋势?

Finovy Cloud

5G 游戏 vr 云计算, 云游戏

用二维码进行人员管理,人员信息一目了然

草料二维码

二维码 草料二维码

人工智能 |企业私有版大语言模型引领人工智能创新

测吧(北京)科技有限公司

测试

LangChain:引领人工智能应用系统的语言模型革新

测吧(北京)科技有限公司

测试

阿里云 E-MapReduce 全面开启 Serverless 时代

阿里云大数据AI技术

这么有趣的ts类型,不看真的会后悔!

秃头小帅oi

DAPP代币燃烧质押挖矿系统开发

l8l259l3365

InnoDB和MyISAM存储引擎对比

javaNice

MySQL

Sign in with Apple被曝零日漏洞,可远程劫持任意用户帐号_安全_万佳_InfoQ精选文章