保护您的 Android 应用免受模拟位置的影响

Posted

技术标签:

【中文标题】保护您的 Android 应用免受模拟位置的影响【英文标题】:Protecting your Android app against mock locations 【发布时间】:2011-07-09 09:41:21 【问题描述】:

我正在设计一种基于位置的服务,其中可靠性起着重要作用。 我希望我的用户知道所提供的其他用户的位置是真实的。

我研究了一些模拟位置,并在这个thread 应用程序LocationSpoofer 中注意到。我目前没有 root 手机,但它指出即使没有设置,它也可以在 root 时模拟位置。

有什么已知的方法可以防止这种情况发生吗?我可以使用一些简单的启发式方法来验证用户没有在 30 分钟内从法国旅行到夏威夷,但我宁愿获得完整的保护。

先谢谢了!

【问题讨论】:

【参考方案1】:

而不是长评论:

“可靠性很重要”

只要您为“可靠”输入提供可靠输出,我认为您无需处理“欺骗”或虚假输入就可以了。如果您将数据存储在持久存储中,您可以处理“可疑”数据的情况。

即定义并应用您的数据场景,以识别“用户在 30 分钟内从法国旅行到夏威夷”等案例,并以适当的方式处理此类案例。或者您甚至可以拒绝不现实的数据。

【讨论】:

是的,已经考虑过了...问题更多的是关于如何从技术意义上完全保护您的位置可靠性 - 例如免受 LocationSpoofer 的影响。【参考方案2】:

从安全的角度来看,您应该假设来自客户端验证过程的任何数据都不可信。数据可能会被有意或无意地修改,而这超出了您的直接控制范围。

如果您想防止位置欺骗,那么我建议您进行服务器端检查。

【讨论】:

以上是关于保护您的 Android 应用免受模拟位置的影响的主要内容,如果未能解决你的问题,请参考以下文章

保护我的应用程序安全免受反汇编程序的影响

如何保护应用程序免受第 3 方 js 库中存在的 XSS 向量的影响?

如何保护 ASP.NET Core Web API 免受被盗 JWT 令牌以进行模拟

保护 Android 应用免受逆向工程

如何保护mysql数据库免受任何人的侵害

保护 Firebase 可调用函数免受中间人的影响