不想讓智能手機泄露定位信息?沒門
一、前言
根據最近的一些新聞報道,軍方人士的數字健身追蹤器會存儲他們的訓練場所信息(包括全世界各地的軍事基地、秘密場所及附近地點),這些消息讓美國軍方猝不及防。但這種安全威脅並不局限於Fitbits以及類似設備。我們小組最近的研究成果顯示,移動手機同樣可以跟蹤用戶的運動軌跡,比如在商場、城市以及世界各地的行進路線,即使用戶關閉手機的定位跟蹤服務也無濟於事。
圖1. 健身設備報告用戶位置並泄露內華達沙漠中大量用戶的運動軌跡(來自Strava的熱度圖)
問題來自於手機自帶的各種感測器,不單單是GPS以及通信介面,陀螺儀以及加速感測器可以分辨手機處於直立狀態還是平躺狀態,同樣也能測量其他運動模式。手機應用可以使用這些感測器來執行用戶不希望執行的某些動作,比如持續跟蹤用戶在城市街道上的移動軌跡。
大多數用戶認為關閉手機的定位服務就能關閉這種移動監控功能。然而,來自東北大學(Northeastern University)的研究團隊(由我、Sashank Narain、Triet Vo-Huu、Ken Block以及Amirali Sanatinia組成)在「旁路攻擊」(side-channel attacks)方面做了一些研究,研究表明手機應用可以藉助某些方法規避或者逃脫這些限制條件的束縛。我們發現手機可以通過用戶的指尖輸入動作來獲取密碼,而將手機放在口袋裡這麼一個簡單的動作也會告訴數據公司當前用戶所處的位置以及想去的位置。
二、攻擊場景假設
人們首先會假設設備及系統會面臨什麼安全威脅,然後再為這些設備或者系統設計防護機制。比如,設計汽車時設計師會保護乘客免受車輛碰撞(如與其他汽車、建築物、護欄、電線杆以及道路周邊常見的其他物體碰撞)所造成的安全風險,但不會考慮去保護某些異常場景中的安全風險(比如跌落懸崖、被巨石砸碎等)。專門針對這類安全風險對工程師來說極不划算,因為通常情況下並不會遇到這些奇葩現象。
與此類似,人們在設計軟體及硬體時,也會假設黑客通常會執行哪些操作。但這並不意味著設備處於安全境地。旁路攻擊技術最早可以追溯到1996年,當時密碼學家Paul Kocher向大眾展示,他可以通過觀察計算機加解密消息所需的時間,打破非常流行且看上去固若金湯的加密系統。加密系統的設計人員從來沒有想過,有一天攻擊者會採用這種方法來發起攻擊,因此也無法防護這類威脅。
隨著時間的推移,世上又湧現出使用不同方法的其他攻擊技術。最近出現的Meltdown以及Spectre漏洞用到了計算機處理器中的設計缺陷,同樣也屬於旁路攻擊範疇。這兩個漏洞可以幫助惡意應用程序嗅探計算機內存中其他應用程序的數據。
三、隨時監控技術
移動設備是這種攻擊技術的絕佳目標。這些設備裝配了各種感測器,通常帶有加速感測器、陀螺儀、磁力計感測器、氣壓儀、多達4個麥克風、1到2個攝像頭、溫度計、計步器、光感測器以及濕度感測器。
應用可以在不需要用戶授權許可的情況下,訪問其中大多數感測器。如果將兩個或者更多設備的讀數結合起來,攻擊者可以做到用戶、手機設計人員甚至應用開發者都無法設想的事情。
在最近的一個研究項目中,我們開發了一款應用,這款應用能夠在不讀取鍵盤輸入數據的前提下,探測到用戶當前在移動手機的屏幕鍵盤上所輸入的具體字母。我們綜合採納了手機中陀螺儀以及麥克風的讀數完成了這個任務。
當用戶在不同的位置點擊手機屏幕時,手機本身會出現運動狀態,雖然這種動作非常微小,但大多數手機中的三軸微機陀螺儀(three-axis micromechanical gyroscopes)依然可以準確測量出這些數據。此外,在手機屏幕上敲擊時同樣會發出聲音,每台手機上的多個麥克風都能記錄下這些數據。點擊屏幕中心不會讓手機出現太多位移,聲音基本上會同時到達各個麥克風,因此所有麥克風聽到的數據應該都差不多。然而,點擊屏幕左下角的動作會讓手機向左下角偏移,並且聲音會更快到達左側麥克風,屏幕底部麥克風聽到的聲音會更大,也會比設備上其他位置的麥克風更早聽到敲擊聲音。
綜合處理移動數據以及聲音數據,我們可以判斷出用戶所敲擊的按鍵,準確率超過90%。任何應用都可以悄悄內置這種功能,在不引起用戶注意的情況下收集數據。
四、識別位置信息
隨後,我們想看一下惡意應用能否推測出用戶的具體行蹤,包括用戶居住、工作的地點以及用戶旅行的路線,這些信息對大多數用戶而言都是非常隱私的數據。
我們想知道應用能否藉助不需要用戶授權許可就能訪問到的感測器來跟蹤用戶的地理位置。比如,司機所選擇的行駛路線可以簡化為一系列轉彎數據,每個轉彎數據都包含特定的方向以及特定的角度。在另一款應用中,我們選擇使用手機的指南針來觀察用戶的行進方向。這款應用也用到了手機的陀螺儀,來測量用戶所選擇路線的一系列轉彎角度數據。此外,加速感測器也會告訴我們用戶處於靜止或者移動狀態。
記錄下一系列轉彎數據,將這些數據串聯起來作為用戶的行駛數據,我們就可以繪製出用戶的移動路線圖(在我們的研究工作中,我們知道被跟蹤用戶當前所處的具體城市,但我們也可以採用相似方法來判斷用戶當前處於哪座城市)。
圖2. 通過智能手機跟蹤用戶在波士頓內的行進路線(截圖取自Google Maps),遵循CC BY-ND協議)
想像一下,我們看到有個人在波士頓中朝西南方向行進,向右轉100度,然後向左急轉彎,轉而向東南方向行進, 再稍微向右拐,繼續直行,然後向左稍作轉彎,再向右方向慢跑,這一小段路比較不好走,需要上下顛簸,然後向左轉55度,再向右轉97度,在到達終點之前又稍微往右轉了一下。
我們研發了一種演算法,可以將這些運動軌跡與用戶所在城市街道的數字地圖進行匹配,從而確定用戶最有可能採用的行進路線。利用這些運動數據,我們可以繪製出從Fenway Park起,途徑Back Bay Fens(波士頓後灣小塘),經過美術館,最終到達東北大學的一條行進路線。
我們進一步改進了演算法,將道路上的顛簸程度以及限速信息考慮在內,從而進一步縮小可選項範圍。我們將得出的所有可能路線按照與實際路線匹配的可能性進行排序。在我們測試的大多數城市中,超過半數情況下用戶真實的行進路線完美落在排名前10的路線中。進一步改進地圖數據、感測器讀數以及匹配演算法後,我們可以大大提高結果的準確度。同樣,這種功能可以被惡意開發者集成到任何應用中,讓表面上人畜無害的應用窺探用戶隱私。
五、總結
我們的研究團隊會繼續調查,分析如何進一步利用旁路攻擊技術竊取各種隱私信息。比如,收集手機的移動信息可以告訴我們正在散步的某個用戶的真實年齡、是男性(將手機放在口袋中)還是女性(通常會把手機放在錢包中),甚至也可以收集到健康信息(比如用戶腳步的穩健程度以及摔跤頻率)。我們認為手機能竊取的信息比用戶想像的還要多,我們希望能夠找出阻止這類間諜行為的具體方式及方法。
登錄安全客了解更多安全資訊安全客 - 有思想的安全新媒體
推薦閱讀:
※雲安全風險(一):Azure CSV注入漏洞
※看我如何找到Deutche Telekom本地包含漏洞(LFI)
※CVE-2018-0101:CISCO ASA遠程代碼執行和DOS漏洞分析
※《權力的遊戲7》泄漏事件續集:黑客要求數百萬美金的贖金
※酷站推薦 - dingxiang-inc.com - 頂象 | 智能風控安全