保护您的 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 向量的影响?