BleedingBit漏洞分析報告
報告編號:B6-2018-110702
報告來源:360無線電安全研究院
報告作者:360無線電安全研究院
更新日期:2018-11-07
0x00 CVE-2018-16986
原理
BLE裝置在LL層有5種狀態,分別為 待機狀態(standby)沒有連線任何裝置,沒有傳輸和傳送資料;廣播狀態(Advertiser/advertising);週期性廣播;掃描狀態(Scanner/scanning)主動尋找正在廣播的裝置;觸發狀態(Initiator/initiating):主動發起連線;連線狀態(connected) 連線完成。
狀態機如下:

主裝置和從裝置開始連線時,從裝置從待機狀態進入廣播態,週期性傳送廣播包(advertising packets)。主裝置會掃描從裝置傳送的廣播包,對接收到的廣播包進行處理。如需連線,主裝置會主動發起連線從裝置。連線完成後,主從裝置都會進入連線態,進行資料通訊。
廣播包的的包結構如下

其中長度域標識廣播包資料載荷的長度,合法值為6 ~ 37。此取值範圍由BLE協議所決定,但是6位元數的取值最大範圍為64。 如果協議棧並未對廣播包分配大於64位元組的記憶體,且在接收到廣播包時未判斷長度域的有效性,就可能會造成快取區的溢位。
研究人員可能構造了長度域非法的廣播包,並利用了快取區溢位漏洞進行攻擊。 首先,攻擊者傳送多個合法廣播包,這些包將被儲存在目標裝置的儲存器上。這些包不是有害的,但它們包含稍後將由攻擊者呼叫的程式碼。 接下來,攻擊者傳送溢位資料包,這個包使晶片從長度域得到的需要分配記憶體空間比它實際需要的空間要大,從而觸發了記憶體溢位。洩漏的儲存器包含函式指標——指向特定程式碼段的記憶體,攻擊者可以利用這些程式碼段指向在攻擊的前一階段傳送到易受攻擊晶片的程式碼。
威脅描述
- 距離受限。需要攻擊者在藍芽廣播包覆蓋範圍內攻擊。
- 只對主裝置有效。由於漏洞是主裝置在掃描廣播時快取溢位造成的,研究人員也並未披露從裝置在接收掃描請求包或連線請求包時也會有此漏洞,因此該漏洞並不會對從裝置造成影響。目前絕大多數BLE裝置都是作為從機使用,該漏洞對於作為主機的裝置和有角色切換應用的裝置有較大威脅。
影響範圍
- CC2640(非 R2版本)和CC2650,且協議棧為V2.2.1或更早版本
- CC2640R2F ,協議棧為simpleLink CC2640R2 SDK 1.00.00.22 (BLE-STACK 3.0.0)或更早版本的使用者
- CC1350,協議棧為SimpleLink CC13x0 SDK version 2.20.00.38 (BLE-STACK 2.3.3) 或更早版本
緩解措施
TI已經更新協議棧,目前版本為V2.2.2。
- 使用CC2640(非 R2版本)和CC2650,且協議棧為V2.2.1或更早版本的使用者,建議將協議棧更新到V2.2.2
- 使用CC2640R2F ,協議棧為simpleLink CC2640R2 SDK 1.00.00.22 (BLE-STACK 3.0.0)或更早版本的使用者,建議將協議棧更新到SimpleLink CC2640R2F SDK version 1.30.00.25 (BLE-STACK 3.0.1) 或更高版本。
- 使用CC1350,協議棧為SimpleLink CC13x0 SDK version 2.20.00.38 (BLE-STACK 2.3.3) 或更早版本的使用者,建議將協議棧更新到SimpleLink CC13x0 SDK version 2.30.00.20 (BLE-STACK 2.3.4)或更高版本。
0x01 CVE-2018-7080
該漏洞針對於Aruba的Access Point 300 系列產品,該系列產品使用了TI 的BLE晶片並應用了晶片提供的OAD(Over the Air firmware Download)功能。
原理
OAD功能實際是為了晶片的韌體升級而預留的後門。

TI的ODA分為安全的ODA和非安全的ODA兩種。 安全的ODA指新下載的韌體作為OAD過程的一部分進行身份驗證。
Aruba的Access Point 300系列產品中,只應用了硬編碼的密碼對OTA過程進行保護,並未對下載的韌體進行身份認證。研究人員發現通過Aruba官方下載的的韌體或連線硬體可以恢復出硬編碼密碼,並且通過此密碼訪問BLE裝置。
威脅描述
危害性較大。使用TI BLE晶片,應用了ODA功能且未對升級韌體進行身份認證的產品可能會受到攻擊。
影響範圍
- CC2642R
- CC2640R2
- CC2640
- CC2650
- CC2540
- CC2541
Aruba
- AP-3xx and IAP-3xx series access points
- AP-203R
- AP-203RP
- ArubaOS 6.4.4.x prior to 6.4.4.20
- ArubaOS 6.5.3.x prior to 6.5.3.9
- ArubaOS 6.5.4.x prior to 6.5.4.9
- ArubaOS 8.x prior to 8.2.2.2
- ArubaOS 8.3.x prior to 8.3.0.4
0x02 後續
目前,上述漏洞的攻擊細節尚未詳細披露,我們後續將繼續跟進漏洞情況。
0x03 時間線
2018-11-02 漏洞披露
2018-11-02 360CERT 釋出漏洞預警
2018-11-07 360無線電安全研究院釋出漏洞報告
0x04 參考連結
- https://armis.com/bleedingbit/
- BleedingBit藍芽晶片遠端程式碼執行漏洞預警
宣告:本文來自360CERT,版權歸作者所有。文章內容僅代表作者獨立觀點,不代表安全內參立場,轉載目的在於傳遞更多資訊。如需轉載,請聯絡原作者獲取授權。