【问题标题】:Security flaws of FirebaseFirebase 的安全漏洞
【发布时间】:2018-07-23 12:37:22
【问题描述】:

请耐心等待,我可能错了:我不是安全专家。

我相信我一直在阅读有关 OAuth 2 如何不阻止 replay-attacks 的信息。防止此类事件的建议方法是什么?

我还认为,将用于向 Google 验证 Admin SDK 凭据的 google-account-services.json 的 JSON 留在我们的服务器端项目中可能存在安全漏洞 (reverse engineering)。

这些系统还有哪些其他已知缺陷,我如何使用它们来提高系统的安全性?

(我使用 Firebase 身份验证来识别我的服务器的用户,它使用 Admin SDK。)

【问题讨论】:

    标签: java security google-api spring-security-oauth2


    【解决方案1】:

    Firebase Admin SDK 对您的 Firebase 项目具有完全的管理权限,因此只能在您控制的受信任服务器上使用。它使用来自 google-account-services.json 的凭据向 Google 服务器进行身份验证。

    Admin SDK 和 Google 服务器之间的所有通信都通过加密连接进行,因此除非您自己设置解密代理或分发 SSL 证书,否则不会被拦截。

    【讨论】:

    • 有没有办法不情愿地泄露 JSON 文件的一部分?我想我记得读过它(在阅读时,它被放在/res/values/string 中,可以通过反编译访问,我不确定它是否是从服务器外部工作的人的选项)。 SSL 不是我认为的弱点。
    • 具有允许您铸造和验证令牌的凭据的 JSON 文件与 Android 应用使用的 google-services.json 不同。前者提供对您项目的完全管理访问权限,而后者仅包含您的应用在服务器上查找其 Firebase 项目所需的项目标识符。
    • 啊,我将 android 进程与我的 JAVA 服务器上发生的事情混合在一起。那么有没有办法泄露任何关于 JSON 的信息呢? (假设我们将服务器托管在 herokuapp。)
    • 这很难说:如果有人可以访问您的服务器,他们将可以访问凭据,从而访问您的项目。但无论您将其托管在何处,情况都是如此:只有在您能够正确控制访问权限的情况下,您才应该将其用作受信任的环境。
    • this post 怎么样?如果不是威胁,人们为什么要避免暴露他们的凭据?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-24
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    • 2021-08-19
    • 2017-02-28
    • 2013-04-15
    相关资源
    最近更新 更多