SWEYNTOOTH機(jī)構(gòu)在最近發(fā)布的一篇報(bào)告中指出,在對(duì)BLE SOC芯片的SDK進(jìn)行測(cè)試時(shí)發(fā)現(xiàn),攻擊者可以根據(jù)情況觸發(fā)BLE SOC芯片協(xié)議棧死鎖,崩潰,緩沖區(qū)溢出,或者完全繞過安全性。
根據(jù)原廠的授權(quán),據(jù)初步統(tǒng)計(jì),TI,NXP,Cypress,Dialog,ST和Telink半導(dǎo)體廠商全部在列,但并非所有SoC供應(yīng)商列表都受SWEYNTOOTH影響。(詳見文章:SweynTooth爆出最新低功耗藍(lán)牙漏洞,多家知名藍(lán)牙芯片榜上有名)
據(jù)悉,目前各大原廠已經(jīng)公開發(fā)布各自的補(bǔ)丁修改問題,部分終端產(chǎn)品也因該問題被陸續(xù)曝光,包括知名手環(huán)廠商FITBIT,北美智能鎖制造商August等,但是只要產(chǎn)品支持BLE OTA升級(jí)功能,受影響的BLE SoC可通過軟件升級(jí)方式更新原廠固件。
作為一家專注于為車聯(lián)網(wǎng)和物聯(lián)網(wǎng)領(lǐng)域合作伙伴提供專業(yè)的OTA升級(jí)服務(wù)商,此問題同時(shí)也受到了艾拉比的格外關(guān)注。受此影響的可穿戴設(shè)備、智能家居、智能安防、消費(fèi)電子等也是艾拉比重點(diǎn)關(guān)注的領(lǐng)域。在此,我們對(duì)藍(lán)牙漏洞問題的本質(zhì)進(jìn)行了深層次的分析,提供了我們的一些思考。
艾拉比視角:源于未遵守BLE鏈接規(guī)范,可通過OTA解決
此問題的本質(zhì)是大部分藍(lán)牙廠商在BLE建立鏈接時(shí),違反了規(guī)范的定義。從細(xì)節(jié)上來說大部分設(shè)備都可以接受“hopIncrement”字段值小于5的連接請(qǐng)求。
“hopIncrement”是什么?它和Channel map一起決定了BLE數(shù)據(jù)傳輸過程中的跳頻算法。我們可以看到BLE的調(diào)頻策略基本如下:
1)首先,使用一個(gè)Basic的算法,利用lastUnmappedChannel和hopIncrement,計(jì)算出unmappedChannel。
a)lastUnmappedChannel在連接建立之初的值是0,每一次Connection Event計(jì)算出新的unmappedChannel之后,會(huì)更新lastUnmappedChannel。
b)hopIncrement是由Master在連接建立時(shí)隨機(jī)指定的,范圍是5到16
c)確定unmappedChannel的算法為:unmappedChannel = (lastUnmappedChannel + hopIncrement) mod 37,本質(zhì)上就是每隔“hopIncrement”個(gè)Channel取一次,相當(dāng)直白和簡單。
2)計(jì)算出unmappedChannel之后,查找當(dāng)前的Channel map,檢查unmappedChannel所代表的Channel是否為used channel。如果是,恭喜,找到了。Channel map也是由master,在連接建立時(shí),或者后來的Channel map update的時(shí)候指定的。
3)如果不是,將所有的used Channel以升序的方式見一個(gè)表,表的長度是numUsedChannels,用unmappedChannel和numUsedChannels做模運(yùn)算,得到一個(gè)index,從按照該index,從表中取出對(duì)應(yīng)的channel即可。
由上述策略可見,在建立鏈接時(shí)的不規(guī)范才是導(dǎo)致BLE可以被進(jìn)行惡意溢出攻擊問題所在。
那么,問題搞清楚了,出現(xiàn)的漏洞通過OTA該如何解決呢?
艾拉比物聯(lián)網(wǎng)研發(fā)總監(jiān)趙星認(rèn)為,如果只是普通的OTA應(yīng)用,依然會(huì)受制于這個(gè)漏洞導(dǎo)致風(fēng)險(xiǎn),所以在設(shè)計(jì)OTA功能時(shí),既要考慮OTA應(yīng)用和BLE設(shè)備的鏈接必須是符合規(guī)范要求,同時(shí)要保證BLE設(shè)備的OTA是完全認(rèn)證保障的,這樣才能保證整個(gè)傳輸鏈路不受這個(gè)漏洞的影響。
具體方案如下:
A)在BLE設(shè)備固件中增加一個(gè)只包含OTA應(yīng)用的分區(qū)程序,OTA升級(jí)之前,BLE設(shè)備進(jìn)行啟動(dòng)標(biāo)準(zhǔn)位設(shè)置,重啟后從OTA應(yīng)用分區(qū)啟動(dòng)
B)啟動(dòng)后,BLE設(shè)備只能進(jìn)行獨(dú)立分區(qū)的OTA升級(jí),設(shè)備廠商的OTA APP與BLE設(shè)備的OTA分區(qū)固件進(jìn)行認(rèn)證鏈接和安全性校驗(yàn),認(rèn)證校驗(yàn)通過后才可開始進(jìn)行OTA流程,修復(fù)BLE設(shè)備主應(yīng)用程序中的協(xié)議框架漏洞。
C)OTA升級(jí)完成后,進(jìn)行啟動(dòng)標(biāo)志位的修改,重啟BLE設(shè)備,設(shè)備會(huì)自動(dòng)進(jìn)入?yún)f(xié)議修復(fù)漏洞后的新版本。
通過安全的OTA協(xié)助廠商將這個(gè)漏洞進(jìn)行修復(fù),完成協(xié)議棧的升級(jí),這樣就可以保障受漏洞影響的設(shè)備不再受惡意攻擊。
隨著物聯(lián)網(wǎng)的快速發(fā)展和落地,越來越多的物聯(lián)網(wǎng)設(shè)備進(jìn)入了消費(fèi)者的使用場(chǎng)景中,與此同時(shí)物聯(lián)網(wǎng)設(shè)備安全問題近年來頻發(fā),得到了大家的廣泛關(guān)注。智能終端設(shè)備擁有OTA功能,已成為智能化產(chǎn)品的標(biāo)配。OTA不僅可以消除用戶對(duì)設(shè)備和數(shù)據(jù)安全性的顧慮還能幫助廠商解決安全故障所帶來的用戶流失,尤其是在出現(xiàn)諸如上述突發(fā)事件后,通過安全可靠的OTA機(jī)制,可以第一時(shí)間解決系統(tǒng)漏洞問題,并避免OTA本身引入的風(fēng)險(xiǎn)帶來的不可修復(fù)性事故。
-
芯片
+關(guān)注
關(guān)注
456文章
51067瀏覽量
425829 -
藍(lán)牙
+關(guān)注
關(guān)注
114文章
5851瀏覽量
170872 -
OTA
+關(guān)注
關(guān)注
7文章
585瀏覽量
35327
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論