主要发现
三边测量等技术允许攻击者使用距离信息确定用户坐标
尽管采取了安全措施,Hornet 约会应用程序(一款流行的同性恋约会应用程序,下载量超过 1000 万次)仍然存在漏洞,即使用户禁用了距离显示,也无法确定精确的位置。我们开发了一种方法,使我们能够在可重复的实验中实现 10 米以内的定位精度
Hornet 开发人员实施了新措施来最大程度地降低潜在风险,这导致定位精度降低至 50 米。
概述
CPR 发现 Hornet 应用程序向服务器发送精确坐标。正如他们网站上提到的,Hornet 的创建者意识到用户定位的潜在风险。尽管如此,他们声称通过随机化应用程序中显示的距离来保护用户位置,在他们看来,这使得无法确定确切的位置。然而,这种情况并非如此。
在我们研究时,Hornet 采取的措施不足以保护用户坐标,无法以非常高的精度确定用户位置。
按照负责任的披露流程,我们尝试联系大黄蜂团队,向他们提供研究结果。就在本文发布之前,我们重新审查了 Hornet 应用程序。尽管没有收到我们询问的回复,但 Check Point Research 可以确认开发人员已经采取了必要的措施来显着降低用户坐标确定的准确性。由于规定的负责任的披露截止日期已过,我们正在发布我们的研究结果。
了解地理位置和可能的危险:
地理定位是一种使用从个人计算设备(例如智能手机、平板电脑或笔记本电脑)获取的数据来识别或估计该设备的真实地理位置的技术。这些信息的范围可以从通过 GPS(全球定位系统)获得的非常精确的位置详细信息(例如特定地址或位置坐标)到通过 IP 地址、Wi-Fi、蜂窝网络或蓝牙信标获得的不太精确的位置数据。
地理定位技术虽然有益,但也带来了一些风险,特别是在应用程序内的隐私和安全方面。其中包括未经授权的数据访问造成的潜在隐私泄露、与第三方实体意外共享位置数据、跟踪和监视的风险以及位置欺骗等安全漏洞。这些信息可能会被跟踪者、窃贼或其他恶意行为者利用。
确定距离的方法
在 Hornet 和类似的应用程序中,搜索结果中的用户按距离升序排序。如果我们在搜索结果中找到两个允许显示距离的用户,并且目标用户在搜索结果中位于他们之间,则我们可以将到目标用户的大致距离确定为两个已知距离的平均值:
图 1 – 根据与邻居的已知距离估计与用户的大致距离
然而,目标附近存在用户并不是必要条件。为了确定到用户的距离,需要注册一个额外的账户,该账户的坐标是可以控制的。
您可以通过迭代地将范围分成两半并将附加帐户放置在中点来确定两个用户之间的距离。通过分析搜索结果并根据目标用户的存在来细化搜索,逐步缩小目标与附加帐户之间的距离,我们可以达到期望的精度。
图 2 – 使用辅助帐户的定位确定与用户的距离的技术
三边测量方法
我们使用两步三边测量:首先,我们使用两个参考点进行三边测量以获得两个可能的候选位置(圆的交点)。然后,我们使用距第三个参考点的距离信息来选择正确的解决方案。
假设我们知道目标账户所在的区域,直径为10公里。例如,这可能是一个小镇。围绕该区域,我们随机生成30组参考点,形成一个内半径为5公里、外半径为10公里的环。
通过对每组参考点进行三边测量,我们获得了目标点的一组可能的坐标。地理定位最大误差为350米,最小误差仅为2米。我们计算了所有点的纬度和经度的平均值。平均值与目标点之间的距离似乎为 24 米。
地理定位精度在 200 米以内的概率为 95%。
提高地理定位精度
为了确定大致位置,我们在目标预期所在区域周围 1 到 2 公里的距离处生成了参考点。应用我们的方法,我们获得了目标位置的许多估计。地理定位误差分布几乎均匀,最小为1.5米,最大为70米。我们还计算了结果的平均纬度和经度。得到的平均点距目标点不到5 米:
图 3 – 最终位置估计误差小于 5 米
通过针对不同目标点多次重复实验,我们始终获得10米以内的定位精度。
结论
当涉及约会应用程序时,暴露用户地理位置会对隐私造成重大风险。我们的实验揭示了 Hornet 约会应用程序中的潜在漏洞,该应用程序的下载量超过 1000 万次。所开发的距离估计方法与使用大量参考点的三边测量相结合,在确定用户位置方面表现出非常高的准确性。
Hornet 开发人员进行了更改以降低风险,将定位精度降低至 50 米。这一改进虽然很重要,但仍然允许有动机的攻击者确定近似坐标。
CPR 强烈建议用户对授予应用程序的权限保持警惕,并随时了解处理地理位置数据时的潜在风险以及保护隐私和安全的最佳实践。通过禁用位置服务,用户可以阻止应用程序跟踪他们的行踪并收集有关他们的活动的信息。该措施可以有效保护用户隐私并阻止与外部实体共享个人数据。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...