導(dǎo)語:每次Wi-Fi連接就像是相親,在Android端即使你提供了虛假的名字(MAC地址),依然有很多方法能知道昨晚你去了哪里。
雷鋒網(wǎng)按:如今智能手機和人的親密程度幾乎已經(jīng)超過了伴侶,所以安全變得尤為重要。實際上,許多人都清楚 Android 手機的安全問題,但它們到底為什么贏得比 iPhone 差的名聲呢?其實很多時候是一些基本的措施都沒做好,就像本文中發(fā)現(xiàn)的問題。本文由雷鋒網(wǎng)編譯自 Arstechnica,原文作者 Dan Goodin。
同很多打開頁面正在閱讀這篇文章的用戶一樣,筆者也是 Android 陣營的成員之一。每天當(dāng)我們在零售商店徘徊,在城市街道穿梭,或者去哪里旅游,我們隨身攜帶的 Android 智能手機就有可能變成實時的地址追蹤器。
出于對實時定位追蹤功能的安全考量,在 2015 年年初負責(zé) Android 移動操作系統(tǒng)開發(fā)的 Google 架構(gòu)師團隊對其進行了限制。然而最近發(fā)布的一篇研究報告表明,在大多數(shù) Android 手機上并未部署這項功能,極少數(shù)手機即使激活了這項功能也能非常輕易的進行破解。
在這個「流量貴如油」的年代里,智能手機用戶對于 Wi-Fi 的渴望和需求是直接且明顯的,無論到哪個場所都希望連接到可用的 Wi-Fi 網(wǎng)絡(luò),才能發(fā)朋友圈刷微博看新聞等等。同所有開啟 Wi-Fi 功能的設(shè)備一樣,智能手機也會持續(xù)搜索附近可用的 Access Point(訪問接入點,下文簡稱 AP),在每次掃描搜索過程中智能手機都會向 Wi-Fi 網(wǎng)絡(luò)發(fā)送當(dāng)前設(shè)備的 MAC(介質(zhì)訪問控制)地址。
你可以將 MAC 地址想象成你的名字,每次連接 Wi-Fi 網(wǎng)絡(luò)就像是一次相親,在建立更深的了解和互動(數(shù)據(jù)上傳和下載)之前,你們都會相互交換姓名。縱觀 Wi-Fi 的發(fā)展歷史,MAC 地址的自由交互并不會對用戶隱私產(chǎn)生太大的安全隱患。
然而伴隨著移動計算能力的迅速崛起,你會突然震驚地發(fā)現(xiàn) MAC 地址的交互竟然演變成了個人數(shù)字足跡的深淵!這個深淵的可怕之處在于它無聲無息,在大多數(shù)人不知情的情況下記錄了我們的生活習(xí)慣和運行軌跡。它所記錄的繁雜信息能夠知道我每天下班的時間;能夠知道我昨晚是走哪條道路到的酒吧;能夠知道我昨晚是何時離開的酒吧;能夠知道在過去 1 個月中我去過這家酒吧幾次等等。
蘋果(Apple)和谷歌(Google)已經(jīng)意識到濫用 MAC 地址交互的潛在危害,并已經(jīng)采取了相應(yīng)的措施。他們此前提出的解決方案是:創(chuàng)建有規(guī)律的偽隨機 MAC 地址數(shù)列,當(dāng)智能手機掃描附近 AP 的時候就循環(huán)使用數(shù)列中的一個 MAC 地址。
通過這種方式,那些日志記錄 MAC 地址的 Wi-Fi 設(shè)備就無法通過掃描直接關(guān)聯(lián)到具備當(dāng)前智能手機硬件地址身份標(biāo)識的唯一 MAC 地址。而只有當(dāng)智能手機真的加入連接到 Wi-Fi 網(wǎng)絡(luò)中,真實的 MAC 地址才會顯示出來。
2014 年 6 月份在發(fā)布 iOS 8 系統(tǒng)的時候,蘋果引入了 MAC 地址隨機化功能。數(shù)月之后,谷歌的 Android 操作系統(tǒng)也出于相同的安全考量,進行了實驗性質(zhì)的功能支持。2015 年 3 月份谷歌開始全面推廣和部署,在最新的 Android 7.1 Nougat 版本中已經(jīng)進化到第五個版本,如果按照 Android 版本分布來看,大約有三分之二的 Android 設(shè)備部署激活了這項功能。
然而在最新公布的研究報告中發(fā)現(xiàn),即使設(shè)備當(dāng)前運行的 Android 版本支持 MAC 地址隨機化功能,但大部分設(shè)備依然沒有啟用這項功能。在長達兩年的測試中,粗略估計有 960,000 臺 Android 設(shè)備被掃描,然而只有不足 60,000 臺設(shè)備(實際情況可能少于 30,000 臺)激活了隨機化 MAC 地址功能。盡管在本次測試中共計接受檢測到了 60,000 個隨機化 MAC 地址,但是科研團隊認為其中有兩個或者更多隨機化 MAC 地址來自于同一臺設(shè)備。
換算成百分比后的數(shù)字同樣觸目驚心:在本次測試中只有 6% 的 Android 設(shè)備提供 MAC 地址隨機化,而大部分 Android 設(shè)備直接使用真實且唯一的 MAC 地址進行連接,極大程度上表明這項措施形同虛設(shè)。在測試過程中,科研人員發(fā)現(xiàn)唯一能夠正確 MAC 地址隨機化的設(shè)備是 CAT S60。與之形成鮮明對比的是,本次測試中幾乎所有 iOS 設(shè)備都很好的執(zhí)行了地址隨機化。
安全的錯覺 美國海軍學(xué)院資深教授,同時也是這篇論文的聯(lián)合作者之一 Travis Mayberry 在一封郵件中寫道:
對于普通手機用戶來說,我們的研究包含兩個非常重要的結(jié)論:
1)大部分 Android 設(shè)備并未激活這項技術(shù),盡管事實上這些設(shè)備所運行的新版操作系統(tǒng)都允許支持這項技術(shù)。
2)即使通過這種方式部署的 MAC 地址隨機化也存在很多薄弱點,非常容易被攻克。這給眾多普通用戶留下安全的錯覺,誤認為這項技術(shù)正防止設(shè)備被追蹤記錄,然而事實上并沒有。
那些已經(jīng)激活地址隨機化的 Android 手機存在的最大問題,同時也是和 Cat S60 存在明顯區(qū)別的是即使設(shè)備并未同 AP 關(guān)聯(lián)的情況下,在雙方的通信過程中通常也會顯示設(shè)備的硬件 MAC 地址。目前尚不清楚為何會發(fā)生這種情況。在名為《A Study of MAC Address Randomization in Mobile Devices and When it Fails》(關(guān)于移動設(shè)備的 MAC 地址隨機化以及失敗情況研究)報告中,科研專家寫道:
除了時而發(fā)生的全球管理 MAC 尋址探針請求之外,在我們的實驗室環(huán)境中已經(jīng)對所有出現(xiàn)的情況進行了細致的觀察,我們能夠要求所有 Android 設(shè)備在信息傳輸過程中強制附加此類探針。首先,在任意時間內(nèi)一旦用戶點亮屏幕,一組全球管理探針請求就會被發(fā)送。這樣,即使用戶激活了 MAC 地址隨機化功能,兩者同時生效下就會讓這項隱私保護策略完全失效。
第二,如果手機接收到一個通話請求,不管用戶是否選擇接聽,全球管理探針請求都會進行發(fā)送。盡管黑客不大可能通過這種方式來主動攻擊手機,但是令人感到遺憾和不安的是,這些沒有必要同 Wi-Fi 關(guān)聯(lián)的活動信息可能對用戶隱私造成意想不到的后果。
科研人員表示即使手機端 Wi-Fi 狀態(tài)處于關(guān)閉狀態(tài),但是探針宣傳依然有可能獲得和利用手機的真實 MAC 地址,這是因為手機中還有很多基于 Wi-Fi 的功能設(shè)置,例如激活基于 Wi-Fi 的定位設(shè)置。
即使在 Android 設(shè)備不顯示全球管理 MAC 地址的情況下,科研人員表示依然存在多種方式來識別智能手機的真實 MAC 地址。諸多方式中最有效且最常用的就是基于「信息元素」(除了隨機化 MAC 地址之外的所有 MAC 地址)對探針請求進行特征采集。這些元素可用于傳播手機的各種屬性,而且在通常情況下會在標(biāo)準 Wi-Fi 協(xié)議之上部署擴展程序和特殊功能。
每款手機型號都有不同的賣點,恰恰是這些標(biāo)簽的組合得以讓這款手機有別于其他手機,創(chuàng)建屬于自己的獨特簽名,即使激活 MAC 地址隨機化這種特征依然不會被泯滅。即使通過 MAC 地址的更改,這些標(biāo)簽也不會產(chǎn)生變動?蒲袌F隊表示在本次研究過程中,借鑒了此前報告研究中的特征信息采集技術(shù),但在此基礎(chǔ)上進行了強化和精煉。在他們的報告中,寫道:
我們觀察發(fā)現(xiàn)相比較使用全球管理 MAC 地址,在啟用 MAC 地址隨機化的時候大部分 Android 設(shè)備使用了不同的簽名。因此,前文中關(guān)于基于簽名的追蹤方式已經(jīng)無法利用地址進行關(guān)聯(lián)。但通過剖析 Android 隨機化方案,以及區(qū)別不同設(shè)備型號的衍生知識,我們已經(jīng)能夠使用全球管理和隨機化 MAC 地址來正確配對探針請求的簽名。只需要通過這些簽名的組合,我們就能精準和高效地映射和檢索全球管理 MAC 地址。
科研人員表示,96% 已經(jīng)部署地址隨機化功能的 Android 設(shè)備都能利用這種精準的特征信息采集技術(shù)進行破解。
突破 Android 地址隨機化的另外一種常用方式叫做「Karma Attack」,攻擊者部署一個具備相同 SSID 的 AP,這樣設(shè)置為自動連接的目標(biāo)手機就會連接到這個 Wi-Fi 網(wǎng)絡(luò)中。一旦設(shè)備連接到這個 AP 中,那么碎機化功能就會失效停止,攻擊者就能獲得手機的全球管理 MAC 地址。
恰恰是利用了手機自動連接 Wi-Fi 網(wǎng)絡(luò)的功能設(shè)置,在過去很多年以來攻擊者往往會將自己的 AP 偽裝成 attwifi, xfinitywifi 和 starbucks 等具有極高知名度的 SSID。研究人員表示,運營商或者制造商會配置手機以便于自動連接到某些 AP,從而極大地助長了此類攻擊的規(guī)模和安全隱患。
iOS 系統(tǒng)的隨機化也不代表就安全了 接下來要介紹的是反地址隨機化終極技術(shù),除了上文提及的 Android 設(shè)備之外,同樣適用于 iOS 設(shè)備。這項終極技術(shù)涉及到 Wi-Fi 控制消息(一個請求發(fā)送幀,下文簡稱 RTS 幀)。只需要向全球管理 MAC 地址發(fā)送一個 RTS 幀,攻擊者就能知道當(dāng)前 Wi-Fi 覆蓋范圍內(nèi)某個或者多個手機的信息。通過發(fā)送 RTS 幀到不同 MAC 地址以及觀察附近設(shè)備的響應(yīng),攻擊者還能利用這項技術(shù)來蠻力破解未見過新設(shè)備的 MAC 地址。
科研團隊表示,RTS 幀攻擊方式是利用 Wi-Fi 芯片處理低級控制消息的漏洞,可用于攻擊所有手機型號,生產(chǎn)廠商和操作系統(tǒng)。因此,這項漏洞并不是單單依靠蘋果和谷歌就能解決修復(fù)的。
所幸的是這種繞過攻擊手段盡管比較常見和長期存在,但卻存在一個致命的缺陷:它要求攻擊者主動向目標(biāo)設(shè)備發(fā)送信息。和上文中提及的其他攻擊方式有所不同的是,主動攻擊意味著攻擊者等著警察上門逮捕。
而且研究人員發(fā)現(xiàn)在 Android 和 iOS 手機也存在第二次地址隨機化的安全隱患——啟用隨機化的所有設(shè)備都適用增量數(shù)列方式用于探針請求。假設(shè) MAC 地址隨機化更新 5 次,當(dāng)前使用的地址是 1234,科研人員發(fā)現(xiàn)接下來的 MAC 地址隨機化就是增量更新,會陸續(xù)使用 1235,1236,1237,最終會更新至 1238。
由于 MAC 地址隨機化的范圍只有 4096 個,因此日常使用過程中設(shè)備極有可能會和其他設(shè)備「碰撞」。盡管這種攻擊的有效性并不是很高,但是科研人員只需要查看這些數(shù)字的變化就能鎖定追蹤手機的 MAC 地址。研究人員表示,Wi-Fi 協(xié)議如果不經(jīng)過徹底檢修,否則這個缺陷很難解決。
本次研究數(shù)據(jù)基于自 2015 年 1 月至 2016 年 12 月收集的超過 260 萬個不同 MAC 地址,發(fā)現(xiàn)一半左右的地址是和設(shè)備匹配的全球管理 MAC 地址,而另外一半則是隨機化,而且由于單個設(shè)備可能顯示多個不同的本地地址,因此推測實際上啟用隨機地址的設(shè)備會更少。
研究人員表示,本次收集的 MAC 地址只有極少部分屬于微軟的 Windows Phone/Windows 10 Mobile 操作系統(tǒng),可能部分啟用地址隨機化功能的 WP 設(shè)備在手機列表中劃分到了未知型號一欄中。研究人員表示手動檢查的兩臺 Windows 手機并沒有啟用地址隨機化。
包括 Nexus 5X,Nexus 6,Nexus 6P,Nexus 9 和 Pixel 在內(nèi)的所有 Google 品牌 Android 手機都提供了地址隨機化功能。從目前收集到的信息中,啟用 MAC 地址隨機化的 Android 設(shè)備完整列表包括:
● BlackBerry STV100-1
● BlackBerry STV100-2
● BlackBerry STV100-3
● Blackberry STV100-4
● Google Pixel C
● Google Pixel XL
● HTC HTC 2PS650
● HTC Nexus 9
● Huawei EVA-AL00
● Huawei EVA-AL10
● Huawei EVA-DL00
● Huawei EVA-L09
● Huawei EVA-L19
● Huawei KNT-AL20
● Huawei Nexus 6P
● Huawei NXT-AL10
● Huawei NXT-L09
● Huawei NXT-L29
● Huawei VIE-AL10
● LGE LG-H811
● Sony 402SO
● Sony 501SO
● Sony E5803
● Sony E5823
● Sony E6533
● Sony E6553
● Sony E6603
● Sony E6633
● Sony E6653
● Sony E6683
● Sony E6853
● Sony E6883
● Sony F5121
● Sony F5321
● Sony SGP712
● Sony SGP771
● Sony SO-01H
● Sony SO-02H
● Sony SO-03G
● Sony SO-03H
● Sony SO-05G
● Sony SOV31
● Sony SOV32
廣大的雷鋒網(wǎng)(公眾號:雷鋒網(wǎng))讀者,如果你因為正在使用的 Android 設(shè)備出現(xiàn)在上方的列表中而感到僥幸的話,這里再給大家提個醒:正如前文所提及的,除了 Cat S60 之外其他所有 Android 手機盡管提供了地址隨機化功能,但是這項功能形同虛設(shè)。而更為重要的是,絕大多數(shù) Android 用戶在激活 MAC 地址隨機化功能之后就誤認為自己不會被追蹤,但是這項研究得出了相反的事實。
這就意味著攻擊者只需要少量工作,在極短的時間內(nèi)就能探針附近的 Android 用戶。對于那些真的不想要被追蹤的用戶應(yīng)該使用 iPhone,或者當(dāng)你不想要泄漏關(guān)于位置或者移動路徑信息的時候最好關(guān)機。