作者:安天聯合分析小組
一、概述
使用藍牙通信協議的設備數量隨著物聯網時代的開啟日益增多。近期,物聯網安全公司 Armis Labs 披露了一個攻擊向量 BlueBrone,稱攻擊者可利用一系列與藍牙相關的安全漏洞,在一定場景下可實現對具有藍牙功能的遠端設備的控制,進而竊取受害者數據,進行中間人攻擊以及在感染一個設備后蠕蟲式感染其它設備,且此攻擊方式無需向用戶申請認證授權,具有較大的危害性。為此,安天微電子與嵌入式安全實驗室和安天移動安全公司兩部門組成聯合分析小組,認真剖析了整個攻擊流程并做出威脅總結。
二、攻擊背景
藍牙協議是中短距離無線通信采用的常用協議,但由于其規則龐大、架構復雜、功能模塊繁多,且一些功能允許廠商自定義,直接導致很多藍牙設備并未選擇相對安全的加密通信方式;另外,一些設備由于自身性質原因,無法執行特定身份認證過程(例如藍牙耳機無法執行“密鑰輸入”安全模式,因為耳機設備上就沒有可供鍵盤輸入的接口) 。這是造成此次藍牙安全威脅的兩大直接原因。
此次攻擊首先需要知道目標設備的藍牙地址。由于很多用戶日常習慣默認開啟藍牙設備,便于攻擊者掃描進而獲得地址;另外在手機、電腦等設備中藍牙地址與無線WiFi地址很接近或完全相同,使得攻擊者很容易通過嗅探無線網絡數據包進而推出目標藍牙設備的地址。
不像其它驅動一樣,每個操作系統都只有一個藍牙協議棧,這導致一個漏洞的發現將會影響一系列基于此系統的設備。
三、安全漏洞
藍牙協議棧的主要模塊及此次安全威脅的漏洞分布(如圖3.1所示):
針對(CVE-2017-1000251)Linux 內核的 RCE(遠程控制執行)漏洞,攻擊者可利用此溢出漏洞向藍牙協議的 L2CAP 層發送畸形數據包,對目標設備進行惡意配置,為下一步攻擊做準備。
針對(CVE-2017-1000250)Linux BlueZ(藍牙協議棧)信息泄露漏洞,由于藍牙協議在設計規范方面存在不足,導致基于 SDP 模塊的“續傳模式”(SDP Continuation) 在上述內核溢出漏洞存在的前提下,在部分 Linux 與 Android 系統中會被攻擊者完全控制,進而執行進一步的堆溢出攻擊。
針對(CVE-2017-0785)Android 信息泄露漏洞,類似于在 Linux BlueZ 上的漏洞,利用 SDP 服務器的一個記錄數目整數值的下溢出漏洞,攻擊者可進而利用“續傳模式”在 Android 設備上反復傳輸指令,達到繞過計數驗證和 ASLR(Address space layout randomization,內存空間地址隨機化)保護機制的效果。
藍牙協議引入了的 SSP(Secure simple pairing,簡化安全配對)安全模式,提供了如下四種認證方式(如圖3.2所示):
因為很多藍牙設備自身或待連接的遠端設備不具有外置輸入接口以及顯示能力,故會采用“只比較不確認認證”的方式,而此方式無法進行可靠的身份認證過程。攻擊者在攻擊采用 Android 系統的設備(一些 Android 系統版本有效)時,其利用場景就是基于對方設備具備顯示和輸入能力,但攻擊者設備不具備輸入和顯示能力(攻擊者可自行構造此狀態)的情況,故可以遠程發起一個無需與目標設備的用戶進行交互的連接請求,接著建立連接并通信;對于采用Windows操作系統的設備(一些 Windows 系統版本有效),攻擊者采用同樣的原理,發起構造的“無輸入和顯示能力-無需 MITM(Man in the Middle,中間人攻擊)防護”的連接請求,接著完成認證并進行后續通信。因為攻擊者已經完成身份認證,而藍牙在幾乎所有操作系統中都具有最高權限,因而攻擊者具有訪問很多高權限服務的能力,進而實現對目標設備的進一步控制。
BNEP(Bluetooth network encapsulation protocol,藍牙網絡封裝協議 )能夠利用藍牙協議的功能實現網絡共享(例如,一臺連接有線網絡的電腦,可自建熱點并打開藍牙,讓一臺手機通過藍牙連接到此電腦進而實現共享網絡),且能夠添加數據包頭標記實現包含額外控制指令的功能。另外,在此協議層上可支持構建PAN(Personal Area Network,個人局域網絡),并提供對應的流量控制功能。 針對(CVE-2017-0781)Android REC 漏洞,由于 Android 上的 BNEP 服務在消息處理的代碼邏輯部分存在一處邏輯錯誤,使得繼8 bytes的堆溢出被觸發后,后續的緩存區大小填寫不受限制。
針對(CVE-2017-0782) Android REC 漏洞,由于Android上的BNEP服務在控制幀數據包處理的代碼邏輯部分存在一處記錄長度的數值的整型下溢出漏洞,且后續代碼并未對此數值及限制條件進行嚴格檢查,此漏洞可被用以繞過傳輸數據包過程中的 MTU(Maximum Transmisson Unit,最大傳輸單元)大小限制。
以上兩個漏洞可讓攻擊者在基于此前的漏洞建立BNEP的連接后,通過制定控制指令進而利用由此帶來的堆溢出漏洞使得遠程控制代碼被執行。通過漏洞利用的惡意代碼,基于 com.Android.bluetooth 服務的權限,攻擊者可訪問手機的文件系統(電話本、文檔、照片等),也可以通過自行模擬鍵盤、鼠標等設備,與目標設備相連接,實現更深入的控制。攻擊者甚至可以自建代理,通過藍牙接口實現“蠕蟲”式入侵其他設備的目的。
針對(CVE-2017-0783)Android 信息泄露安全漏洞和( CVE-2017-8628)Windows 信息泄露安全漏洞,攻擊者可構建 PAN 自組網絡,并設置自己為 NAP(Network Access Point,網絡訪問點),進而設置 DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)服務器構造惡意中繼,進行 MITM 攻擊。另外,PAN 協議文檔自2003年后就沒更新過,至今依舊是V1.0版本,這造成了安全缺失。
因為藍牙協議的部分功能允許廠商自定義,其中包括一些核心功能,因而蘋果公司自定義了多種規則,與藍牙協議一起共同構造了 L2CAP 協議層,即制定了蘋果公司的藍牙專有協議。此協議禁止了非用戶交互認證下的“Just Works”模式以及一些服務的連接構建,除非用戶給予授權,這大大降低了攻擊面。但各種自定義協議的嵌入也造成了一定的安全隱患。在基于蘋果專有的“Pipe Dream”協議設計的模式下,代碼的復用造成了新的攻擊面。
針對(CVE-2017-14315)Apple REC 漏洞,LEAP(Low energy audio protocol,低功耗語音協議),由于基于藍牙 BLE(Bluetooth low energy,低功耗藍牙)的語音控制命令傳輸在消息來源驗證方面存在邏輯漏洞,默認傳入的控制指令長度為104(0x68),對傳入指令大小驗證不嚴格可導致堆溢出漏洞,進而使得遠程控制代碼在 iOS 的藍牙協議棧上被執行。
四、影響范圍
根據分析,以下版本的操作系統會受到影響:
Linux: Linux kernel 3.3-rc1版本至Linux kernel 4.13.1版本;
Windows: Microsoft Windows Server 2016,Windows Server 2008 SP2,Windows RT 8.1,Windows 8.1,Windows 7 SP1,Microsoft Windows 10,Windows 10版本1511,Windows 10版本1607,Windows 10版本1703;
Android: 4.4.4版本,5.0.2版本,5.1.1版本,6.0版本,6.0.1版本,7.0版本,7.1.1版本,7.1.2版本,8.0版本;
iOS: iPhone, iPad, iPod在iOS 9.3.5及以下版本,AppleTV 7.2.2及以下版本(iOS10版本得到緩解)。
以下安全模式下的藍牙認證機制會受到影響:
Just Works: 只比較不確認認證模式。
注:關于基于其他系統的藍牙耳機、藍牙等設備原則來說不受影響,可以正常使用。但攻擊者會偽造自己的設備是一個只支持“Just Works”模式的藍牙外設去連接受害者的電腦/手機(目標用戶使用上述系統),而此過程不需要與用戶進行交互,會在用戶不知情的情況下連接至其設備。
五、安全建議
1.請用戶自行將系統升級至最新版本,并及時安裝更新補丁。對安全要求高的用戶,若對應系統/補丁暫未發布,建議請等待系統更新或補丁升級后再使用藍牙設備(Android8.1系統將于10月4日發布);
2.在日常生活中,不使用藍牙設備時將其關掉(此次組合攻擊模式在藍牙未開啟時無法進行攻擊);
3.因藍牙屬于中短距離無線通信協議,不建議在安裝更新和補丁前在公共場合等非信任場景下使用藍牙設備;
4.強烈建議不要使用藍牙共享網絡(包括 BNEP 和 PAN);
5.其他建議:日常生活中,面對無外接輸入和顯示功能的設備(即默認認證方式為“Just Works”方式的設備,如部分藍牙耳機、藍牙鼠標等),在無法信任此設備或無法確定此設備是否安全時(如路邊某咖啡廳的藍牙音響),請不要主動進行連接此設備。
六、安天的研究
安天長期關注硬件外設、信號等領域的新威脅、中短距離無線通信的安全防護等方向,安天在2004年,組建了微電子與嵌入式安全實驗室,并針對2.4G無線信號、藍牙、工業短距協議、受時信號等進行了多項研究探索,部分研發成果在歷年的XCon、ISF和XDef等重要行業安全會議上發表演講,展示研究成果,也引發了相關企業和單位對物聯網安全威脅的關注。安天移動安全公司針對車聯網等物聯網安全環節做了大量研究工作,并向主管部門提供了內部研究報告。
在最近的 XCon 安全峰會上,安天微嵌的工程師簡述了藍牙4.0通信的安全機制及機器學習預測模型的構建流程。并以藍牙4.0通信過程為例,通過無線電設備跟蹤跳頻、捕獲并破解藍牙鍵盤鍵入的數據,將加密通信數據、破解后的明文信息與同時記錄的流量特征進行對比分析,揭示了三者間的聯系及由此可能帶來的信息泄露威脅,同時用簡單的實例展現了安全風險。
本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/394/
暫無評論