Oauth 2.0 不';OAuth 2.0 PKCE流是否为伪装/网络钓鱼攻击打开了大门?
对于已安装应用的OAuth 2.0 PKCE流(例如,桌面应用程序/cli/客户端库),似乎没有什么可以阻止攻击者:Oauth 2.0 不';OAuth 2.0 PKCE流是否为伪装/网络钓鱼攻击打开了大门?,oauth-2.0,gcloud,google-cloud-sdk,phishing,pkce,Oauth 2.0,Gcloud,Google Cloud Sdk,Phishing,Pkce,对于已安装应用的OAuth 2.0 PKCE流(例如,桌面应用程序/cli/客户端库),似乎没有什么可以阻止攻击者: 使用原始应用程序获取客户端id(客户端id是公共的,可以从浏览器栏/源代码轻松复制) 制作一个模拟原始应用程序的假应用程序 使用假应用引诱用户授予访问权限,从而获得刷新令牌,这实质上意味着在请求的范围内完全访问 如果没有PKCE,很难伪造应用程序并获取刷新令牌,因为这需要攻击者获取客户端\u secret。在我看来,虽然PKCE比隐式流提供了安全性改进,但它使伪装使用OAuth
客户端id
(客户端id是公共的,可以从浏览器栏/源代码轻松复制)客户端\u secret
。在我看来,虽然PKCE比隐式流提供了安全性改进,但它使伪装使用OAuth 2.0的真实应用变得更容易
我使用的是googlecloudsdk(gcloud),它似乎已经(甚至很多)硬编码到源代码中,并分发到客户端。我怀疑有什么方法可以阻止攻击者伪造gcloud,从而访问用户的GCP环境(为了证明,请运行
gcloud auth login
,它会在控制台中显示攻击者需要的url。)有人能澄清/帮助我了解发生了什么吗?私有URI方案可能是桌面上最好的方案,但并不像你说的那样完美。这正是我在工作中所用的,但理想情况下,我也想解决上述问题
对于移动设备,您可以使用声称的HTTPS方案来解决这个问题-请参阅我在发送后添加的答案
我知道-见第10节-但我认为你不能完全解决这个问题
预计最终用户在安装桌面应用程序时会非常小心,以降低这种情况下的风险。希望操作系统支持将来能够提供更好的加密选项。可能类似于感谢Sllopis,很高兴看到其他人也有同样的担忧