研究人員在Realtek RTL8762E SDK v1.4.0中發(fā)現(xiàn)一個重大安全漏洞,攻擊者可利用藍牙低功耗(BLE)安全連接配對過程發(fā)起拒絕服務攻擊。該漏洞存在于RTL8762EKF-EVB開發(fā)平臺中,源于配對序列期間協(xié)議狀態(tài)轉換的驗證機制存在缺陷。
惡意攻擊者可通過精心構造的數(shù)據(jù)包注入攻擊破壞安全連接,且無需特殊權限或認證即可實施攻擊。
漏洞概要:
- Realtek RTL8762E SDK v1.4.0存在嚴重漏洞,由于藍牙配對序列驗證不當,可導致拒絕服務攻擊
- 攻擊者可注入提前發(fā)送的配對隨機數(shù)數(shù)據(jù)包來中斷BLE連接
- 漏洞利用會導致配對失敗并阻斷安全BLE連接
- 修復方案需要在BLE協(xié)議棧中強制執(zhí)行正確的消息排序
Realtek藍牙配對協(xié)議缺陷分析
據(jù)楊挺分析,該漏洞利用了BLE協(xié)議棧在實現(xiàn)安全連接配對協(xié)議時的根本性缺陷。根據(jù)《藍牙核心規(guī)范v5.3》,配對過程要求嚴格的消息順序——配對隨機數(shù)消息必須在成功交換配對公鑰后才能發(fā)送。然而受影響的Realtek SDK未能執(zhí)行這一關鍵順序要求。
根本原因在于安全管理器協(xié)議(SMP)層中的狀態(tài)驗證不足。BLE協(xié)議棧在處理傳入的配對隨機數(shù)數(shù)據(jù)包時,未驗證公鑰交換階段是否已完成,這違反了藍牙規(guī)范中定義的預期狀態(tài)機轉換。該實現(xiàn)缺陷導致設備會接受提前發(fā)送的配對隨機數(shù)數(shù)據(jù)包,從而觸發(fā)未定義的內(nèi)部狀態(tài),破壞配對過程的完整性。
該漏洞專門影響運行Realtek RTL8762E SDK v1.4.0的RTL8762EKF-EVB設備,問題存在于BLE安全連接配對邏輯組件中。技術分析表明,當設備錯誤處理提前發(fā)送的數(shù)據(jù)包時,就會發(fā)生狀態(tài)機違規(guī),導致協(xié)議不一致,從而阻止成功認證和連接建立。
概念驗證攻擊序列展示了漏洞利用的簡易性:攻擊者首先與RTL8762EKF-EVB設備建立初始BLE通信,然后通過提前發(fā)送精心構造的配對隨機數(shù)數(shù)據(jù)繞過正常協(xié)議流程,成功觸發(fā)導致配對過程中止的狀態(tài)機錯誤。攻擊腳本pairing_random_before_pairing_public_key.py提供了重現(xiàn)該漏洞的實現(xiàn)細節(jié)。
修復建議
該漏洞對使用Realtek BLE實現(xiàn)的嵌入式系統(tǒng)構成重大安全威脅,因為攻擊者無需特殊權限或復雜工具即可利用。建議修復方案包括在SMP層實施全面的狀態(tài)驗證,確保嚴格遵守協(xié)議規(guī)范。開發(fā)人員應修改BLE協(xié)議棧,根據(jù)SMP狀態(tài)機要求丟棄任何不按順序接收的消息,特別要確保只有在雙方成功交換配對公鑰后才能接受配對隨機數(shù)數(shù)據(jù)包。
使用受影響Realtek SDK版本的組織應優(yōu)先更新至已修復的固件版本,并考慮實施網(wǎng)絡級監(jiān)控以檢測針對其BLE基礎設施的潛在攻擊嘗試。