AirDrop 資訊安全 檔案共用 藍牙劫持 隱私外洩

只限聯絡人卻可能外洩通訊錄 三招防範隱私被竊取

蘋果AirDrop傳檔有漏洞 恐遭惡意「中間人攻擊」

2021-06-23
AirDrop是一種超級方便、專屬於Apple的通訊協定,該通訊協定可讓用戶直接與附近其他的Apple使用者透過無線共用檔案,但是被發現潛藏著某些安全疑慮,對此本文提出了防範的方法。

 

德國達姆施塔特工業大學的安全研究人員在近期發布了一份新聞稿,內容談到在2021年稍後將在USENIX大會上發表的學術論文。 該論文的標題還算中性,只是簡單地敘述了它使用的演算法:《PrivateDrop:Apple AirDrop的實用隱私保護驗證方法》。但是新聞稿可就戲劇化多了,宣稱:「Apple AirDrop分享的不只是檔案。我們發現Apple的檔案共用服務中存在嚴重的隱私外洩問題。」

為沒有iPhone或Mac的使用者說明一下。AirDrop是一種超級方便,但卻專屬於Apple的通訊協定,該通訊協定可讓用戶直接與附近其他的Apple使用者透過無線共用檔案。

與透過雲端,讓傳送者先上傳到中央伺服器,再讓接收者下載該檔案不同,AirDrop無須透過雲端共用檔案,而是結合使用藍牙和Wi-Fi點對點直連,在本地進行快速、簡單地無線分享。

根據研究人員的說法,問題出在AirDrop的僅限聯絡人(Contacts Only)模式。在此模式下,你告訴AirDrop不接受任何人的連線,而是只接受已經存在你聯絡人列表中的使用者。

AirDrop設定選項。

請注意,向所有人開放AirDrop並不代表任何人都可以在你不知情的情況下連線到你的手機,因為會先看到跳出一個視窗請求允許連線,而傳送者也無法省略這個步驟。

但是所有人(Everyone)模式的一個問題是,如果有人嘗試向你傳送檔案,則彈出式視窗中會包含欲傳送檔案的縮圖,因此不僅可以確認傳送者是誰,還能確認內容是否有問題。

這意味著你很容易被藍牙劫持(Bluejacked)。這口語的意思是某人向你傳送了不請自來的圖片,而為了判斷是否要接收而被迫觀看。

AirDrop要求先顯示縮圖,因此必須看過縮圖後才能拒絕它。

所以,使用僅限聯絡人來縮小接收對象,似乎是一個不錯的選擇。但是,達姆施塔特工業大學的研究人員說,如果使用僅限聯絡人模式,則會遇到另一種問題。

簡而言之,使用AirDrop連線的兩端,等於都同意無論對方是否為聯絡人就先交換網路封包,而沒有考慮到保護聯絡人資料的隱私。 研究人員聲稱,交換的聯絡人識別資訊是將電話號碼和電子郵件地址以SHA-256加密的雜湊值,以保護原始資料。

兩端都將自己的聯絡人資料轉換為雜湊,然後與對方傳送的資料進行比對,並不是直接共用及比較原始電話號碼和電子郵件地址。 這種作法代表一端不必向另一端透露原始連絡資料,只須檢查它們共有哪些項目即可。

德國達姆施塔特工業大學的安全研究人員近期發布了一份新聞稿,內容談到將在2021年稍後會在Usenix會議上發表的學術論文。 顯然,交換的雜湊是純雜湊,沒有添加任何資料,因此,如果預先算好所有可能電話號碼的所有可能雜湊,就能夠在你的雜湊列表中比對交換的雜湊,然後透過蠻力「逆向工程」這個加密演算法。

例如,英國手機號碼的格式為「+44.7xxx.xxx.xxx」,因為所有英國手機號碼的開頭都是「+44」,而英國所有手機號碼的開頭都是「7」,其餘僅保留九位數。

因此,一共只有109個可能的數字,總計10億,大多數現代筆記型電腦可以在數小時甚至數分鐘內就完成計算。 每個SHA-256雜湊長度為32個位元組(256位元)。如果選擇儲存所有內容,而不是只取前半段來進行近似處理,總共只要32GB的磁碟空間就夠了。

但對電子郵件地址來說,顯然不可能計算出所有的「反向列表」。不過,透過使用已知電子郵件地址的列表(例如多年來從各種資料外洩取得的電子郵件地址),就能夠如同電話號碼列表般,花差不多同樣的時間和硬碟空間建立並保存一個可能候選者的「反向字典」。

TLS不是可以阻止外洩嗎?

當然,AirDrop使用的連線通訊協定階段是透過TLS進行的,因此第三方攻擊者無法透過無線探測到經過雜湊的聯絡人資料。 即使使用越獄的手機,攻擊者也無法輕鬆架設一個經過修改的iOS核心,讓該核心能夠可靠地擷取AirDrop封包內容以進行後續破解。 但是,達姆施塔特的團隊在2019年的USENIX論文中已經「解決」了TLS問題,關鍵在於找出辦法來進行中間人攻擊(或稱MitM),用來對付AirDrop連線建立程序。

MitM的原理是,雖然X認為他們是直接與Y交談(將其表示為X<->Y),但是實際上是透過中間的M來代理或中繼通訊,如下所示:

X<->M<->Y。

當然,TLS應該透過允許兩端(如果需要)向另一端請求數位憑證,然後驗證對方的憑證已經由自己信任的機構進行數位簽章,以防範MitM攻擊。

而且,在僅限聯絡人模式下,AirDrop堅持要求每一端都提供由Apple本身最終簽署的憑證。

自我簽署憑證

但是,根據他們2019年發表的論文,如果收件者在AirDrop中使用所有人模式,則就允許使用自我簽署憑證。即使是從未連回到Apple去註冊Apple帳戶的iPhone也可以自我簽署,然後使用AirDrop。

在2019年的論文中,這些作者還想出一種方法來監看兩個使用者試圖啟動AirDrop連線,並利用假連線重置來干擾網路流量設定,讓連線無法進行………,並且他們還發現,如果兩個人嘗試分享檔案時遇到麻煩,很多時候接收者最終會對傳送者說:「等一下,我會先切換到所有人模式好了,說不定就沒有問題。」

此時,攻擊者可以啟動一個AirDrop裝置,使用與真實接收者相似的裝置名稱(例如使用John代替John的iPhone),欺騙傳送者連線到MitM裝置,再連線到現在對所有人開放的接收者,最後成為MitM。

賓果!一個成功的MitM攻擊!研究人員說,此時,可以讀出傳送者聯絡人列表的SHA-256雜湊值,並將列表中的聯絡人資料雜湊值與預先算好的表格進行比較。

這些研究人員聲稱:「我們已於2019年5月向Apple通報這個隱私漏洞。到目前為止,Apple尚未承認這個問題,也沒有表示他們會研究解決方案。」

或許,這就是為什麼研究人員撰寫了這一篇今年的USENIX論文,該論文提出一個經過修改的AirDrop聯絡人比對通訊協定。他們宣稱該通訊協定解決了上述這些問題,希望Apple將來能夠採用。

如何防範?

如你所知,這種攻擊需要很多變動的因素配合,因此攻擊者在很多地方都很需要幸運。

尤其,據我們所知,攻擊者得依賴接收者因為連線失敗然後轉換成所有人模式,還得要寄件者在嘗試連線時誤認列表中接收者的裝置名稱。

因此,如果想防禦這種攻擊:

‧如果不使用AirDrop,請關閉它。不管怎麼說,這都是最安全的做法。無須一直被其他AirDrop使用者看到你。

‧如果僅限聯絡人模式一直不成功,請不要盲目切換到所有人模式。如果是在私人場所中且傳送者可以信任,那麼或許沒問題,但是如果是在人多的咖啡廳或購物中心,那麼請記住,每個人模式是向周圍的所有人開放。

‧請注意與你連線的對象是誰。此外,研究人員使用的是類似「搶註」(搶先註冊網域)的手法,使用了和收件者裝置名稱雷同的假冒名稱。如果可行,請先讓接收者將他∕她的裝置名稱告訴你,這樣就不會誤判,選到類似但卻是假冒的裝置名稱。

<本文作者:Paul Ducklin是Sophos技術傳教士,也是熱情的安全推廣大使。Paul用簡單的語言闡述許多技術問題,並將電腦安全視為生命,並很樂意看到您也這樣做。>

 


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!