聚焦源代码安全,网罗国内外最新资讯!
编译:代码卫士
受微软安全响应中心支持的一项新研究工作发现,恶意人员可越权获得在线账户的所有权限,甚至在受害者注册服务之前即可获得。这种攻击被称为“账户预劫持”攻击。
在这种攻击中,攻击者在受害者登记在线服务之前就将账户接管 exploit 设置为运行状态。受害者注册后,攻击者利用该服务认证机制中的安全漏洞,访问或接管新建账户的所有权限。
研究发现,数十个大流量服务易受至少一种预劫持攻击的影响。这项研究揭示了和账户创建有关的安全问题,而这个问题是少有人审计的问题。
预劫持账户的方式不止一种
这项研究获得了MSRC 在2020年早期支持的身份项目研究基金。MSRC的高级研究员 Andrew Paverd 以及独立研究员 Avinash Sudhodanan 表示,“在这个项目中,我们探索了多个主题,但不久注意到和‘预劫持’威胁模型有关的模式。”
账户预劫持假设受害者尚未在目标服务上拥有账户,而攻击者知道受害者的邮箱地址和其它基本详情。研究人员发现了五种预劫持攻击场景。一些场景利用的是很多在线服务支持的多账户创建模式。在很多网站,用户可直接提供一个邮箱地址和密码来创建账户,或者使用以客户为本的单点登录服务来使用联合认证,如Facebook、谷歌和微软使用的那样。
例如,在一种攻击类型中,攻击者以受害者的邮箱地址创建了一个账户。该受害者之后使用联合认证方式创建了一个账户。在某些服务中,它融合了攻击者和受害者的账户,使他们同时拥有对同一个账户的同步访问权限。
在另外一种攻击类型中,攻击者以受害者的邮件地址创建了一个账户并将自己的联合身份关联到同一个账户。当受害者尝试创建自己的账户时,会要求修改账户密码。虽然受害者能够获得该账户的访问权限,但攻击者将能够通过SSO身份来访问账户。
研究人员表示,“看到这么多在线服务开始使用单点登录令人鼓舞,但这意味着它们或不得不支持多登录机制。这本身并非问题,很多服务都在以安全的方式这样做。我们的研究只是提出了在支持多登录机制时应该注意的一些细节问题。”
左右开弓
Paverd 和 Sudhodanan 指出,他们发现的三种攻击类型无需服务支持多登录机制。例如,在一种攻击类型中,攻击者的会话甚至在受害者恢复账户且重置密码的情况下仍然可能是活跃的。在另外一个场景中,攻击者通过受害者的邮箱地址创建了账户,并向攻击者自身的邮箱地址初始化了邮件更改请求。攻击者随后等待受害者索要账户,之后才完成邮件更改请求并获得账户的所有权。
受影响的顶级服务
在研究中,研究人员检查了名列 Alexa 前150名大流量域名的75家服务。至少35家服务受一个或多个账户预劫持攻击的影响,包括 Dropbox、Instagram、LinkedIn、WordPress.com和Zoom。幸运的是,这些受影响服务均收到了漏洞通知并部署了必要的修复方案。
Paverd 和 Sudhodanan 表示,“我们认为缺少意识可能是这些潜在漏洞产生的主要原因。因此我们推出这项研究成果来提升意识并帮助组织机构缓解这些漏洞。”
研究人员认为,最重要的启示是“验证用户实际拥有任何由用户提供的标志符(如邮箱地址或电话号码),之后再去创建新账户或将其添加至现有账户”,这将缓解迄今为止识别出的所有预劫持攻击类型。
研究人员在论文中提到了多个其它可能的纵深防御战略。他们推荐用户尽可能启用多因素认证机制,以此阻止他们所发现的多数预劫持攻击。账户预劫持的另外一个迹象是收到并未自己创建的账户的邮件,用户通常会忽略这一点。但实际上,研究人员指出,用户“应当将此事报告给相关网站”。
代码卫士试用地址:https://codesafe.qianxin.com
开源卫士试用地址:https://oss.qianxin.com
推荐阅读
在微软 Team 中查看 GIF 文件就能触发账户劫持漏洞?
我找到一个价值5.5万美元的 Facebook OAuth账户劫持漏洞
利用 GitHub 被删账户和非官方 GitHub CDN 实施密币劫持
原文链接
https://portswigger.net/daily-swig/dozens-of-high-traffic-websites-vulnerable-to-account-pre-hijacking-study-finds
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
觉得不错,就点个 “在看” 或 "赞” 吧~