点击上方蓝字谈思实验室
获取更多汽车网络安全资讯
01
介绍
ICSim 是一个用于模拟车辆仪表集群的工具,专门为 SocketCAN 设计。SocketCAN 是 Linux 内核中的一个模块,用于支持控制器局域网(CAN)接口。
主要特点
-
仪表集群模拟:ICSim 可以模拟车辆仪表盘,包括速度表、转速表、燃油表等。这对于开发和测试基于 CAN 总线的汽车电子系统非常有用。
-
与 SocketCAN 集成:ICSim 与 Linux 的 SocketCAN 接口集成,允许用户通过标准的 SocketCAN 工具与模拟器进行通信和调试。
-
教育和开发:它是汽车网络和协议学习的一个极佳工具,可以帮助工程师、研究人员和学生理解 CAN 总线的工作原理和应用。
使用场景
-
软件开发:在开发车辆电子控制单元(ECU)时,可以使用 ICSim 进行初步测试,而无需实际的车辆硬件。
-
教学和培训:提供一个虚拟的车辆环境,便于教学 CAN 总线通信。
-
调试和验证:与实际车辆硬件的连接前,先在模拟环境中验证通信和功能。
02
模糊测试(Fuzz Testing)
模糊测试(Fuzz Testing)是一种用于发现软件漏洞和缺陷的自动化测试技术。其核心思想是通过向系统输入大量随机或半随机的数据,观察系统的响应,从而发现潜在的错误和安全漏洞。模糊测试常用于安全性测试和稳定性测试。
CAN 总线模糊测试(CAN Packet Fuzzing)
CAN Packet Fuzzing 是将模糊测试应用于控制器局域网(CAN)总线的一种技术。CAN 总线是现代汽车中用于电子控制单元(ECU)之间通信的关键协议。模糊测试在这个上下文中的主要目标是通过发送异常或无效的 CAN 数据帧,来发现车辆网络协议栈中的漏洞和缺陷。
主要步骤
-
定义测试范围:确定要测试的 CAN 网络的节点和消息类型。
-
生成模糊数据:使用随机或半随机的方法生成 CAN 数据帧。这些数据帧可以是完全随机的,也可以在现有合法数据的基础上进行变异。
-
发送模糊数据:将生成的模糊数据帧发送到 CAN 总线上,模拟正常通信环境。
-
监控系统行为:观察系统对这些模糊数据的响应,记录任何异常行为或系统崩溃。
-
分析和报告:分析捕获的异常行为,找出潜在的漏洞,并生成测试报告。
工具和软件
-
ICSim:虽然主要是用于模拟和测试,但也可以配置为进行初步的 CAN 模糊测试。
-
SavvyCAN:用于捕获和分析 CAN 数据,结合其他模糊测试工具一起使用。
-
其他模糊测试工具:例如 Can-Hax,CANard、CANalyzat0r 以及定制的脚本和程序,可以生成和发送模糊数据帧。
主要目标
-
安全性测试:发现并修复可能被恶意利用的漏洞。
-
稳定性测试:确保系统在异常输入情况下的稳定性,避免意外崩溃或错误。
-
协议验证:验证 CAN 协议实现的健壮性,确保其能正确处理所有类型的数据帧。
Can-Hax
安装
我们直接从GitHub克隆下来就好了,这点比较的简单:
使用
Can-Hax是使用can-utils的指纹和模糊控制器区域网络(CAN)数据包/帧的实用程序,可用于大多数Linux。
CAN有效载荷模板有以下几种:0=在使用中未观察到,H=观察到的十六进制值,N=观察到的十进制值,所以它看起来像00NHHHHH。
获得指纹
我们来简单介绍一下里面的数据大概是什么意思:
133代表的是can总线ID号,后面0代表的是从来没有变化,一直是0;H表示的是十六进制,也就是说,这一位出现过十六进制数;N代表十进制,也就是这一位没有出现过十六进制的数。
模糊测试
接下来我们开始进行模糊测试了,这个就是全部模糊(可能需要很长时间,可以缩短时延),会一个一个进行测试。
除了全部测试之外,我们还可以测试特定的CAN ID,我们可以指定–canid。
我们还可以使用–Quick或–Superquick快速指定一组简化的可能值。
自适应测试计算有效负载模板复杂程度的指标,并使用一组简化的可能值。
这个就是自适应,但是我一直是递增一,所以感觉不是很好用,我们搭配上面那些就能进行简单的模糊测试了。
SavvyCAN
03
总结
CAN 总线模糊测试是一种强大的方法,用于发现和修复汽车网络系统中的安全漏洞和稳定性问题。通过系统地生成和发送异常 CAN 数据帧,测试人员可以识别出潜在的缺陷,从而增强车辆电子系统的安全性和可靠性。结合 ICSim, Can-Hax和 SavvyCAN 等工具,可以有效地进行 CAN 总线模糊测试,并为车辆网络安全提供坚实的保障。
来源:CSDN@花园宝宝小点点
原文链接:
https://blog.csdn.net/weixin_66578482/article/details/139443574
end
精品活动推荐
专业社群
部分入群专家来自:
新势力车企:
特斯拉、合众新能源-哪吒、理想、极氪、小米、宾理汽车、极越、零跑汽车、阿维塔汽车、智己汽车、小鹏、岚图汽车、蔚来汽车、吉祥汽车、赛力斯……
外资传统主流车企代表:
大众中国、大众酷翼、奥迪汽车、宝马、福特、戴姆勒-奔驰、通用、保时捷、沃尔沃、现代汽车、日产汽车、捷豹路虎、斯堪尼亚……
内资传统主流车企:
吉利汽车、上汽乘用车、长城汽车、上汽大众、长安汽车、北京汽车、东风汽车、广汽、比亚迪、一汽集团、一汽解放、东风商用、上汽商用……
全球领先一级供应商:
博世、大陆集团、联合汽车电子、安波福、采埃孚、科世达、舍弗勒、霍尼韦尔、大疆、日立、哈曼、华为、百度、联想、联发科、普瑞均胜、德赛西威、蜂巢转向、均联智行、武汉光庭、星纪魅族、中车集团、赢彻科技、潍柴集团、地平线、紫光同芯、字节跳动、……
二级供应商(500+以上):
Upstream、ETAS、Synopsys、NXP、TUV、上海软件中心、Deloitte、奇安信、为辰信安、云驰未来、信大捷安、信长城、泽鹿安全、纽创信安、复旦微电子、天融信、奇虎360、中汽中心、中国汽研、上海汽检、软安科技、浙江大学……
人员占比
公司类型占比
更多文章
不要错过哦,这可能是汽车网络安全产业最大的专属社区!
原文始发于微信公众号(谈思实验室):车联网安全入门——CAN总线模糊测试