新闻中心

EEPW首页>汽车电子>设计应用> 破解特斯拉的第一人解密 如何利用CAN 总线来黑掉你的汽车

破解特斯拉的第一人解密 如何利用CAN 总线来黑掉你的汽车

作者: 时间:2016-12-06 来源:雷锋网 收藏

  是的,只要车有总线设计。

本文引用地址://m.amcfsurvey.com/article/201612/341161.htm

  先看一下理论分析——汽车网络逆向过程主要分为4个步骤:筛选、定位、破解信号、验证和保存。

  第一步:筛选

  使用市面上一些 USB-的工具与汽车的 CAN 总线相连,可以获取 CAN 总线上广播的 CAN 数据包,从大量数据包中进行逆向分析,找到想要的 CAN 数据包。

  第二步:定位 CAN_ID

  对于车身的某一项功能的控制,只需要一个 CAN ID 的数据包即可,这时只需要单纯地重放即可达到攻击的目的,还有一些功能需要多个 CAN ID 的数据包联合才可以,还有一些 CAN ID 数据包上带有计数器,在攻击时必须加上计数器才能绕过预碰撞系统的阻碍。

  第三步:破解信号

  CAN_ID 的数据包里一共有8个字节,每一个字节代表什么以及这些字节上的数字都是不固定的,比如速度表上的数值是根据公式计算出来的,如果改变成想要的数值(就是电影里那样改变速度置人于死地),需要带入公式才能得到正确的结果。

  在测试的过程中需要触发汽车动作,再确定 CAN_ID 的变化,然后找到对应的值,这样就可以把信号和汽车动作破解出来了。

  第四步:验证和保存

  结合上述结果,做成 FUZZ 工具,进而发现更多的汽车漏洞,如果需要修复的话,当然也是可以的。

  实际操作起来,要不断解决一些困难。

  刘健皓说:“我们拿一些传统 USB 工具接到车上面,发现刷屏非常快,分析 CAN 协议时,看执行动作,眼睛都要花掉。”

  为了能清晰地分析数据,没有工具,那就自己造一个。因此,刘健皓及他的团队造出了一个“CAN—Pick”。这个“CAN—Pick”就是他们口中的“汽车安全总线测试平台”——测试汽车总线是否安全。

  其实,它也是一个万能车破解器。

  虽然,它的外表看上去没有那么酷炫狂拽,仅是一个可以连接车的小黑盒和一个软件平台。

  那么,究竟如何操作,这辆车就会被黑掉呢?

  拿着电脑和小黑盒连接到车身,车身在静止状态时也会产生一些数据,这些数据被称为干扰数据,第一步就是获得这些干扰数据。小黑盒连接上的时候,软件平台上就会出现可视化的干扰数据;然后,操作车灯,获得车灯操作时的数据包,与干扰数据进行比对,从而发现真正能够下达操作车灯的指令数据包。把这个新获得的数据包进行重放,那么就可以操作车灯。

  其它操作同理。

  360 车联网安全中心另一工程师严敏睿介绍:

  这款软件支持全平台,有多种硬件可以进行试配,不管是市面上的,还是自己开发出来的,都会提供 SDK,让你自己自行进行试配。同时可以在线编写一些插件,这些插件可以共享到服务端,也可以从服务端下载一些别人编写的插件进行共享,多个人可以同时对这款软件进行操作。

  这意味着,“全民”可以加入到“黑车”——哦,不,是测试车是否安全的平台中来。

如何利用CAN 总线来黑掉你的汽车

  既然 CAN 总线可以被攻击,这个工具也可以检测出一辆车是否安全,那么有没有什么方法可以阻止这一切发生?

  刘健皓表示,汽车总线设计之初是在封闭网络环境中使用,并没有考虑安全问题,对于总线网络结构及控制指令的设计,要增强各 ECU 之间的验证措施,包括使用时间戳和校验的方式防止重放破解攻击,提高控制协议被逆向的成本,同时要控制好联网部件的安全性。

  他们现在的思路是,对 CAN 总线进行安全加密,比如,在数据包中是否可以插入一些加密算法。刘健皓透露,目前,清华大学的研究团队也正在对这一领域进行研究。


上一页 1 2 下一页

关键词:CAN特斯拉

评论


相关推荐

技术专区

关闭