车联网安全之ICSim模拟器使用

谈思汽车 2024-06-03 11:43

 智能汽车安全新媒体 

最近对于车联网安全非常有兴趣,但是不知道怎么入门,无意间发现了ICSim,可以用来简单模拟一下汽车,学习了一段时间后决定写一下笔记,怕自己学完就忘记了(仅供学习参考)。

01

介绍

ICSim 是一个用于模拟车辆仪表集群的工具,专门为 SocketCAN 设计。SocketCAN 是 Linux 内核中的一个模块,用于支持控制器局域网(CAN)接口。

主要特点

仪表集群模拟:ICSim 可以模拟车辆仪表盘,包括速度表、转速表、燃油表等。这对于开发和测试基于 CAN 总线的汽车电子系统非常有用。

与SocketCAN集成:ICSim 与 Linux 的 SocketCAN 接口集成,允许用户通过标准的 SocketCAN 工具与模拟器进行通信和调试。

教育和开发:它是汽车网络和协议学习的一个极佳工具,可以帮助工程师、研究人员和学生理解 CAN 总线的工作原理和应用。

使用场景

软件开发:在开发车辆电子控制单元(ECU)时,可以使用 ICSim 进行初步测试,而无需实际的车辆硬件

教学和培训:提供一个虚拟的车辆环境,便于教学 CAN 总线通信

调试和验证:与实际车辆硬件的连接前,先在模拟环境中验证通信和功能。

项目地址:zombieCraig/ICSim: Instrument Cluster Simulator (github.com)

02

安装

安装过程比较简单,首先是安装依赖:

然后克隆项目:

之后就是编译项目了:

编译成功之后应该会多出这两个文件,这两个文件就是我们最后需要用到的程序,一个是仪表盘(icsim),一个是遥控器(control)。

03

使用

我们每次使用之前,都需要运行一下setup_vcan.sh程序,程序主要内容就是启用一个can0网络接口设备,我们可以输入ifconfig查看。

接下来就是启动模拟程序了,输入以下命令即可启动程序,我们就可以开始控制我们的仪表盘了,我把所有的命令都放在下方表格里面,当然了,也可以接入手柄进行操作。

这边需要注意的是,左shift代表的是键盘左边的shift键,右shift代表的是键盘右边的shift键。

捕获can流量

1. candump

相信大家通过上面的步骤以及可以开始玩起来了,但是我们最终目的是为了学习,所以接下来我们来捕获我们的can流量。

我们输入下面的命令即可捕获我们的can流量,会以日志文件的方式保存下来

报文的格式大概如下所示,前面是时间戳,后边是设备,最后就是我们的can报文,分为ID和数据,以#分割,这里先不详细介绍can报文的格式,后面可能专门写一篇文章,因为这篇文章主要介绍工具安装和使用。

2. cansniffer

cansniffer能够动态显示我们的can报文变化状态,对于can报文的逆向起到很大的帮助作用,使用命令如下所示:

一直在变化的会显示为红色,所以可以快速的定位can报文,比如当你开门的时候,就会多出来一条can报文,就很便于我们寻找can报文。(当然这不是cansniffer的完整功能,比如筛选功能就没展示,只是我们后面有强大的GUI工具,所以这里就不介绍了)

3. wireshark

这个可太经典了,可以说流量分析必备了,但是分析CAN报文,我们有更专业的工具,但是不可否认wireshark非常的好用,每次打开都是一场酣畅淋漓的流量分析!!!

4. SavvyCAN

SavvyCAN 是一个功能强大的 CAN 总线分析工具,主要用于捕获、分析和记录 CAN 总线数据。它提供了一个图形用户界面,使用户可以直观地查看和分析 CAN 网络中的数据。

① 主要特点:

  • 数据捕获:可以实时捕获 CAN 总线上的数据帧,并将其显示在用户界面中。

  • 数据分析:提供多种分析工具,帮助用户理解和解析 CAN 数据。例如,数据过滤、信号解码和图形化显示。

  • 数据记录和回放:能够记录 CAN 数据到文件,并可以在以后回放,以便于调试和验证。

  • 与硬件兼容:支持多种 CAN 硬件接口,如 USB-CAN 适配器,兼容性广泛。

  • 多平台支持:可以在 Windows、Linux 和 macOS 系统上运行。

②使用场景:

  • 实时监控:在车辆运行时实时监控 CAN 总线数据,帮助诊断和调试车辆系统。

  • 数据记录:记录长时间的 CAN 总线活动,用于后期分析和验证。

  • 协议逆向工程:分析未知的 CAN 协议和数据帧格式,进行逆向工程。

  • 系统调试:与其他 CAN 工具一起使用,如 ICSim,进行系统级别的调试和验证。

这个工具肥肠好用,也是开源工具,这里给出项目地址,collin80/SavvyCAN: QT based cross platform canbus tool (github.com)

这些工具我都star了,因为非常好用。这个软件分为windows和Linux,这边建议大家使用Linux,因为ICSim安装在LInux,到时候我们需要接入ICSim玩波大的,哈哈哈!!!!当然了,再安装一个到windows静态分析也是很不错的。

但是这个在Linux安装有点复杂,需要自己编译一下,这里给出安装步骤,然后需要用到的文件我也放网盘里面便于大家下载。https://www.123pan.com/s/g8ibVv-3VQ8d.html 提取码:o7aU

QT链接:

https://download.qt.io/archive/qt/5.14/5.14.2/qt-opensource-linux-x64-5.14.2.run

安装qt的话,大家直接安装到一个目录就行(断网安装不用注册),比如我的是/home/kali/QT/,所以我编译SavvyCAN的时候使用的命令就是:

编译之后就开始连接我们的can设备了,下方图示很清楚了,就不再赘述了。

然后我们选择逆向工具里面的sniffer,就会发现和之前那个命令行工具cansniffer很相似,这个的话,红色是无规律变化,绿色是有规律变化,下方还能过滤报文,非常好用哈!

重放can报文

1. cansend

输入如下命令,左前方车门便被打开。

2. SavvyCAN

本来SavvyCAN有一个发送帧的功能,但是好像最近用不了了,我到时候看看老版的行不行。

左转向灯打开了

然后这是重放报文攻击,是可以工作的,可以看到车门被我们打开了。

04

总结

本来准备写一点点的,结果写着写着就变多了,关键还没写完。主要是那个新版BUG卡我好久,那这篇文章就到这里了,后面的教程等我慢慢出(也可能没了,哈哈哈哈哈)。

参考:

【车联网安全-把玩汽车安全模拟器ICSim】 

Hacking All The Cars - CAN总线逆向

内容来源:

https://blog.csdn.net/weixin_66578482/article/details/139398209

-  THE END  -



 专业社群 


精品活动推荐

因文章部分文字及图片涉及到引用,如有侵权,请及时联系17316577586,我们将删除内容以保证您的权益。

谈思汽车 智能汽车安全新媒体
评论
  • 概述 说明(三)探讨的是比较器一般带有滞回(Hysteresis)功能,为了解决输入信号转换速率不够的问题。前文还提到,即便使能滞回(Hysteresis)功能,还是无法解决SiPM读出测试系统需要解决的问题。本文在说明(三)的基础上,继续探讨为SiPM读出测试系统寻求合适的模拟脉冲检出方案。前四代SiPM使用的高速比较器指标缺陷 由于前端模拟信号属于典型的指数脉冲,所以下降沿转换速率(Slew Rate)过慢,导致比较器检出出现不必要的问题。尽管比较器可以使能滞回(Hysteresis)模块功
    coyoo 2024-12-03 12:20 153浏览
  • 作为优秀工程师的你,已身经百战、阅板无数!请先醒醒,新的项目来了,这是一个既要、又要、还要的产品需求,ARM核心板中一个处理器怎么能实现这么丰富的外围接口?踌躇之际,你偶阅此文。于是,“潘多拉”的魔盒打开了!没错,USB资源就是你打开新世界得钥匙,它能做哪些扩展呢?1.1  USB扩网口通用ARM处理器大多带两路网口,如果项目中有多路网路接口的需求,一般会选择在主板外部加交换机/路由器。当然,出于成本考虑,也可以将Switch芯片集成到ARM核心板或底板上,如KSZ9897、
    万象奥科 2024-12-03 10:24 86浏览
  •         温度传感器的精度受哪些因素影响,要先看所用的温度传感器输出哪种信号,不同信号输出的温度传感器影响精度的因素也不同。        现在常用的温度传感器输出信号有以下几种:电阻信号、电流信号、电压信号、数字信号等。以输出电阻信号的温度传感器为例,还细分为正温度系数温度传感器和负温度系数温度传感器,常用的铂电阻PT100/1000温度传感器就是正温度系数,就是说随着温度的升高,输出的电阻值会增大。对于输出
    锦正茂科技 2024-12-03 11:50 135浏览
  • TOF多区传感器: ND06   ND06是一款微型多区高集成度ToF测距传感器,其支持24个区域(6 x 4)同步测距,测距范围远达5m,具有测距范围广、精度高、测距稳定等特点。适用于投影仪的无感自动对焦和梯形校正、AIoT、手势识别、智能面板和智能灯具等多种场景。                 如果用ND06进行手势识别,只需要经过三个步骤: 第一步&
    esad0 2024-12-04 11:20 89浏览
  • 当前,智能汽车产业迎来重大变局,随着人工智能、5G、大数据等新一代信息技术的迅猛发展,智能网联汽车正呈现强劲发展势头。11月26日,在2024紫光展锐全球合作伙伴大会汽车电子生态论坛上,紫光展锐与上汽海外出行联合发布搭载紫光展锐A7870的上汽海外MG量产车型,并发布A7710系列UWB数字钥匙解决方案平台,可应用于数字钥匙、活体检测、脚踢雷达、自动泊车等多种智能汽车场景。 联合发布量产车型,推动汽车智能化出海紫光展锐与上汽海外出行达成战略合作,联合发布搭载紫光展锐A7870的量产车型
    紫光展锐 2024-12-03 11:38 121浏览
  • RDDI-DAP错误通常与调试接口相关,特别是在使用CMSIS-DAP协议进行嵌入式系统开发时。以下是一些可能的原因和解决方法: 1. 硬件连接问题:     检查调试器(如ST-Link)与目标板之间的连接是否牢固。     确保所有必要的引脚都已正确连接,没有松动或短路。 2. 电源问题:     确保目标板和调试器都有足够的电源供应。     检查电源电压是否符合目标板的规格要求。 3. 固件问题: &n
    丙丁先生 2024-12-01 17:37 111浏览
  • 最近几年,新能源汽车愈发受到消费者的青睐,其销量也是一路走高。据中汽协公布的数据显示,2024年10月,新能源汽车产销分别完成146.3万辆和143万辆,同比分别增长48%和49.6%。而结合各家新能源车企所公布的销量数据来看,比亚迪再度夺得了销冠宝座,其10月新能源汽车销量达到了502657辆,同比增长66.53%。众所周知,比亚迪是新能源汽车领域的重要参与者,其一举一动向来为外界所关注。日前,比亚迪汽车旗下品牌方程豹汽车推出了新车方程豹豹8,该款车型一上市就迅速吸引了消费者的目光,成为SUV
    刘旷 2024-12-02 09:32 131浏览
  • 遇到部分串口工具不支持1500000波特率,这时候就需要进行修改,本文以触觉智能RK3562开发板修改系统波特率为115200为例,介绍瑞芯微方案主板Linux修改系统串口波特率教程。温馨提示:瑞芯微方案主板/开发板串口波特率只支持115200或1500000。修改Loader打印波特率查看对应芯片的MINIALL.ini确定要修改的bin文件#查看对应芯片的MINIALL.ini cat rkbin/RKBOOT/RK3562MINIALL.ini修改uart baudrate参数修改以下目
    Industio_触觉智能 2024-12-03 11:28 104浏览
  • 11-29学习笔记11-29学习笔记习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-02 23:58 90浏览
  • 光伏逆变器是一种高效的能量转换设备,它能够将光伏太阳能板(PV)产生的不稳定的直流电压转换成与市电频率同步的交流电。这种转换后的电能不仅可以回馈至商用输电网络,还能供独立电网系统使用。光伏逆变器在商业光伏储能电站和家庭独立储能系统等应用领域中得到了广泛的应用。光耦合器,以其高速信号传输、出色的共模抑制比以及单向信号传输和光电隔离的特性,在光伏逆变器中扮演着至关重要的角色。它确保了系统的安全隔离、干扰的有效隔离以及通信信号的精准传输。光耦合器的使用不仅提高了系统的稳定性和安全性,而且由于其低功耗的
    晶台光耦 2024-12-02 10:40 134浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦