Har*_*tya 6 android ios firebase firebase-security
现在,我发布的问题听起来相当模糊,因为任何开发团队都不应该在没有 Firebase 安全规则的情况下将应用程序发布到生产环境中,但我真正想知道的是,如果 AppCheck 是恶意用户如何可能访问Firebase 项目上的数据到位。假设我有一个简单的应用程序,可让用户记下快速笔记(保存到 Firebase Firestore)。现在,每个用户都必须经过身份验证,并且该用户创建的所有注释都位于包含其电子邮件或 uid 的集合下。
如果我仅在 Android 和 iOS 平台上发布此应用程序,并且 AppCheck 已安全到位,则在 Firestore 上读取/写入或修改数据的唯一方法将是通过 AppStore 或 PlayStore 上发布的正版应用程序,这意味着未经授权的应用程序用户/黑客无法读取或修改任何数据(他们不应该有权访问),除非他们对 Android 或 iOS 应用程序进行逆向工程或注入允许他们这样做的恶意代码。我无法想象这将是一项容易完成的任务。现在,虽然我将在发布应用程序之前实施 AppCheck 和 Firebase 安全规则,但我如何解释这种可能性,即应用程序被逆向工程或黑客攻击?可能性有多大?因为 AppCheck 还规定,只允许“来自真实应用程序的请求”,我认为这意味着应用程序未被篡改。
虽然 App Check 为您的应用程序添加了一层重要的防止滥用的保护层,但它并不能取代 Firebase 的服务器端安全规则。
使用 App Check 可以大大减少未经授权代码的滥用变化,但与运行客户端检查的任何安全机制一样,恶意用户总是有可能绕过它。从文档中App Check 提供的安全性有多强?:
App Check 依靠其证明提供商的实力来确定应用程序或设备的真实性。它可以防止一些(但不是全部)针对您后端的滥用向量。使用 App Check 并不能保证消除所有滥用,但通过与 App Check 集成,您正在向后端资源滥用保护迈出重要一步。
另一方面,安全规则仅在服务器上评估,任何人都无法绕过。您可以严格控制任何特定用户可以访问的数据。
通过结合应用程序检查和安全规则,您可以快速减少广泛的滥用,同时还保留对谁可以访问哪些数据的细粒度控制。
我们在这里也对这个主题进行了很好的讨论:Firebase AppCheck 的目的是什么?
归档时间: |
|
查看次数: |
1367 次 |
最近记录: |