多家知名蓝牙芯片漏洞被曝,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本身引入的风险带来的不可修复性事故。

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