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