当前位置: 首页 > news >正文

【CAN-IDPS】汽车网关信息安全要求以及实验方法

《汽车网关信息安全技术要求及试验方法》是中国的一项国家标准,编号为GB/T 40857-2021,于2021年10月11日发布,并从2022年5月1日起开始实施 。这项标准由全国汽车标准化技术委员会(TC114)归口,智能网联汽车分会(TC114SC34)执行,主管部门为工业和信息化部。

该标准主要起草单位包括广州汽车集团股份有限公司、中国汽车技术研究中心有限公司等多家企业和研究机构,主要起草人有尚进、孙航等多位专家。标准内容涵盖了汽车网关硬件、通信、固件、数据的信息安全技术要求及试验方法,目的在于保障汽车网关在车内多个网络间安全、可靠地进行数据转发和传输,满足数据保密性、完整性、可用性等基本安全要求。

本篇文章主要摘取规范中对汽车网关网络安全和信息安全要求和测试方法。其中基于以太网的网络安全和信息安全技术较为成熟,无需过多介绍,而针对CAN网关的安全要求基于本人对CAN-IDPS开发经验添加了说明。


目录

1 汽车网关网络拓扑结构

1.1 CAN网关

1.2 以太网网关

1.3 混合网关

2 技术要求

2.1 硬件信息安全要求

2.2 通信信息安全要求

2.2.1 CAN网关通信信息安全要求

2.2.1.1 访问控制

2.2.1.2 拒绝服务攻击检测

2.2.1.3 数据帧健康检测

2.2.1.4 数据帧异常检测

2.2.1.5 UDS会话检测

2.2.2 以太网网关通信信息安全要求

2.2.2.1 网络分域

2.2.2.2 访问控制

2.2.2.3 拒绝服务攻击检测

2.2.2.4 协议状态检测

2.2.3 混合网关通信信息安全要求

2.3 固件信息安全要求

2.3.1 安全启动

2.3.2 安全日志

2.3.3 安全漏洞

2.4 数据信息安全要求

3 典型攻击举例

3.1 死亡之 Ping(Ping of death)

3.2 ICMP 泛洪攻击

3.3 UDP泛洪攻击

3.4 TCP SYN攻击

3.5 Teardrop攻击

3.6 ARP欺骗攻击

3.7 IP欺骗攻击

3.8 ICMP Smurf攻击

3.9 IP地址扫描

3.10 端口扫描(Port scan)

3.11 恶意软件

3.12 CAN 数据帧泛洪攻击

3.13 CANID伪造

3.14 CAN 数据帧重放攻击

3.15 CAN 网络扫描

3.16 ECU 认证破解

3.17 UDS服务攻击


1 汽车网关网络拓扑结构

1.1 CAN网关

基于CAN和/或CAN-FD总线的车内网络结构中,大多数的ECU、域控制器之间都会通过CAN和/或CAN-FD总线进行通信。这类结构中的汽车网关主要有CAN和/或CAN-FD总线接口,可称为CAN网关。下图是典型的CAN网关拓扑结构。

1.2 以太网网关

基于以太网的车内网络结构中,大多数的ECU、域控制器之间会通过以太网进行通信。这类结构中的汽车网关主要有以太网接口,可称为以太网网关。下图是典型的以太网网关拓扑结构。

1.3 混合网关

部分新一代车内网络结构中,一部分ECU、域控制器之间通过以太网通信,而另一部分ECU、域控制器之间仍通过传统通信协议(例如:CAN、CAN-FD、LIN、MOST等)通信。这类结构中的汽车网关既有以太网接口,还有传统通信协议接口,可称为混合网关。下图是典型的混合网关拓扑结构。

2 技术要求

2.1 硬件信息安全要求

(1)网关不应存在后门或隐蔽接口。

        测试方法:拆解被测样件设备外壳,取出PCB板,检查PCB板硬件是否存在后门或隐蔽接口。

(2)网关的调试接口应禁用或设置安全访问控制。

        测试方法:检查是否有存在暴露在PCB板上的JTAG、USB、UART、SPI等调试接口,如存在则使用试验工具尝试获取调试权限。

2.2 通信信息安全要求

2.2.1 CAN网关通信信息安全要求

2.2.1.1 访问控制

网关应在各路CAN网络间建立通信矩阵,并建立基于CAN数据帧标识符(CANID)的访问控制策略,按照测试方法(a)应在列表指定的目的端口检测接收到源端口发送的数据帧;按照测试方法(b)应对不符合定义的数据帧进行丢弃或者记录日志。

测试方法:

(a)设置访问控制策略(若被测样件的访问控制策略无法通过软件配置修改,则由送样方提供已预置的访问控制策略列表),检测设备向列表指定的源端口发送符合策略规定的数据帧,并在列表指定的目的端口检测接收数据帧。

(b)设置访问控制策略(若被测样件的访问控制策略无法通过软件配置修改,则由送样方提供已预置的访问控制策略列表),检测设备向列表指定的源端口发送不符合策略规定的数据帧,在列表指定的目的端口检测接收到的数据帧,并收集样件日志。

个人观点:

文档中要求建立基于CANID的访问控制策略,其实就是CANID白名单功能,白名单中包含通信矩阵中规定网关所能接收的所有CANID,网关安全组件(例如CAN-IDPS)监控网关流量,并判断所接收的CANID是否在白名单中,如果在,则应执行丢弃或者记录日志。需要注意的是,一般ECU在CAN收发器处已经设置了报文过滤条件,即不是该ECU需要接收的CANID报文在底层就已经丢弃了。

2.2.1.2 拒绝服务攻击检测

网关应对车辆对外通信接口的CAN通道(例如:连接BD-I端口的通道和连接车载信息交互系统的通道)进行CAN总线DoS攻击检测。网关应具备基于 CAN总线接口负载的DoS攻击检测功能,宜具备基于某个或多个CAN ID数据帧周期的 DoS 攻击检测功能。按照测试方法(a)、(b)进行测试,当网关检测到某一路或多路CAN通道存在DoS攻击时,应满足以下:

(1)网关未受攻击的通道的通信功能和预先设定的性能不应受影响;

(2)网关对检测到的攻击数据帧进行丢弃或者记录日志。

测试方法:

(a)由送样方确认网关连接车辆对外通信接口的AN道,检测设备对此通道以大于80%总线负载率发送符合通信矩阵的泛洪攻击数据帧,在指定的目的端口检测接收到的数据帧,并收集样件日志。如果有多个此类通道,则依次分别试验。

(b)由送样方确认网关连接车辆对外通信接口的CAN通道,检测设备对此通道以1ms为周期发送符合通信矩阵的某个CANID数据帧,在指定的目的端口检测接收到的数据帧,并收集样件日志。如果有多个此类通道,则依次分别试验。

个人观点:

两个重点,一是文档中提到Dos攻击检测对象重点是车辆对外通信接口的CAN通道,例如OBD接口或者车机通道;二是提出了Dos攻击的两种检测方法,一种是通过判断总线负载率是否达到告警阈值,另一种就是监控某个CANID报文实际周期是否远小于通信矩阵中对其规定的正常周期。除此之外,在测试方法中提到以大于80%的总线负载率进行测试,网关安全组件(例如CAN-IDPS)在设置总线负载率告警阈值时,可以以此为参考设置成80%,也可以对实车总线负载率进行实时统计,并选则大于其峰值的合适值作为阈值,实施难度就是需要在统计过程中,模拟车辆所有的操作以及业务,这样计算出的阈值才可靠。

2.2.1.3 数据帧健康检测

网关宜根据通信矩阵中的信号定义,对数据帧进行检查,检查内容包括DLC字段、信号值有效性等,按照测试方法(a)进行试验,对不符合通信矩阵定义的数据帧进行丢弃或者记录日志。

测试方法:

(a)检测设备对网关发送一个或多个DCL字段值不符合通信矩阵定义的数据帧,在指定的目的端口检测接收到的数据帧,并收集样件日志。

(b)检测设备对网关发送一个或多个信号值不符合通信矩阵定义的数据帧,在指定的目的端口检测接收到的数据帧,并收集样件日志。

个人观点:

通信矩阵中规定了每个CAN报文的数据长度,即DLC字段值。ECU应严格遵

相关文章:

【CAN-IDPS】汽车网关信息安全要求以及实验方法

《汽车网关信息安全技术要求及试验方法》是中国的一项国家标准,编号为GB/T 40857-2021,于2021年10月11日发布,并从2022年5月1日起开始实施 。这项标准由全国汽车标准化技术委员会(TC114)归口,智能网联汽车分会(TC114SC34)执行,主管部门为工业和信息化部。 该标准主要…...

EASE-Grid是啥东西?

EASE-Grid(Equal-Area Scalable Earth Grid,等面积可扩展地球网格)是NASA设计的网格系统,主要用于存储和处理全球范围内的地球科学数据。可以被理解为一种特殊的投影方式,使得在全球范围内进行数据分析和可视化时&…...

前端用户管理模块方法及api分析

用户管理 方法及对应api 搜索 searchSysUser / GetSysUserListByPage 重置 resetData 添加用户 addShow :点击按钮后出现对话框,含有提交 submit / SaveSysUser、取消按钮 修改 editSysUser / UpdateSysUser 删除 deleteById / DeleteSysUser 分配角色…...

microsoft edge怎么关闭安全搜索

microsoft edge浏览器为用户提供了安全搜索功能,旨在帮助用户过滤掉搜索结果中出现的不当信息。然而,有些用户可能觉得安全搜索功能限制了他们的浏览体验或工作需求。下面就给大家带来关闭microsoft edge安全搜索的相关内容,一起来看看吧。&a…...

Qt | QSQLite内存数据库增删改查

点击上方"蓝字"关注我们 01、演示 参数随便设置 查询 修改 右键菜单是重点 手动提交,点击Submit All...

【论文阅读】SegNeXt:重新思考卷积注意力设计

《SegNeXt: Rethinking Convolutional Attention Design for Semantic Segmentation》 原文:https://github.com/Visual-Attention-Network/SegNeXt/blob/main/resources/paper.pdf 源码:https://github.com/Visual-Attention-Network/SegNeXt 1、简介 …...

【C++】String类:标准库介绍

目录 一.预备知识 1.auto关键字 2.范围for 3.迭代器 二.标准库里的string 1.string类的基本介绍 2.构造函数 ​编辑 3.访问及遍历操作 3.1 operator [] 3.2 基于范围for 3.3 使用迭代器 4.迭代器 5.容量操作 5.1 size和length 5.2 capacity 5.3 reserve和resiz…...

MS523非接触式读卡器 IC

MS523 是一款应用于 13.56MHz 非接触式通信中的高集成 度读写卡芯片,它集成了在 13.56MHz 下所有类型的被动非接 触式通信方式和协议,支持 ISO14443A/B 的多层应用。 主要特点  高度集成的解调和解码模拟电路  采用少量外部器件&#…...

仓颉编程语言入门 -- Socket 编程与HTTP 编程概述

仓颉的 Socket 编程概述 在网络通信的广阔天地中,仓颉的Socket编程如同一座桥梁,连接着不同的计算设备,实现了基于传输层协议的数据传输。无论是追求稳定可靠的TCP,还是偏好轻量级、无连接的UDP,Socket都扮演着不可或…...

Oracle基本SQL操作-用户角色权限管理

一、用户权限管理 -- 创建锁定用户,此时用户不可用 create USER zhucl IDENTIFIED BY 123456 account lock; 会提示用户被锁定: -- 删除用户 drop user zhucl;-- 重新创建用户,不锁定 create user zhucl IDENTIFIED BY 123456 account unlo…...

Qt-信号和槽(8)

目录 信号的概念 Qt中的信号三要素 connect函数 connect的原型 connect的使用 信号函数和槽函数 参数匹配 close关闭槽函数 运行结果 第一个问题:怎么知道 手册使用 第二个问题,为什么可以直接传递函数指针 自定义槽函数 第一种自定义槽函…...

80.游戏的分辨率修改思路与分析

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于:易道云信息技术研究院 上一个内容:79.游戏分析工具闪屏问题优化与数据被修改高亮 GAMEHACKER2.exe 工具下载地址&#xff…...

MaxKB(二):Ubuntu24.04搭建maxkb开发环境

接上文:windows10搭建maxkb开发环境(劝退指南) 上文在windows10环境搭建maxkb开发环境遇到各种坑,后面就转战ubuntu平台,果然比较顺利的完成开发环境搭建。当然遇到相关的问题还是可以参考上文《windows10搭建maxkb开发…...

c#实现数据导出为PDF的方式

PdfSharp vs iTextSharp: C#中PDF导出功能比较 PdfSharp 优点 轻量级:适合简单的PDF生成任务易于学习:API相对简单,学习曲线较缓开源:提供开源版本,可自由使用和修改纯C#实现:不依赖外部库或COM组件支持…...

【联想电脑】:使用拓展坞后转接HDMI,无法识别显示屏

项目场景: 作为一个嵌入式软件开发者,有两个外接屏幕,不足为奇。 但是在今天的使用电脑过程中,出现了接了一个拓展坞上面有HDMI接口,但是HDMI接口接上外接显示屏的时候电脑无法识别到,导致只有电脑直连的HD…...

Verilog刷题笔记53

题目: Fsm serialdata See also: Serial receiver Now that you have a finite state machine that can identify when bytes are correctly received in a serial bitstream, add a datapath that will output the correctly-received data byte. out_byte needs …...

GoFly快速开发后台框架-后端接口请求返回403提示码就跨域问题/请求端域名拦截问题

问题: 大家在本地开发或者部署后请求后端时返回403,只有一个问题就是存在请求端跨域问题。 解决办法: 解决这个问题很简单,跨域的就解决跨域就好了。 我们官方给大家统一解决办法是: 到后端配置文件resource/conf…...

设备实时数据采集:开启制造业智能化、自动化的新篇章

传统制造业在进行生产过程中,会涉及到设备实时数据采集需求,这些数据对于监控生产流程、优化生产效率、保证产品质量以及降低成本等方面至关重要。以下是一些常见的数据采集需求: 1.生产数据:包括生产数量、生产批次、生产速度等&…...

【python与java的区别-03(集合、字典)】

一、Set python: 集合(set)是一个无序的不重复元素序列。 集合中的元素不会重复,并且可以进行交集、并集、差集等常见的集合操作。 可以使用大括号 { } 创建集合,元素之间用逗号 , 分隔, 或者也可以使用 set() 函数…...

Java继承

目录 一、继承概念 二、语法格式 三、类型及特性 四、关键字 4.1. super 4.2. super与this指针 4.3 final 关键字 一、继承概念 继承(inheritance)机制:是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特 性 的基础上进…...

Kafka集群搭建的两种方式

目录 1. 依赖Zookeeper搭建集群 1. 下载Kafka二进制文件 2. 更改kafka配置 3. 启动Zookeeper集群和Kafka集群 4. 验证集群 1.创建主题 2. 检查主题是否存在 3. 创建生产者生产数据 4. 创建消费者消费数据 5. 检查Zookeeper中Kafka集群的元数据 2. 不依赖Zookeeper搭…...

两种变量初始化方法的区别

1. CarriageEntity carriageEntity new CarriageEntity()和 null的区别 1.1 CarriageEntity carriageEntity new CarriageEntity(); 初始化:这行代码创建了一个新的 CarriageEntity 对象,并将其引用赋值给 carriageEntity 变量。对象状态&#xff…...

群晖把硬盘共享给win10(虚拟机或物理机)的两种办法

1. 通过SMB共享 NAS地址:192.168.3.100 打开“此电脑”,在win10地址栏输入 \192.168.3.100\video,提示输入用户名、密码。在video文件夹右击,点击“映射网络驱动器” 在win10电脑上,复制文件到T盘上,在T盘…...

Java-Web面试题汇总

一、TCP 和 UDP 的区别 在网络通信中,TCP(Transmission Control Protocol,传输控制协议)和 UDP(User Datagram Protocol,用户数据报协议)是两种常见的协议,它们在多个方面存在显著差…...

数字化技术分别有哪些,数字化技术特点和优势是什么?

​随着企业数字化进程的加速,人工智能、工业互联网、低代码等底层技术正全面重塑企业运营生产体系,推动新的生产要素、研发范式和商业模式的建立。 这个变革过程不仅是对原有制造体系的颠覆,而且会影响各行各业的所有细分行业和产业链价值链…...

微服务CI/CD实践(一)环境准备及虚拟机创建

微服务CI/CD实践系列: 微服务CI/CD实践(一)环境准备及虚拟机创建 微服务CI/CD实践(二)gitlabs部署 微服务CI/CD实践(三)nexus3部署 微服务CI/CD实践(四)数据库,redis,n…...

【SpringBoot】优化慢启动应用的用户体验

通过深入分析SpringBoot中WebServer的启动流程,插入自定义的Loading页面展示逻辑,优化软件使用时的用户体验。 背景 Java本身的特点,再加上开发人员能力差,软件开发工程化程度低等等问题,经过一段时间的迭代之后&…...

String str=“i“ 与 String str=new String (“i“) 一样吗?

String str"i" 与 String strnew String ("i") String str"i" 这种形式声明了一个 String 对象,其中 "i" 字符串字面量直接赋值给 str。在 Java 中,字符串字面量会自动放入字符串常量池中,这是一个…...

【数据结构】二叉树链式结构的实现

前置声明:在学习二叉树的基本操作前,需先要创建一棵二叉树,然后才能学习其相关的基本操作。由于现在大家对二叉树结构掌握还不够深入,为了降低大家学习成本,此处手动快速创建一棵简单的二叉树,快速进入二叉…...

如何有效找到目标客户群体?

在激烈的市场竞争中,找到并锁定目标客户群体是企业成功的关键。以下是几种有效的策略,帮助您精准定位并吸引目标客户。 1. 明确市场定位与客户画像 首先,企业需要明确市场定位,并绘制详细的客户画像,包括年龄、性别、…...