Firebase:反编译 apk 可以访问我的数据和文件吗?

dat*_*ata 5 android firebase

如果有人想通过获取 apk 文件然后自定义它来执行它不应该做的其他事情来对我的 android 应用程序进行逆向工程。请记住,google-services.json当我们创建 firebase 项目以链接 android 应用程序时,apk 文件将包含我们从 firebase 下载的文件。

问题是:

即使实时数据库或 Firebase 存储上的安全规则只允许经过身份验证的用户。然后黑客可以对应用程序进行逆向工程并制作自己的具有相同google-services.json文件的应用程序,然后在编译时黑客可以创建一个帐户并登录应用程序(这使他通过身份验证),然后他可以删除和写入数据到实时数据库。

有人可以解释一下安全性如何吗?

Dou*_*son 2

一般来说,您应该假设您发送给客户的任何代码都可能受到损害。您应该假设他们运行它的设备处于他们的完全控制之下,并且他们可以更改您的代码在该设备上执行的方式。问题不在于您的应用程序被反编译,而在于您根本无法以任何方式控制执行环境(当然,除非您制造设备并内置了自己的硬件安全性)。

google-services.json 中的数据不是私有数据。您应该假设在发布应用程序时,每个人都会知道该文件中的所有信息。将该数据视为唯一标识符,告诉您的应用程序从哪里获取数据。该文件中没有任何密码或凭据允许攻击者执行您未授权他们执行的任何操作。

您可以将安全规则与 Firebase 身份验证结合使用,以控制谁可以对 Firebase 中托管的数据执行哪些操作。不可能阻止人们在您的应用程序中创建随机帐户,但可以限制他们可以执行的操作。

如果您发现您的应用受到某种形式的滥用,您可以关闭滥用者的帐户,还可以联系 Firebase 支持来报告滥用行为。