多家知名藍牙芯片漏洞被曝,OTA該如何救場?

SWEYNTOOTH機構在最近發佈的一篇報告中指出,在對BLE SOC芯片的SDK進行測試時發現,攻擊者可以根據情況觸發BLE SOC芯片協議棧死鎖,崩潰,緩衝區溢出,或者完全繞過安全性。

根據原廠的授權,據初步統計,TI,NXP,Cypress,Dialog,ST和Telink半導體廠商全部在列,但並非所有SoC供應商列表都受SWEYNTOOTH影響。(詳見文章:SweynTooth爆出最新低功耗藍牙漏洞,多家知名藍牙芯片榜上有名)

據悉,目前各大原廠已經公開發布各自的補丁修改問題,部分終端產品也因該問題被陸續曝光,包括知名手環廠商FITBIT,北美智能鎖製造商August等,但是隻要產品支持BLE OTA升級功能,受影響的BLE SoC可通過軟件升級方式更新原廠固件。

作爲一家專注於爲車聯網和物聯網領域合作伙伴提供專業的OTA升級服務商,此問題同時也受到了艾拉比的格外關注。受此影響的可穿戴設備、智能家居、智能安防、消費電子等也是艾拉比重點關注的領域。在此,我們對藍牙漏洞問題的本質進行了深層次的分析,提供了我們的一些思考。

艾拉比視角:源於未遵守BLE鏈接規範,可通過OTA解決

此問題的本質是大部分藍牙廠商在BLE建立鏈接時,違反了規範的定義。從細節上來說大部分設備都可以接受“hopIncrement”字段值小於5的連接請求。

“ hopIncrement”是什麼?它和Channel map一起決定了BLE數據傳輸過程中的跳頻算法。我們可以看到BLE的調頻策略基本如下:

1)首先,使用一個Basic的算法,利用lastUnmappedChannel和hopIncrement,計算出unmappedChannel。

a)lastUnmappedChannel在連接建立之初的值是0,每一次Connection Event計算出新的unmappedChannel之後,會更新lastUnmappedChannel。

b)hopIncrement是由Master在連接建立時隨機指定的,範圍是5到16

c)確定unmappedChannel的算法爲:unmappedChannel = (lastUnmappedChannel + hopIncrement) mod 37,本質上就是每隔“hopIncrement”個Channel取一次,相當直白和簡單。

2)計算出unmappedChannel之後,查找當前的Channel map,檢查unmappedChannel所代表的Channel是否爲used channel。如果是,恭喜,找到了。Channel map也是由master,在連接建立時,或者後來的Channel map update的時候指定的。

3)如果不是,將所有的used Channel以升序的方式見一個表,表的長度是numUsedChannels,用unmappedChannel和numUsedChannels做模運算,得到一個index,從按照該index,從表中取出對應的channel即可。

由上述策略可見,在建立鏈接時的不規範纔是導致BLE可以被進行惡意溢出攻擊問題所在。

那麼,問題搞清楚了,出現的漏洞通過OTA該如何解決呢?

艾拉比物聯網研發總監趙星認爲,如果只是普通的OTA應用,依然會受制於這個漏洞導致風險,所以在設計OTA功能時,既要考慮OTA應用和BLE設備的鏈接必須是符合規範要求,同時要保證BLE設備的OTA是完全認證保障的,這樣才能保證整個傳輸鏈路不受這個漏洞的影響。

具體方案如下:

A) 在BLE設備固件中增加一個只包含OTA應用的分區程序,OTA升級之前,BLE設備進行啓動標準位設置,重啓後從OTA應用分區啓動

B) 啓動後,BLE設備只能進行獨立分區的OTA升級,設備廠商的OTA APP與BLE設備的OTA分區固件進行認證鏈接和安全性校驗,認證校驗通過後纔可開始進行OTA流程,修復BLE設備主應用程序中的協議框架漏洞。

C) OTA升級完成後,進行啓動標誌位的修改,重啓BLE設備,設備會自動進入協議修復漏洞後的新版本。

具體的分區如下圖所示:

Bootloader

Firmware

OTA Updater

NVItem

Patch Storage

通過安全的OTA協助廠商將這個漏洞進行修復,完成協議棧的升級,這樣就可以保障受漏洞影響的設備不再受惡意攻擊。

隨着物聯網的快速發展和落地,越來越多的物聯網設備進入了消費者的使用場景中,與此同時物聯網設備安全問題近年來頻發,得到了大家的廣泛關注。智能終端設備擁有OTA功能,已成爲智能化產品的標配。OTA不僅可以消除用戶對設備和數據安全性的顧慮還能幫助廠商解決安全故障所帶來的用戶流失,尤其是在出現諸如上述突發事件後,通過安全可靠的OTA機制,可以第一時間解決系統漏洞問題,並避免OTA本身引入的風險帶來的不可修復性事故。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章