Yousong
一个高尚的工程师! 一个纯粹的工程师! 一个有道德的工程师! 一个脱离了高级趣味的工程师! 一个有益于妇女的工程师! ----白求恩的兄弟白球干

一清二白遭受技术封锁,不畏强权人肉破解成功

经过2周的ppt大战车路云,L4样车终于在上周一转到我手里,前提还是承诺他们24小时能恢复的条件。

原本计划进行简单硬件改造把跳过他们的路由转发设备,但鉴于上述条件,和30岁的童工简单商量后,我们打算不动硬件,直接在他的硬件上开发。

首先是在现有硬盘上分区出来重新装一个系统,隔离开供应商的系统,避免我们开发影响到原有系统导致食言兄弟部门。第一个难题来了,由于供应商做了一些奇怪的加密,导致我们安装的系统在grub里面怎么都看不到,而且供应商还不向我们提供root账户权限,在网上搜到的一些方法都因为没有root无法尝试,迫于无奈, 我们 尝试在U盘上装了个系统,打算跑在U盘里,结果歪打误着,选择U盘的引导的时候,把之前装在硬盘上的ubuntu暴露出来了,于是操作系统的问题解决了—【 两天半 】

OS平台搞定后,装ROS,向日葵,各种工具,搞定激光雷达数据,8个摄像头数据,看似一帆风顺–【两天】

与此同时我们也友好的和供应商协商让他开放底盘网关的以太网转发协议,一开始他们是答应的,而且窃以为这也不是什么技术核心,只是一个他们定义的转发规则而已。后来不知出于什么原因突然就反悔且非常坚决,动之以情晓之以理促膝长谈皆无法动摇其技术封锁的决心,奈何 合作协议也没有要求这一项,这条合作之路只能作罢

逆向工程向来是中国土鳖工程师的首选:捋清楚以太网转CAN的硬件线路,发现其中间跨接了一个交换机,这个交换机给攻击提供了路子,现学现卖ARP攻击,把我的电脑接到路由上,Ettercap进行ARP毒化后,所有底盘发给计算平台的数据都从我的电脑上走了一圈,此时再打开wireshark,数据出现了,IP地址,端口等等所有底盘和工控机的交互尽收眼底,和童工一起开心的像个36岁的童工–【一天】

数据包拿到了,就差最后一步分析数据转发规则,最底层的CAN协议我们通过第三方已经拿到了,一开始我以为只是一个简单的加时间戳和包头的透传,对于这种方式基本上半天就能完成分析,这个分析是纯人肉,通过大量的数据找规则,然鹅,这次大意了。。。

通过CAN ID的关键字搜索,发现有出现,但出现的规律性不强,楼上楼下跑了好多次,抓了6包数据,学习wireshark各种过滤规则,经过18小时盯着一对对数据分析,终于在要放弃时候灵感触发,抓紧时间顺藤摸瓜猜出了数据规则。结论是,CAN ID已经被转义成自定义的功能字段,内容也转义了(时间戳还很奇怪,ABCD被排列成了BADC,误导我以为D是校验字,换CRC checksum对了好久都没对出来 ) 。现在什么字段是什么类型的含义规则已经浮现出了,只需要挨个传感器触发出来重新做一张原本应该供应商提供给我们的协议字段映射表,就算大功告成,剩下的只是时间和耐心–【两天】

上行数据创造抓包环境比较简单,但是下行控制数据一定要自动驾驶工况跑起来才会出现,所以以上只是获取了上行部分的规则,但基于上行规则已知的情况猜下行就比较简单了,来年在搞

这次破解,虽然耗费的工时应该抵得上几张can卡了,但是这让我们有了选择的能力,而不是只能买can卡!更重要的是,这样一套系统两个门外汉一周就摸清楚了,那我们以后自己做的系统要去应对全天下的hacker,我们应该怎么设计自己的系统保护用户的安全,值得思考!!更更重要的是,即使在这种高强度的工作状态下,我依然带领我们宿舍荣获整洁宿舍前五,我为我与生自来的洁癖感到自豪!!!党国领导下的生活,太有趣了!!

图片要充分体现我党很重视个人隐私

You may also like...

1 Response

  1. scateu说道:

    不理解为啥他们要藏这点协议… 开发者关系事业部要写周报么?

    btw: 我刚刚把贵博客收录在这里了哈~ https://github.com/tuna/blogroll/blob/master/README.md

发表评论

邮箱地址不会被公开。 必填项已用*标注