汽车网络安全之——CAN网关测试

article/2025/9/26 0:35:39

测试内容

本部分为网关测试标准整理而来。
1 硬件信息安全测试
网关硬件信息安全测试应按照下列流程及要求依次进行: a) 拆解被测样件设备外壳,取出PCB板,通过5倍率以上的光学放大镜,观察网关PCB板,检查PCB 板硬件是否存在后门; b) 检查是否有存在暴露在PCB板上的JTAG接口、USB接口、UART接口、SPI接口等调试接口,如存在则使用测试工具尝试获取调试权限
2 通信测试

  1. 访问控制策略测试:设置规定的访问控制策略(若被测样件的访问控制策略无法通过软件配置修改,则由送样方提供已预置的访问控制策略列表),检测设备向列表指定的源端口发送符合策略规定的数据帧与不符合规定的数据帧,并在列表指定的目的端口检测接收数据帧;(基于ID的访问控制)
  2. 泛洪测试:确认网关连接车辆对外通信接口的CAN通道,检测设备对此通道以大于80%总线负载 率发送符合通信矩阵的泛洪攻击数据帧,在指定的目的端口检测接收到的数据帧,并收集样件日志。如果有多个此类通道,则依次分别测试;
  3. 数据帧内容测试:检测设备分别发送一条或者多条信号帧分别以及组合改变其长度,内容的有效性,收集日志。
  4. 数据帧周期测试:检测设备对网关连续发送一个或多个周期不符合通信矩阵定义(实际周期相比定义周期偏差 大于±50%)的周期型数据帧,在指定的目的端口检测接收到的数据帧,并收集样件日志。如 果有多个此类通道,则依次分别测试;
  5. UDS会话测试:检测设别确认网关连接OBD-II端口的通道和连接车载信息交互系统(如T-Box)的通道UDS会话是否正常;检测设备对除此类通道以外的通道,发送UDS诊断数据帧,在指定的目的端口检测接收到的数据帧,并收集样件日志。
    其中硬件测试可以参照 :汽车网络安全之——工具汇总.中硬件工具一项。本文主要讲如何在没有实物情况下,模拟测试,便捷的开发测试工具。

仿真环境

基于Linux下的虚拟can总线
利用现有工具
Can-utils
ICSim
UDS-Server
(本部分工具主要为汽车黑客大曝光一书中的工具,感谢opengarages社区!,本部分工具笔者在Ubuntu16.04下测试)

CAN-Utils

CAN-Utils为一个轻量的can命令行工具
sudo apt-get install can-utils
主要使用 cansend和candump两个模块
cansend vcan0 7df#021003
candump vcan0

ICSim

ICSim是一个ECU的模拟工具
安装 ICSim
Sudo apt-get install linsdl2-2.0
Sudo apt-get install linsdl2-dev
Sudo apt-get install linsdl2-image-dev
Sudo apt-get install linsdl2-ttf-dev
Sudo apt-get install can-utils
使用ICSim
创建一个 vcan
打开 ./controls vcan0
打开 ./icsim vcan0
controls是一个可以用键盘控制的仪表,一直按上 加速 下 减速
在这里插入图片描述

Uds-Server

使用方法
编译: make

  1. 打开icsim
  2. 打开uds-server
  3. 使用can-utlis工具进行测试(默认ID为0x710)

在这里插入图片描述

基于Peach的CAN模糊测试探索

Peach是一个应用较多的模糊测试工具,可以进行协议的测试。
使用Peach进行fuzzing的主要步骤如下:
1、创建模型
2、选择/配置Publisher
3、配置代理/监视器
4、配置记录
使用Peach进行模糊测试主体需要添加一个Publisher,在peach源码Peach.Core.OS.Linux/Publishers/ 目录下。
目前 UDSim项目发布了一个基于socketcan的CAN Publisher。
编译注意事项:
1.要用python2 执行编译
2.在按照Peach和UDSim项目给的编译方法的基础上,还需要将Peach.Core.Analysis.Pin.Coverage/wscript_build 删除
3.在Peach.Core/wscript_build 脚本里,要添加 Mono.Posix.dll的引用。
但目前Peach在Linux下支持不好,需要将制定硬件驱动,改写Publisher,在Windows下使用。


http://chatgpt.dhexx.cn/article/QdFqZlg8.shtml

相关文章

can网关 candtu CANIOT系列车联网透传云网关

can网关 candtu CANIOT系列车联网透传云网关的功能介绍 1,主要功能:云端监控、远程调试及配置、程序上下载4G、WiFi、 以太网联网 CAN口、串口和网口透传 云平台私有化部署服务虚拟CAN口适配广泛。 2,应用介绍 透传网关支持串口/网口/CAN口同…

CAN网关/CAN信号转发机制/案例解析

其实准确的说不能叫CAN网关, 应该叫网关或者汽车网关, 因为网关不仅处理CAN网络, 还处理LIN网络. 主要是为了配合本系列教程及区分于以太网网关, 所以才取名叫CAN网关. CAN网关的外形结构 大概外形如上, 偶有差异, 大小如香烟烟盒, 有60,70多个PIN脚组成. 每个接线pin脚都有严…

can网关 IFM控制器OTA远程升级

远程给IFM控制器升级现场接线图 CAN总线远程升级设备

CAN网关通过4G网关给CAN车载控制器升级程序

CANIOT网关通过4G网关给CAN车载控制器升级程序 CAN总线的优势 CAN(Controller Area Network)为控制器局域网络,CAN总线规范已经被国际标准化组织制订为国际标准ISO11898,并得到众多半导体器件厂商的支持,推出各种集成有CAN协议的产品。CAN属…

使用CANoe搭建CAN网关

Vector公司的CANoe是一款强大的总线仿真工具,通过CANoe搭建出来的总线模型可以模拟真实的汽车总线,并且通过CAPL语言可以对节点上的ECU进行编程。这样不仅能够模拟总线上的报文发送,还可以模拟ECU的内部逻辑,理论上可以完全模拟出…

CAN 4G的远程CAN网关与TBOX的区别

随着市场的发展,智能化一直是车企需要解决的难点。特别是在现有市场中,工程机械、特种车辆、环卫车等车辆管理主要靠工程师带着笔记本跑现场调试,即浪费人力出差成本也高。而且现在疫情频发,出差成本更高,出差风险也大…

PROFINET转CAN网关监测CAN设备在线设置文档

PROFINET 转CAN网关监测CAN设备在线设置文档 1 摘要 采用西门子S7系列PLC,支持PROFINET协议,仪表设备支持CAN自由口通讯协议。 本文档介绍如何在TIA Portal、ECSP-CAN中设置监测CAN设备离线通过S7系列PLC在TIA Portal上查询状态,主要是配置北…

CAN网关

CAN网关 及 CAN信号转发机制 CAN网关 上节课, 我们讲到了CAN网关, 其实准确的说不能叫CAN网关, 应该叫网关或者汽车网关, 因为网关不仅处理CAN网络, 还处理LIN网络. 主要是为了配合本系列教程及区分于以太网网关, 所以才取名叫CAN网关. CAN网关的外形结构 大概外形如上, 偶有…

can 网关 透传CAN云网关助力快速实现远程程序升级、云端记录下载、云端数

透传云网关CANIOT系列具有两路CAN接口、两路串口、两路网口,如原先使用市面上任意主流厂家的CAN卡访问用户CAN设备,现在,仅需装配透传云网关CANIOT,就可以快速现在远程操作。例如,用户原先使用codesyscan卡本地维护控制…

can网关在车联网智能透传上的典型应用 can透传云网关canIot-222WG

车联网智能透传网关 云端监控、远程调试及配置、程序上下载。云端监控、远程调试及配置、程序上下载。CAN口、串口和网口透传。云平台私有化部署服务。虚拟CAN口适配广泛。 应用介绍 透传网关支持串口、网口和CAN口同时透传,支持通过互联网将不同区域。的云网关接入…

CAN总线网关是什么?

CAN总线网关是什么? 网关是什么 网关指的是网间连接器、协议转换器。网关在网络层以上实现网络互连,是复杂的网络互连设备,仅用于两个高层协议不同的网络互连。。网关就相当于两种不同网络之间的桥梁,它能够让原本不支持联通互传…

CAN网关及CAN信号转发机制

CAN网关 及 CAN信号转发机制 CAN网关 上节课, 我们讲到了CAN网关, 其实准确的说不能叫CAN网关, 应该叫网关或者汽车网关, 因为网关不仅处理CAN网络, 还处理LIN网络. 主要是为了配合本系列教程及区分于以太网网关, 所以才取名叫CAN网关. CAN网关的外形结构 大概外形如上, 偶有…

MySQL的左连接、右连接、内连接

一. 写法: 1.左连接: SELECT student.Sno,Sname,Ssex,Sbirth,Sclass,Cno,Grade FROM student LEFT OUTER JOIN sc ON student.Snosc.Sno; 2.右连接: SELECT student.Sno,Sname,Ssex,Sbirth,Sclass,Cno,Grade FROM sc RIGHT OUTER JOIN student ON student.Snosc…

Mysql—— 内连接、左连接、右连接以及全连接查询

获取 boy 、girl 表下载地址 一、内连接查询 inner join 关键字:inner join on 语句:select * from a_table a inner join b_table b on a.a_id b.b_id; 说明:组合两个表中的记录,返回关联字段相符的记录,也…

MySQL内外连接

文章目录 MySQL内外连接内连接外连接左外连接右外连接 简单案例 MySQL内外连接 表的连接分为内连接和外连接。 内连接 内连接 内连接的SQL如下: SELECT ... FROM t1 INNER JOIN t2 ON 连接条件 [INNER JOIN t3 ON 连接条件] ... AND 其他条件;说明一下&#xff1…

Sql语句查询之内连接与外连接

文章目录 一、连接查询1.什么是连接查询?2.连接查询的分类 二、内连接1.内连接之等值连接2.内连接之非等值连接3.内连接之自连接 三、外连接1.什么是外连接,和内连接有什么区别? 一、连接查询 1.什么是连接查询? 在实际开发中&am…

理解内连接中的隐式内连接、显式内连接和外连接中的左外连接、右外连接

一、多表查询 二、在 MySQL 中创建 book 和 actor 两张表 1 创建 book 表及添加数据 CREATE TABLE book (id INT PRIMARY KEY NOT NULL AUTO_INCREMEN,bookName VARCHAR (60),author VARCHAR (60) ); INSERT INTO book (id, bookName, author) VALUES(1,水浒传,施耐庵); INS…

SQL内连接与外连接

SQL内连接(INNER JOIN) 返回两张表中符合连接条件的数据行 内连接是从结果表中删除与被连接表中未匹配行的所有行,所以内连接可能会丢失信息 写法一: 语法:SELECT * FROM 表1 INNER JOIN 表2 ON 条件 eg:查询Student 表中学生的成…

SQL内连接、左连接、右连接的区别

SQL内连接、左连接、右连接的区别 前言:目前研究生已经毕业,刚刚找到了一份BA数据分析师的工作。目前的工作内容主要是指标的理解和使用SQL将代码写出来。在这里经常用到内连接(inner) join和左连接 left(outer&#…

【MySQL】MySQL内连接和外连接详细总结

目录 多表查询的分类3:内连接VS外连接(重难点)1. 内连接2.外连接3. SQL99语法实现多表查询3.1 SQL99实现内连接3.2 SQL99语法实现外连接3.2.1 左外连接3.2.2 右外连接3.2.3 满外连接 4.总结:七种SQL JOINS的实现4.1 内连接4.2 左外连接4.3 右外连接4.4 第…