基于位置的应用程序如何避免被模拟 GPS 欺骗?

信息安全 移动的 安卓 IOS 欺诈罪 地理位置
2021-08-18 03:24:17

Foursquare 等一些应用程序要求用户在实体场所“签到”,以获得金钱收益。

鉴于模拟 GPS 可用于定制版本的 Android,因此欺骗此类应用程序听起来很容易。

考虑到金钱激励,我相信很多人都尝试过,那么应用程序如何防止 GPS 作弊呢?

4个回答

有很多方法可以在移动设备上跟踪用户的位置(稍后我将介绍它的工作原理)。

没有一种跟踪方法特别容易被欺骗。它可以完成,但它完全超出了普通用户的范围,因为它通常需要修改过的设备(物理或编程)或外部设备。

此外,对于开发人员来说,简单地将多种形式的跟踪与简单的逻辑联系起来(IE 你只能在时间范围 y 内“签入”x 次)要比黑客欺骗诸如foursquare 之类的应用程序并获得它要容易得多晚餐 5% 折扣。再一次,它可以做到,但[我的理论是]到目前为止,它对黑客来说并不经济。

正如所承诺的,以下是地理跟踪中利用的一些大型技术:

  • GPS 报告。这可能是你最熟悉的。这是最“昂贵”的报告,因为它需要相对较大的功率来读取几颗 GPS 卫星。当今的移动设备上很少使用纯 GPS 系统。GPS 设备可以通过编程方式进行欺骗(通过将软件的调用更改为 GPS 驱动程序的位置),即使根本不修改设备(如此处所示)。
  • GSM 报告这可能是您在一天中四处走动时跟踪您的位置的最常见方式。这个概念很简单。您的手机会向附近的手机信号塔发送正常信息,在给定时间对您的位置进行三角测量。如果没有外部硬件或严重改变手机的功能,这种方法非常难以欺骗(即,如果您欺骗手机信号塔,那么是的,您在地理上“没有被跟踪”,但您也无法拨打电话)。此外,小区流量是加密的。您可能会欺骗应用程序软件与手机的手机信号塔数据驱动程序对话的接入点,但这至少也很难说。
  • 局域网报告。这是一个非常酷的概念,因为它在室内提供了高水平的准确性(这在传统上一直是个问题)。这需要很多设置,但至少允许应用程序与注册的 wifi 热点对话,以根据您连接的 wifi 确认您的位置。这在理论上是可以进行欺骗的,但它在很大程度上取决于合法连接签名的加密级别。
  • 广域网报告。这只不过是简单的 IP 地址报告。这可能是最容易欺骗的,但为了完整起见,我把它放在这里,因为它在移动友好的网站中很常见。
  • 其他(蓝牙、RFID、惯性导航、实验等)还有很多其他方法。我的最爱之一是惯性导航,它没有外部传输(因此可能很难欺骗),因为它使用内部传感器和地图来确定您的位置。这在导弹制导系统以及一些应用程序中都可以看到。例如,Life360 使用了这种方法的一种变体,因为它使用的功率非常小(所有传感器都已经处于活动状态)。

其他要记住的事情:

  • 开发人员可以利用任意数量的这些技术,从而使应用程序更难被欺骗。
  • 大多数位置数据都存储在移动设备上(有时存储在许多地方),直到被明确删除。因此,开发人员可以(可能)访问以前的位置数据点。因此,如果您说您今天在 cafe mama 的 20 次并且该应用程序只是与 siri 对话以找出您的最后一个地理数据点在 100 英里之外,该应用程序会想知道...
  • 执法部门将有更大的能力来确定你的真实位置,所以仅仅因为你可能欺骗了一个应用程序并不意味着你应该赌上你的生命(其他地方的一些评论表明你可以邪恶地使用这种欺骗,所以我想我' d把这个扔在这里)。

对于谷歌的全球战争游戏Ingress,使用了一系列反欺骗措施。谷歌对全系列保持沉默,但已经证明的两个是:

  • 速度限制:游戏中允许的最高 40mph
  • 佐证措施:将接收到的 wifi SSID 与他们的位置数据库进行交叉引用

简短的回答是(据我所知)不可能完全停止开放平台(例如 Android)上的位置模拟。其他限制性更强的平台(例如,未越狱的 iOS/Windows Phone)往往不会受到这些问题的影响,因为它们不允许用户在可以安装的应用程序类型方面享有同等程度的自由。

软件供应商可以做的是尝试减少影响并检测人们滥用此功能。例如,这样做的一种方法可能是分析用户的位置,如果他们移动得太快,则假设他们正在使用某种形式的 GPS 欺骗/仿真。

据我所知,您欺骗位置的方式是:

1) 使用开发者模式和模拟位置。有一些方法可以检测到您正在使用开发者模式,因此开发者可以决定在这种情况下 GPS 不可信。因此,他们将使用其他方式来查找您的位置,例如 wifi 网络。

2)您可以在手机植根时伪造您的位置,而无需启用模拟位置模式。同样,在某些情况下,有一些方法可以检测手机是否已植根,并且开发人员可以再次决定不信任 GPS 位置。

请记住,这只是一个简单的解释。如果您想了解某些人如何识别模拟位置,请阅读以下内容:https ://stackoverflow.com/questions/6880232/disable-check-for-mock-location-prevent-gps-spoofing

编辑:引起我注意的是,有根设备可能并不总是那么容易检测到或根本无法检测到。因此,当无法检测到根目录时,第二个版本可能会起作用。