【论文阅读】自动驾驶安全的研究现状与挑战
文章目录
- 摘要
- 1.引言
- 1.1.自动驾驶安全
- 1.2.攻击面
- 1.3.内容和路线图
- 2.自动驾驶技术
- 2.1.组成
- 2.2.技术
- 3.传感器安全
- 3.1.照相机
- 3.2.GNSS(全球导航系统)/IMU(惯性测量单元)
- 3.3.超声波传感器
- 3.4.毫米波雷达
- 3.5.激光雷达
- 3.6.多传感器交叉验证
- 3.7.传感器故障
- 4.操作系统安全
- 4.1.早期移动机器人操作系统
- 4.2.ROS
- 4.3.ROS的安全性
- 4.4.ROS2的安全性增强
- 4.5.ROS2的缺点
- 5.控制系统安全
- 5.1.CAN
- 5.2.
- 6.V2X通信安全
- 7.讨论和解决方案
- 8.结论
论文题目: Autonomous Driving Security: State of the Art and Challenges(自动驾驶安全的研究现状与挑战)
发表年份: 2022-IoTJ(IEEE Internet of Things Journal)
作者信息: Cong Gao(西安邮电大学), Geng Wang(西安邮电大学), Weisong Shi(美国韦恩州立大学), Zhongmin Wang(西安邮电大学), Yanping Chen(西安邮电大学)
备注: 一篇关于自动驾驶安全的综述文献,2022年发表在物联网顶刊IEEE Internet of Things Journal(中科院1区/CCF-C期刊)
摘要
过去十年,自动驾驶行业迅速发展。尽管无人驾驶毫无疑问已经成为本世纪最有前途的技术之一,但其发展面临着多重挑战,其中安全是主要问题。在本文中,我们对自动驾驶安全性进行了全面的分析。首先,提出了自动驾驶的攻击面。在从关键部件和技术方面分析了自动驾驶的运行后, 从四个维度阐述了自动驾驶的安全性: 1)传感器;2)操作系统;3)控制系统;4)车联网(V2X)通信。从 传感器 的自定位和环境感知五个方面对传感器的安全性进行了研究。 操作系统 的安全性分析是操作系统的第二个维度,主要集中在机器人操作系统上。在 控制系统 安全方面,主要从控制器局域网的漏洞和防护措施两方面进行探讨。第四个维度, V2X通信安全 ,从四类攻击进行探讨:1)真实性/识别;2)可用性;3)数据完整性;4)保密,并有相应的解决方案。此外,还指出了现有方法在四个维度上的不足。最后,提出了一个概念性的多层防御框架,以保护从外部通信到物理自动驾驶车辆的信息流。
关键词: Attack surface, autonomous driving, control area network, data distribution service (数据分发服务), robot operating system, security, sensor, unmanned vehicle(无人驾驶车辆), vehicle-to-everything (V2X) communication(车联网通信)
1.引言
随着智能汽车的发展,自动驾驶汽车引起了越来越多的研究关注。自动驾驶汽车被认为有益于减轻交通拥堵且降低交通事故。然而,目前的自动驾驶技术尚不成熟,仍处于发展阶段。乘客和车辆本身的安全远不能得到保证[1],[2]。例如,2018年,在亚利桑那州的一次道路测试中,一辆Uber无人驾驶汽车与一名推着自行车过马路的行人相撞[3]。这是世界上第一起导致行人死亡的自动驾驶汽车事故。这一事件随后引发了一场关于自动驾驶汽车安全性的激烈讨论。
1.1.自动驾驶安全
自动驾驶汽车是一个综合系统,主要包括 定位系统 、 感知系统 、 规划系统 和 控制系统 [4]。自动驾驶汽车的安全性一般是指驾驶过程中的安全性,包括 传感器 、 操作系统 、 控制系统 以及 V2X (vehicle-to-everything)通信 的安全性。
- 1)传感器安全: 传感器安全主要处理实际组件的安全,如板载传感器和板载芯片。例如,谷歌的自动驾驶汽车采用各种传感器来检测驾驶环境。采集到的传感器数据用于分析车辆是否处于安全驾驶状态。
- 2)操作系统安全性: 操作系统安全性是指确保操作系统的完整性和可用性,防止未经授权的访问。目前,大多数自动驾驶汽车都是基于机器人系统开发的。例如,百度的自动驾驶汽车平台Apollo[5]就是基于最著名的机器人操作系统ROS[6]。ROS是一个机器人中间件平台,为异构计算机集群提供操作系统的基本功能。然而,ROS最初的设计没有考虑安全性。其他类似的操作系统也存在这个问题。
- 3)控制系统安全性: 控制系统安全性保证车载决策系统根据采集到的环境数据和车辆本身的数据,对自动驾驶车辆的转向、加速、减速和停车做出正确的指令。然而,随着车辆外部接口种类的增加,新的攻击面不断涌现。因此,控制系统很容易受到非法入侵。
- 4) V2X通信安全: V2X通信安全是指车对车(V2V)、车对基础设施(V2I)、车对行人(V2P)、车对网络(V2N)通信的安全。车辆网络系统的设计应保证上述通信不受攻击。此外,来自V2X通信的周围车辆和环境状况信息进一步有助于车辆的安全性。
1.2.攻击面
攻击面的概念通常被认为是微软的迈克尔·霍华德提出的。它被非正式地引入,作为软件系统安全性的指示器[7]。
早期的攻击面研究[8]-[12]主要集中在软件系统方面,为后续的研究奠定了坚实的基础。Michael Howard认为攻击面是一组攻击特征:开放套接字、开放RPC端点、开放命名管道、服务等[7]。Manadhata等人[12]给出了系统攻击面是攻击者可以用来攻击系统的资源子集的定义。
Ren等人[2]简要地将围绕自动驾驶汽车的安全威胁分为三组攻击面:1)各种传感器;2)车载门禁系统;3)车载网络协议。
最近关于攻击面的文献主要集中于为软件系统或计算机网络的攻击面创建经验和理论度量[13],如[14]-[17]。
在自动驾驶领域,关于攻击面有如下值得注意的文献。
Maple等人[18]使用混合功能-通信观点开发了一种参考架构,用于连接自动驾驶汽车(cav)的攻击面分析。
Salfer和Eckert[19]提出了一种基于开发数据和软件flash图像的汽车电子控制单元(ecu)攻击面和漏洞评估自动化方法。
Checkoway等[20]对汽车的外部攻击面进行了详细的分析。这项工作主要集中在远程入侵。
文献[21]讨论了车载信息娱乐系统的威胁区域。确定了基于linux的车载信息娱乐系统的7个漏洞和15个潜在攻击面。
Chattopadhyay等人[22]为自动驾驶汽车开发了一个安全设计框架。该框架包含一个高级模型,该模型将自动驾驶汽车的攻击面定义为三层。
Dominic等人[23]提出了一种自动驾驶和协作式自动驾驶的风险评估框架。基于美国国家公路交通安全管理局(NHTSA)[24]描述的威胁模型和E-safety vehicle intrusion protected applications (EVITA)项目[25]描述的安全需求,提出了一种威胁模型。攻击面分为五类:1)惯性/里程法攻击面;2)距离传感器;全球定位系统(GPS);4)地图更新;5) V2V/V2I。
Petit和Shladover[26]研究了针对自动驾驶汽车的潜在网络攻击。分别分析了自动驾驶车辆和协作式自动驾驶车辆的攻击面。

通过对上述文献的分析, 我们将自动驾驶的攻击面大致分为三类 。如图1所示,它们分别是 传感器 、 车载系统 和 V2X 。对于传感器:GNSS/IMU代表全球导航卫星系统和惯性测量单元。激光雷达是光探测和测距的缩写。车载系统:OBD-II是第二代车载诊断系统的简称。TPMS代表胎压监测系统。ADAS是高级驾驶辅助系统的简称。对于V2X: OTA代表无线。它本质上只是无线的同义词。DSRC是专用短程通信的缩写。图1并非详尽无遗,但旨在提出自动驾驶汽车的安全问题。
1.3.内容和路线图
回顾了自动驾驶上述四个方面的研究现状和挑战,并指出了现有解决方案的不足。介绍了自动驾驶的主要组成部分和相关技术;重点讨论了摄像头、GNSS/IMUs、超声波传感器、毫米波雷达和激光雷达等 传感器的安全问题 。对 操作系统安全性 的讨论主要集中在ROS上。详细介绍了ROS version 2采用的安全增强数据分发服务(DDS)。 控制系统的安全性分析 主要集中在控制器局域网(CAN)上。 基于5种攻击路径分析了CAN网络的脆弱性: 1)OBD-II;2)电动汽车充电器;3) CD播放器;4)及全面;5)蓝牙。提出了两类保护方法:1)基于加密/认证的保护方法和2)基于入侵检测的保护方法。介绍了基于CAN总线的控制区域网络标准(CAN FD)的最新进展。基于4类攻击对V2X通信的安全性 进行分析:1)认证/鉴别;2)可用性;3)数据完整性;4)保密性。此外,对基于区块链的车载网安全措施进行了综述。最后,给出了6个真实的无人驾驶汽车安全事件。然后,提出了面向自动驾驶安全的概念多层防御框架;
本文其余部分的结构如下。在第二节中,我们回顾了自动驾驶系统的主要组成部分和技术。在第三节中,我们讨论了自动驾驶汽车的五个关键传感器的安全性。在第四节中,我们分析了流行的自动驾驶汽车操作系统的安全性。重点讨论在自动驾驶领域占据主导地位的ROS。第五部分讨论了基于CAN总线的控制系统的安全性。介绍了CAN网络的弱点、攻击和防护措施。在CAN FD的基础上,提出了新的CAN标准。第六部分总结了针对车联网通信的攻击及解决方案。在第七- a节中,介绍了六起自动驾驶汽车的真实安全事件。这些事件分为4类:1)传感器安全;2)操作系统安全性;3)控制系统安全;4) V2X通信安全。在第七- b节中,我们提出了一个汽车信息安全的概念防御框架。最后,我们在第八节提出我们的结论。
2.自动驾驶技术
2.1.组成
2.2.技术
3.传感器安全
3.1.照相机
3.2.GNSS(全球导航系统)/IMU(惯性测量单元)
3.3.超声波传感器
3.4.毫米波雷达
3.5.激光雷达
3.6.多传感器交叉验证
3.7.传感器故障
4.操作系统安全
4.1.早期移动机器人操作系统
4.2.ROS
4.3.ROS的安全性
4.4.ROS2的安全性增强
4.5.ROS2的缺点
5.控制系统安全
5.1.CAN
5.2.
6.V2X通信安全
7.讨论和解决方案
8.结论
安全是自动驾驶的首要要求。本文从四个方面进行了回顾性和前瞻性研究:1)传感器安全;2)操作系统安全;3)控制系统安全;4) V2X通信安全。详细讨论了每种攻击路径以及针对这些攻击路径的现有防御措施。自动驾驶汽车的安全问题是由黑客入侵和篡改数据引起的,属于信息安全的范畴,因此,本工作提出了一个概念框架来构建高效的车辆信息安全。然而,如果要实现自动驾驶汽车的量产,学术界和工业界还需要对自动驾驶模块的攻击面进行额外的研究。我们希望这篇文章能引起计算机和汽车界的注意。
相关文章:
【论文阅读】自动驾驶安全的研究现状与挑战
文章目录 摘要1.引言1.1.自动驾驶安全1.2.攻击面1.3.内容和路线图 2.自动驾驶技术2.1.组成2.2.技术 3.传感器安全3.1.照相机3.2.GNSS(全球导航系统)/IMU(惯性测量单元)3.3.超声波传感器3.4.毫米波雷达3.5.激光雷达3.6.多传感器交叉…...
标签打印小工具 选择图片打印,按实际尺寸打印。可旋转图片
您可以尝试使用以下标签打印工具: 柯尼卡美能达标签打印机:功能齐全、易于使用的打印机,支持各种标签尺寸和类型。 赛门铁克标签打印机:高速打印、可靠性强的打印机,支持多种操作系统和软件。 齐柏林标签打印机&…...
什么是深拷贝和浅拷贝?
面试回答 在计算机内存中,每个对象都有一个地址,这个地址指向对象在内存中存储的位置。当我们使用变量引用一个对象时,实际上是将该对象的地址赋值给变量。因此,如果我们将一个对象复制到另一个变量中国,实际上是将对象…...
安装docker服务及docker基本操作
一、docker安装(yum安装) 基于centos7 1.添加docker-ce 源信息 安装依赖包(yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要device-mapper-persistent-data 和 lvm2) yum install yum-…...
【项目经验】:项目中下拉框数据太多造成页面卡顿(二)
一.项目需求 下拉框下拉列表数据是由后端返回的,而且他会变化,所以数据不是写死的而且数据量大。上一篇博客http://t.csdn.cn/sSNTa我们是用的数据懒加载的方式,这次我们使用远程搜索的方式解决这个问题。 二.用到的组件方法介绍 filterabl…...
Prompt本质解密及Evaluation实战(一)
一、基于evaluation的prompt使用解析 基于大模型的应用评估与传统应用程序的评估不太一样,特别是基于GPT系列或者生成式语言模型,因为模型生成的内容与传统意义上所说的内容或者标签不太一样。 以下是借用了ChatGPT官方的evaluation指南提出的对结果的具…...
linux 在系统已有python2版本下安装python3
方法一:使用包管理器安装 更新包索引: sudo apt update 安装Python3: sudo apt install python3 安装Python3的pip(如果你需要): sudo apt install python3-pip 验证Python 2和3的安装: pyt…...
IO多路转接 ——— select、poll、epoll
select初识 select是系统提供的一个多路转接接口。 select系统调用可以让我们的程序同时监视多个文件描述符的上的事件是否就绪。 select的核心工作就是等,当监视的多个文件描述符中有一个或多个事件就绪时,select才会成功返回并将对应文件描述符的就绪…...
FPGA原理与结构——FIFO IP核原理学习
一、FIFO概述 1、FIFO的定义 FIFO是英文First-In-First-Out的缩写,是一种先入先出的数据缓冲器,与一般的存储器的区别在于没有地址线, 使用起来简单,缺点是只能顺序读写数据,其数据地址由内部读写指针自动加1完成&…...
【Linux操作系统】Linux中的信号回收:管理子进程的关键步骤
在Linux中,我们可以通过捕获SIGCHLD信号来实现对子进程的回收。当一个子进程终止时,内核会向其父进程发送SIGCHLD信号。父进程可以通过注册信号处理函数,并在处理函数中调用wait()或waitpid()函数来回收已终止的子进程。 文章目录 借助信号捕…...
Spark大数据分析与实战笔记(第一章 Scala语言基础-1)
文章目录 章节概要1.1 初识Scala1.1.1 Scala的概述1.1.2 Scala的下载安装1.1.3 在IDEA开发工具中下载安装Scala插件1.1.4 开发第一个Scala程序 章节概要 Spark是专为大规模数据处理而设计的快速通用的计算引擎,它是由Scala语言开发实现的,关于大数据技术…...
R语言03-R语言中的矩阵
概念 在R语言中,矩阵(Matrix)是一个二维的数据结构,由行和列组成,其中所有元素必须具有相同的数据类型。矩阵可以用于存储数值型数据,常用于线性代数运算、统计计算以及数据处理等领域。 代码示例 # 创建…...
“深入理解JVM:探索Java虚拟机的工作原理与优化技巧“
标题:深入理解JVM:探索Java虚拟机的工作原理与优化技巧 摘要:本文将深入探索Java虚拟机(JVM)的工作原理及优化技巧。我们将介绍JVM的架构和组成部分,解释JVM是如何将Java字节码转换为可执行代码的。我们还…...
SQL注入原理
SQL、SQL注入是什么? 结构化查询语言(Structured Query Language,SQL),是一种特殊的编程语言,用于数据库的标准数据查询。1986 年10 月美国国家标准协会对SQL 进行了规范后,以此作为关系型数据库系统的标准语言。1987 …...
PIL.Image和base64,格式互转
将PIL.Image转base64 ##PIL转base64 import base64 from io import BytesIOdef pil_base64(image):img_buffer BytesIO()image.save(img_buffer, formatJPEG)byte_data img_buffer.getvalue()base64_str base64.b64encode(byte_data)return base64_str将base64转PIL.Image …...
vue父子组件传值(v-model)
父组件使用v-model传值给子组件 <template><!-- 按钮 --> <el-button click"addMenu(new)">打开弹框</el-button><!-- 自定义组件,下面这两种写法都可以👇 --> <MediaDialog :name"name" v-model:visible&qu…...
Java接口详解
接口 接口的概念 在现实生活中,接口的例子比比皆是,比如:笔记本上的USB口,电源插座等。 电脑的USB口上,可以插:U盘,鼠标,键盘等所有符合USB协议的设备 电源插座插孔上,…...
Windows共享文件夹,用户密码访问
Windows共享文件夹,用户密码访问 小白教程,一看就会,一做就成。 1.先创建一个用户 计算机右键----管理----本地用户和组----点击用户进去---右键新建用户 这里以kk为例 2.找到你想共享的文件夹 3.共享-想共享的文件夹---右键---属性---共…...
Mac更新node
查看本机node版本 node -v 删除node相关内存 sudo npm cache clean -f 安装n sudo npm install n -g 更新node版本 sudo n stable // 把当前系统的 Node 更新成最新的 “稳定版本” sudo n lts // 长期支持版 sudo n latest // 最新版 sudo n 18.17.1 // 指定安装版本 可以顺便…...
2023国赛数学建模思路 - 案例:粒子群算法
文章目录 1 什么是粒子群算法?2 举个例子3 还是一个例子算法流程算法实现建模资料 # 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 什么是粒子群算法? 粒子群算法(Pa…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
