Group of Software Security In Progress

GoSSIP @ LoCCS.Shanghai Jiao Tong University

Analysis of Privacy Protections in Fitness Tracking Social Networks

出处:USENIX Security 2018

作者:Wajih Ul Hassan, Saad Hussain, Adam Bates

原文链接:https://www.usenix.org/system/files/conference/usenixsecurity18/sec18-hassan_0.pdf


文章概述

一些移动端健康数据采集App为用户提供记录运动信息并通过社交网络分享给朋友的功能。运动信息包含地理位置、健康数据等,一旦发生泄露会造成非常严重的后果。尽管现在一些健康App提供一系列的隐私保护功能,但不能确定这些功能是否足够抵御攻击者的攻击。因此,作者对健康数据的社交网络进行了系统的分析。通过收集Strava上一个月的用户公开发布的数据(300万用户发布的2100万条记录),作者发现16.5%的用户使用了Endpoint Privacy Zones(EPZs)功能,可以隐藏用户认为敏感地区(家、办公室等)周围的活动。作者对EPZs功能进行攻击,通过可以获取到的数据推测出用户所想保护的位置,进而发现95.1%的活跃用户都易受此攻击影响,导致位置信息被攻击者获取。作者对于这种攻击提出了相应的防护方案。

相关背景

1.运动记录App导致隐私泄露

类似Strava、MapMyRide这样的记录健康数据的应用变得越来越流行,它们可以利用基于GPS定位技术帮助用户记录跑步、骑车等活动的路线。同时这些App都支持社交功能,允许用户将运动数据和其他用户分享,这是这类App中非常重要的功能,激励用户更多地使用App。分享用户数据必然存在隐私泄露的风险,而和健康相关的App所采集的数据则更加敏感,因为其中包含了地理位置信息、健康数据等。2018年1月有报道表明可以根据Strava的全球热力图推测出秘密军事基地、情报机构的位置。

2.EPZs(Endpoint Privacy Zones)

一些App也提供了隐私保护功能,其中Endpoint Privacy Zones(EPZs)就是其中之一。它可以帮助用户将家或工作地点等敏感位置周围一定距离的健康活动隐藏起来。如下图所示,左图为未使用EPZs功能的运动路径图,右图为使用了EPZs功能的运动路径图,App将相关路线抹去,并为运动路径重新设置了起点和终点。

实验细节

1.App隐私保护功能汇总

作者对比较流行的App所提供的隐私保护功能进行了研究,主要从以下几个方面: + 仅自己可见功能 + 黑名单功能 + EPZ功能 + EPZ功能支持的到敏感位置的距离

结果如下表所示:

2.攻击EPZs

攻击的简化思路是:经过EPZs功能处理过的路径图的端点必然是在敏感位置为中心的某一圆上,如下图所示如果得到的路径图只有两个端点,则敏感位置有无数种可能,但如果有三个端点,则可以唯一确定敏感位置。此外,不同App的EPZs功能提供的距离(和敏感位置的距离)选项比较有限,如Strava为1/8或1/4或3/8或1/2或5/8英里,可以帮助攻击者更进一步地确定敏感位置。 作者将问题归结为圆搜索问题,即找到某一个圆,能够最佳匹配某一用户的所有活动路径图上的端点。传统的Least Squares Fit算法存在效率上的问题,因此作者对其进行了改进,提出了STRAWMAN算法,对于每一对起点终点,将圆的半径设置为某一EPZs功能提供的距离,从而求得圆心的位置,将其存储到可能的敏感位置列表中。 对于得到的结果集,作者依据每一结果出现频率进行打分,并最终返回打分最高的那一结果。此外,为了减少GPS坐标信息不精确的问题,作者也设置了相关的阈值,尽可能保证结果更加准确,同时具有较好的鲁棒性。算法具体流程如下图所示:

3.数据收集

作者爬取了Strava上2016年5月1日到5月31日用户公开发布的运动数据,其中运动距离和遍历GPS定位所得距离不同的是使用了EPZs功能,作者对其进行标记。此外,作者排除掉一些起止时间异常的数据和跑步、步行、骑行之外的运动记录(和位置关系不大),最终保留了2960541个用户的20892606条记录,其中的2360466条记录是使用了EPZ功能。

4.可靠性评估

作者首先对来自2528519名用户的18532140条未使用EPZs功能的数据进行研究,以确定具体阈值等算法超参数的设置,从而提升算法的效果。在确定好比较合适的参数后,作者发现识别成功EPZ的概率为96.6%。随后作者以这些超参数对432022名用户的2360466条使用EPZs功能的数据进行分析,对于其中84%的用户都可以得出正确的结果。而未能成功识别的情况中,很多是因为运动数据相对太少,在排除掉运动数据较少的这类用户后,对于剩下的283920名用户,识别率为95.1%,剩余的未能识别成功的原因是用户对同一活动记录设置了多个敏感位置,导致算法失效。

防护方案

基于混淆的思想作者提出了如下图所示的三种方案: + 将EPZs隐藏的范围扩大 + 将EPZ的边界随机化 + 将EPZ的中心进行稍微的转移

评价

作者对问题的描述非常明确,同时配图能够帮助读者更有效地理解文章。切入点很小,也提出了比较有效的解决方案。