手機加速度計數據可被隨意讀取,iOS關不掉權限,安卓這次能限制
本文經AI新媒體量子位(公眾號ID:QbitAI)授權轉載,轉載請聯系出處。
現在App泄露信息已經不是什么新鮮事了,手機存儲,應用列表,定位,剪切板……
不過這些都可以通過權限管理關掉。
但是有一樣權限請求無法關閉,甚至你的數據被訪問了App也不會通知你。
它和被封裝在核心運動框架(Core Motion Framework)里的加速度計有關。

近期,一位iOS開發者Tommy Mysk發現并測試了加速度計的數據被讀取的情況,在社交媒體上引發熱議。
除了加速度計,核心運動框架中還有陀螺儀,氣壓計等高精度的測量設備。它們的數據可以用于很多應用程序。
而這次,以隱私保護著稱的iOS在這個點上似乎疏漏了。
Tommy發現,目前iOS允許任何已安裝的應用程序在未經用戶明確許可的情況下訪問加速度計數據。
核心運動模塊大有文章
不過就憑加速度計,能有什么用?
你很難想象,憑借你的加速度數據,配合核心運動模塊中的陀螺儀等設備,可以收集到非常精準的信息。
首先,不同的運動狀態都會有不同的加速度變化分布。
因此,加速度可以反映出你持握手機的方式,是站是臥,是走路還是騎車,以及計步。
雖然iPhone上的計步器受系統權限保護,但是很多計步算法可以直接訪問加速度數據,用來估測你的步數。
其次,當你拿著手機時,加速度計可以檢測到身體的輕微振動,這部分數據可以用來檢測心率,甚至還能預測心率。
飛利浦和布里斯托大學的研究人員就曾在Arxiv上發表過一篇相關論文,只使用傳感器數據,通過算法預測心率。
還有,在公交車或者地鐵上無聊怎么辦?刷刷社交軟件?
也會有泄露風險。
假如同一輛車上的乘客也打開了和你一樣的應用,如果這個軟件讀取加速度數據的話,就能確定你們兩個有同樣的振動模式,例如起步,左轉,剎車。
即使你關閉了定位權限,如果另一個人沒有關閉,就可以通過他的位置確定你的位置,在哪一趟公交車或者地鐵上。
更可怕的是,加速度計還可以根據揚聲器的聲波振動逆向還原出你的聲音。

而如果應用需要更高的采樣頻率,則必須聲明權限:
文章發表在信息安全四大會議之一NDSS上,證實了此類攻擊的可行性及其嚴重性。
總結起來,加速度計能反映的信息幾乎涉及方方面面……

App實測
Tommy還實際檢測了Facebook等App讀取加速度計數據的情況。
把iPhone連接到Xcode上打開控制臺后:就一直在讀取加速度計數據。

不過,雖然加速度數據的讀取無孔不入,但是也有解決辦法。
目前App只能在前臺訪問加速度計數據,iOS會阻止后臺應用讀取數據。
從前臺退出后,讀取行為就停止了:

所以用完App后及時清理前臺是一個不錯的辦法。
對于安卓用戶來說,安卓系統在Android 12中對加速度計,陀螺儀和地磁場傳感器的采樣率做出了限制:

雖然沒有徹底解決,但是已經能對采集加速度數據還原語音等行為作出限制。
因為人聲一般在85Hz以上,而傳感器采樣率限制為200Hz以下的話,能完整恢復的語音信號會限制在100Hz以下。
這樣能采集到的有用信息就比較少了。
而如果應用需要更高的采樣頻率,則必須聲明權限:

不過,針對Tommy小哥提出的這個問題,也有人發表不同的意見。
比如有網友就提出,關鍵還是準確率如何:
現在“電腦能預測……”這類的文章可太多了,實際上任何信息都能預測點什么東西,通常只比瞎猜好一點點……

另一個高贊評論則表示:
定位和活動監測還是很可信的,但是像泄露心率,還原聲音這樣的場景不太能說服我,不過能知道有這種事還是挺好的。

你怎么看呢?