安全路透社
当前位置:安全路透社 > 网络转载 > 正文

小米九号平衡车国际版Ninebot mini PRO存在严重安全漏洞可被攻击者远程控制

segway-ninebot-minipro-hoverboard-hacking.png

前不久,电动平衡车无故着火和充电爆炸的新闻频现美国报端,以至于美国国家消防协会(NASFM)发布声明,建议消费者在购买平衡车时请确认商品通过认证测试,甚至建议消费者不要把平衡车放在无人看管之处以避免火灾发生。美国联邦贸易委员已经发布规定,要求任何进口到美国的电动平衡车必须符合美UL安全检测认证(Underwriters Laboratories)。而就在最近,安全研究机构IOActive研究员发现了小米生态链企业Segway&Ninebot制造的miniPRO平衡车存在多个关键安全漏洞,可导致严重影响。

2015年4月,Ninebot(天津纳恩博)获得了小米等四家机构联合投资,同时全资收购了国外平衡车公司赛格威(Segway),之后,在海外市场推出了Ninebot mini PRO平衡车。另据媒体称,Ninebot mini PRO为小米九号平衡车国际版。

http://v.youku.com/v_show/id_XMjkxMzQxOTkyOA==.html

研究说明

miniPRO配备有手机APP方便骑者对平衡车进行个性化设置,如灯光变换、远程控制、电量提示、固件升级和可续里程等,非常酷炫。出于好奇,我们打算对其固件和程序进行一些漏洞研究。从安全角度来说,如果确实存在漏洞,将会造成严重影响。

我们进一步研究后发现,相关安全规定只是要求平衡车符合一定的电气化规格,以避免电池着火和其它各种机械故障情况的发生,尽管固件也是系统安全性的一部分,但却没有任何确保固件完整性和有效性的规定要求。

在利用逆向工程和协议分析技术后,我们发现了miniPRO平衡车的多个严重漏洞,攻击者可以利用这些漏洞绕过Ninebot特有的系统安全设计,Ninebot凭该设计获得了首张全球售卖认证。

漏洞情况

绕过安全PIN码

经协议分析,我们发现可以不需获取骑者的PIN码就可向平衡车建立连接,我们可以绕过安全认证机制通过蓝牙与miniPRO连接,不需要任何安全PIN码。攻击者可以利用修改的Nordic UART蓝牙连接程序,不需要任何PIN码校验与miniPRO进行蓝牙连接。如从Nordic程序中发送以下Payload后,攻击者可以把平衡车PIN码更改为“111111”:

unsigned char payload[13] =
{0x55, 0xAA, 0x08, 0x0A, 0x03, 0x17, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0xAD,0xFE}; // Set The Hoverboard Pin to “111111”

01.jpg

利用新PIN码“111111”,攻击者可以启动自己的miniPRO手机APP直接与平衡车配对连接,而此时,由于新PIN码的设置生效,原本平衡车合法用户的所有控制操作都将被限制无效。

APP与平衡车之间未采用加密通信机制

由于miniPRO连接通信未设置任何加密机制,所以我们还能对骑者APP和平衡车之间的通信进行拦截窃取。如下抓包分析可知:

02.jpg

可以截获用户如下对PIN码的设置操作:

03.jpg

未对更新固件完整性采取安全验证

另外,在尝试使用一些恶意固件对miniPRO进行升级时,其未有任何固件安全性和完整性校验检查。这就意味着,攻击者可以对平衡车执行任意固件更新,实现某些安全联动装置绕过。利用DNS欺骗,结合对有效域名apptest.ninebot.cn的A记录更改,构建服务器设置跳转指向,攻击者可以实现向平衡车推送任意固件镜像更新,方法如下:

http://apptest.ninebot.cn页面下,更改/appversion/appdownload/NinebotMini/version.json文件,设置如下的恶意固件版本和大小内容,即版本1.3.3.7,文件大小为50212字节。

“CtrlVersionCode":["1337","50212"]

新建一个包含恶意压缩固件的对应目录和文件夹:

/appversion/appdownload/NinebotMini/v1.3.3.7/Mini_Driver_v1.3.3.7.zip

更新启动后,平衡车将会从apptest.ninebot.cn链接升级新版本的固件更新。

泄露平衡车骑者GPS信息

而在对miniPRO手机APP进行测试时,可利用miniPRO手机APP中的“Rider Nearby”功能,对附近平衡车骑者的手机GPS信息进行检索发现,这些泄露的GPS信息,很容易被恶意攻击者利用。

04.png

漏洞影响

尽管miniPRO在APP启动时会要求用户输入PIN码,但在协议层的用户连接功能上未进行有效验证,导致攻击者可以利用暴露的蓝牙接口进行低级别攻击。另外,由于设备未使用加密通信设置,其通信可被攻击者远程拦截窃取。

设备不该存在可访问的管理接口,攻击者可以利用该暴露接口远程提权。在该测试中,我可以进一步利用这种漏洞,或对平衡车控制系统执行不需任何认证措施的恶意固件更新。

嵌入式系统的固件完整性检查是必须的。一些未经验证的恶意固件会对设备控制系统造成严重破坏,攻击者藉此还能执行其它恶意操作,如更新删除、电池和蓝牙模块的配置参数修改等。

防护措施

执行固件完整性检查

使用蓝牙预共享密钥或PIN码认证

在手机APP应用和平衡车之间的无线通信中使用强加密机制

在平衡车和蓝牙连接之间使用一对一的“配对模式”

在手机APP应用中实施对骑者的隐私信息保护

漏洞报送和修复

在以上漏洞被发现后,我们第一时间与Ninebot取得联系,并就其中问题进行沟通。Ninebot目前已发布了升级版本的APP应用,并及时修复了相关漏洞问题,建议miniPro用户及时前往Ninebot官网获取更新信息。更多漏洞信息请参考 IOActive研究报告

2016年12月          IOActive进行miniPro平衡车的漏洞安全测试

2016年12月24日  IOActive 通过Ninebot公开邮箱建立联系接触

2017年1月4日      Ninebot回复IOActive

2017年1月27日        IOActive向Ninebot披露具体漏洞情况

2017年4月            Ninebot发布了APP应用的3.20更新

2017年4月17日     Ninebot告知IOActive漏洞已经修复完成

2017年7月19日     IOActive公布漏洞

*参考来源:IOActive,freebuf小编clouds编译  

未经允许不得转载:安全路透社 » 小米九号平衡车国际版Ninebot mini PRO存在严重安全漏洞可被攻击者远程控制

赞 (0)
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册