近期,一位 iOS 开发者 Tommy Mysk 发现并测试了加速度计的数据被读取的情况,在社交媒体上引发热议。
除了加速度计,核心运动框架中还有陀螺仪,气压计等高精度的测量设备。它们的数据可以用于很多应用程序。
而这次,以隐私保护著称的 iOS 在这个点上似乎疏漏了。
Tommy 发现,目前 iOS 允许任何已安装的应用程序在未经用户明确许可的情况下访问加速度计数据。
核心运动模块大有文章
不过就凭加速度计,能有什么用?
你很难想象,凭借你的加速度数据,配合核心运动模块中的陀螺仪等设备,可以收集到非常精准的信息。
首先,不同的运动状态都会有不同的加速度变化分布。
因此,加速度可以反映出你持握手机的方式,是站是卧,是走路还是骑车,以及计步。
虽然 iPhone 上的计步器受系统权限保护,但是很多计步算法可以直接访问加速度数据,用来估测你的步数。
其次,当你拿着手机时,加速度计可以检测到身体的轻微振动,这部分数据可以用来检测心率,甚至还能预测心率。
飞利浦和布里斯托大学的研究人员就曾在 Arxiv 上发表过一篇相关论文,只使用传感器数据,通过算法预测心率。
还有,在公交车或者地铁上无聊怎么办?刷刷社交软件?
也会有泄露风险。
假如同一辆车上的乘客也打开了和你一样的应用,如果这个软件读取加速度数据的话,就能确定你们两个有同样的振动模式,例如起步,左转,刹车。
即使你关闭了定位权限,如果另一个人没有关闭,就可以通过他的位置确定你的位置,在哪一趟公交车或者地铁上。
更可怕的是,加速度计还可以根据扬声器的声波振动逆向还原出你的声音。
浙大网安团队就基于深度学习算法实现了针对手机语音信号的关键字识别和语音重建攻击,成功地从加速计信号中识别并恢复出了大量敏感语音信息。
文章发表在信息安全四大会议之一 NDSS 上,证实了此类攻击的可行性及其严重性。
总结起来,加速度计能反映的信息几乎涉及方方面面……
App 实测
Tommy 还实际检测了 Facebook 等 App 读取加速度计数据的情况。
把 iPhone 连接到 Xcode 上打开控制台后:就一直在读取加速度计数据。
不过,虽然加速度数据的读取无孔不入,但是也有解决办法。
目前 App 只能在前台访问加速度计数据,iOS 会阻止后台应用读取数据。
从前台退出后,读取行为就停止了:
所以用完 App 后及时清理前台是一个不错的办法。
对于安卓用户来说,安卓系统在 Android 12 中对加速度计,陀螺仪和地磁场传感器的采样率做出了限制:
虽然没有彻底解决,但是已经能对采集加速度数据还原语音等行为作出限制。
因为人声一般在 85Hz 以上,而传感器采样率限制为 200Hz 以下的话,能完整恢复的语音信号会限制在 100Hz 以下。
这样能采集到的有用信息就比较少了。
而如果应用需要更高的采样频率,则必须声明权限:
不过,针对 Tommy 小哥提出的这个问题,也有人发表不同的意见。
比如有网友就提出,关键还是准确率如何:
现在‘电脑能预测……’这类的文章可太多了,实际上任何信息都能预测点什么东西,通常只比瞎猜好一点点……
另一个高赞评论则表示:
定位和活动监测还是很可信的,但是像泄露心率,还原声音这样的场景不太能说服我,不过能知道有这种事还是挺好的。
你怎么看呢?
参考链接:
[1]https://www.mysk.blog/2021/10/24/accelerometer-ios/
[2]https://dl.acm.org/doi/abs/10.1145/3309074.3309076
[3]https://icsr.zju.edu.cn/news/images/319.html
最新文章