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