【问题标题】:What is preventing fake apps from hijacking a legitimate apps OAuth2 clientId?什么是防止虚假应用劫持合法应用 OAuth2 clientId?
【发布时间】:2016-06-20 20:28:09
【问题描述】:

是什么阻止了以下情况:

  • 攻击者下载合法的应用程序,该应用程序向所需资源授予合法的 OAuth 2.0 授权
  • 攻击者记录client_id和redirect_uri
  • 攻击者在真实事物的图像中创建虚假应用程序
  • 受害者下载虚假应用并开始 OAuth 2 流程以获取所需资源
  • 虚假应用提供与合法应用相同的 client_id 和 redirect_uri
  • 受害者验证并授权使用所需资源
  • Phony 应用程序无需点击 URL(我知道 iOS 可以做到这一点)并保护其包含的授权代码即可捕获重定向。
  • 虚假应用现在可以“以合法应用的名义”访问所需资源

在使用公共客户端(无 client_secret)时,是否有任何方法可以实际验证发出授权请求的应用的身份?

【问题讨论】:

  • Phony app catches the redirect without ever hitting URL 怎么样?如果这是在应用程序本身内,则应用程序可以在流程被重定向到 idP 时简单地获取凭据。

标签: security oauth oauth-2.0


【解决方案1】:

正如 OAuth 2.0 安全注意事项规范所承认的那样,没有针对该威胁的包容性保护:https://www.rfc-editor.org/rfc/rfc6819#section-5.5。它承认用户在这里扮演着重要的角色。不过有一些评论:

通过移动设备管理进行的应用安装控制可能适用于某些(企业)用例以缓解这种情况。

动态客户端注册 (http://openid.net/specs/openid-connect-registration-1_0.html) 可用于生成每个实例的客户端机密,以便在注册后客户端是机密客户端。然而,应用程序完整性问题仍然存在(仅)在初始引导/注册阶段。

【讨论】:

    猜你喜欢
    • 2020-09-13
    • 2012-09-11
    • 1970-01-01
    • 1970-01-01
    • 2019-05-08
    • 2012-08-27
    • 2021-09-15
    • 2012-05-19
    相关资源
    最近更新 更多