手机加速度计数据可被随意读取,iOS关不掉权限,安卓这次能限制

现在App泄露信息已经不是什么新鲜事了 , 手机存储 , 应用列表 , 定位 , 剪切板……
不过这些都可以通过权限管理关掉 。
但是有一样权限请求无法关闭 , 甚至你的数据被访问了App也不会通知你 。
它和被封装在核心运动框架(CoreMotionFramework)里的加速度计有关 。
手机加速度计数据可被随意读取,iOS关不掉权限,安卓这次能限制
文章图片
近期 , 一位iOS开发者TommyMysk发现并测试了加速度计的数据被读取的情况 , 在社交媒体上引发热议 。
除了加速度计 , 核心运动框架中还有陀螺仪 , 气压计等高精度的测量设备 。 它们的数据可以用于很多应用程序 。
而这次 , 以隐私保护著称的iOS在这个点上似乎疏漏了 。
Tommy发现 , 目前iOS允许任何已安装的应用程序在未经用户明确许可的情况下访问加速度计数据 。
核心运动模块大有文章
不过就凭加速度计 , 能有什么用?
你很难想象 , 凭借你的加速度数据 , 配合核心运动模块中的陀螺仪等设备 , 可以收集到非常精准的信息 。
首先 , 不同的运动状态都会有不同的加速度变化分布 。
手机加速度计数据可被随意读取,iOS关不掉权限,安卓这次能限制】因此 , 加速度可以反映出你持握手机的方式 , 是站是卧 , 是走路还是骑车 , 以及计步 。
虽然iPhone上的计步器受系统权限保护 , 但是很多计步算法可以直接访问加速度数据 , 用来估测你的步数 。
其次 , 当你拿着手机时 , 加速度计可以检测到身体的轻微振动 , 这部分数据可以用来检测心率 , 甚至还能预测心率 。
飞利浦和布里斯托大学的研究人员就曾在Arxiv上发表过一篇相关论文 , 只使用传感器数据 , 通过算法预测心率 。
还有 , 在公交车或者地铁上无聊怎么办?刷刷社交软件?
也会有泄露风险 。
假如同一辆车上的乘客也打开了和你一样的应用 , 如果这个软件读取加速度数据的话 , 就能确定你们两个有同样的振动模式 , 例如起步 , 左转 , 刹车 。
即使你关闭了定位权限 , 如果另一个人没有关闭 , 就可以通过他的位置确定你的位置 , 在哪一趟公交车或者地铁上 。
更可怕的是 , 加速度计还可以根据扬声器的声波振动逆向还原出你的声音 。
手机加速度计数据可被随意读取,iOS关不掉权限,安卓这次能限制
文章图片
而如果应用需要更高的采样频率 , 则必须声明权限:
文章发表在信息安全四大会议之一NDSS上 , 证实了此类攻击的可行性及其严重性 。
总结起来 , 加速度计能反映的信息几乎涉及方方面面……
手机加速度计数据可被随意读取,iOS关不掉权限,安卓这次能限制
文章图片
App实测
Tommy还实际检测了Facebook等App读取加速度计数据的情况 。
把iPhone连接到Xcode上打开控制台后:就一直在读取加速度计数据 。
手机加速度计数据可被随意读取,iOS关不掉权限,安卓这次能限制
文章图片
不过 , 虽然加速度数据的读取无孔不入 , 但是也有解决办法 。
目前App只能在前台访问加速度计数据 , iOS会阻止后台应用读取数据 。
从前台退出后 , 读取行为就停止了:
手机加速度计数据可被随意读取,iOS关不掉权限,安卓这次能限制
文章图片
所以用完App后及时清理前台是一个不错的办法 。
对于安卓用户来说 , 安卓系统在Android12中对加速度计 , 陀螺仪和地磁场传感器的采样率做出了限制:
手机加速度计数据可被随意读取,iOS关不掉权限,安卓这次能限制
文章图片
虽然没有彻底解决 , 但是已经能对采集加速度数据还原语音等行为作出限制 。