0

我最近为我正在工作的应用程序遇到了一个安全问题:在有根设备上运行的可能性。我发现这种情况很难预防。我的第一次尝试是实现RootBeer。可悲的是,有像Magisk Manager这样的工具可以欺骗您的应用程序,使其无法将设备识别为 root。

经过一番研究,我发现SafetyNet终于被“修复”了,所以该应用程序不能再通过 Magisk 使用了。为此,我需要向我的服务器发送一个使用随机数生成的 JWS 令牌(从服务器接收,如 Google 建议的那样)。

现在一切都很好 - 我的主要问题是我的应用程序可以离线使用。一个解决方案是在本地验证 JWS 令牌,但这会打开漏洞。

我需要您的帮助来了解我应该怎么做才能防止应用程序在有根设备上使用 SafetyNet(或其他方式)在在线和离线模式下打开。

谢谢!

4

1 回答 1

2

我会建议一些更混合的东西。您可以将 RootBeer 用于离线使用,将 SafetyNet 用于在线。我最近开始开发一个检测设备安全性的 Android SDK。它有一些检查,例如根检测、模拟位置、VPN 网络、应用程序在沙箱中运行等等),这可能对欺诈用例至关重要。

因此,如果您在检测中需要更详细的信息,以便根据用例确定它是否可疑,您可以尝试一下。

当然,欢迎任何改进的反馈。

https://github.com/AppSafetyTech/safesdk-android

于 2020-12-07T11:11:14.840 回答