【论文阅读】自动驾驶安全的研究现状与挑战

news2024/12/22 18:26:05

文章目录

  • 摘要
  • 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通信安全。详细讨论了每种攻击路径以及针对这些攻击路径的现有防御措施。自动驾驶汽车的安全问题是由黑客入侵和篡改数据引起的,属于信息安全的范畴,因此,本工作提出了一个概念框架来构建高效的车辆信息安全。然而,如果要实现自动驾驶汽车的量产,学术界和工业界还需要对自动驾驶模块的攻击面进行额外的研究。我们希望这篇文章能引起计算机和汽车界的注意。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/920783.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

psycopg2 使用dbutils 工具封装

1.什么是dbutils Dbutils是一套工具,可为数据库提供可靠,持久和汇总的连接,该连接可在各种多线程环境中使用。 2.使用代码记录 db_config.py 数据库配置类: # -*- coding: UTF-8 -*- import psycopg2# 数据库信息 DB_TEST_HO…

0823|C++day3 类+this指针+类中的特殊成员函数(6种)

一、思维导图 二、作业 要求: 设计一个Per类。类中包含私有成员:姓名、年龄、指针成员身高、体重; 再设计一个Stu类,类中包含私有成员:成绩、Per类对象 p1; 设计这两个类的构造函数、析构函数和拷贝构造函数…

Spring练习30---用户列表的展示,其实用户列表的展示(上)

1、我们其实刚才分析了,用户表与表之间的关系是多对多,我们内部已经用到角色的信息了,那么在实体描述的,就得描述user实体和角色的关系 2、一个用户可以有多个角色 3、所以我在描述实体关系的时候,我咋写,…

玩转Mysql系列 - 第5天:DML操作汇总,确定你都会?

这是Mysql系列第5篇。 环境:mysql5.7.25,cmd命令中进行演示。 DML(Data Manipulation Language)数据操作语言,以INSERT、UPDATE、DELETE三种指令为核心,分别代表插入、更新与删除,是必须要掌握的指令,DML…

【王道-第三章-内存管理】

#pic_center R 1 R_1 R1​ R 2 R^2 R2 目录 知识框架No.1 内存的基础知识一、什么是内存?有何作用?二、内存单位三、指令的工作原理四、三种装入方式1、绝对装入2、可重定位装入3、动态运行时装入 五、从写程序到程序运行六、链接的三种方式七、总结 No.…

stm32之8.中断

(Exceptions)异常是导致程序流更改的事件,发生这种情况,处理器将挂起当前执行的任务,并执行程序的一部分,称之为异常处理函数。在完成异常处理程序的执行之后,处理器将恢复正常的程序执行&#…

Docker容器:dockerfile创建 LNMP 服务+Wordpress 网站平台

文章目录 一.环境及准备工作1.项目环境2.服务器环境3.任务需求 二.Linux 系统基础镜像三.docker构建Nginx1.建立工作目录上传安装包2.编写 Dockerfile 脚本3.准备 nginx.conf 配置文件4.生成镜像5.创建自定义网络6.启动镜像容器7.验证 nginx 四.docker构建Mysql1. 建立工作目录…

华为数通方向HCIP-DataCom H12-821题库(单选题:61-80)

第61题 关于 BGP 的Keepalive报文消息的描述,错误的是 A、Keepalive周期性的在两个BGP邻居之间发送 B、Keepalive报文主要用于对等路由器间的运行状态和链路的可用性确认 C、Keepalive 报文只包含一个BGP数据报头 D、缺省情况下,Keepalive 的时间间隔是180s 答案&#xff…

QFileSystemModel类和QStringListModel类

QFileSystemModel介绍 QFileSystemModel是Qt框架中的一个模型类,用于在Qt应用程序中表示本地文件系统的目录结构。它提供了一种方便的方式来访问和操作文件系统中的文件和目录。下面是对QFileSystemModel的详细介绍: 目录结构的表示:QFileSy…

矩阵与图的关系:矩阵是图,图是矩阵

原文连接 线性代数最被低估的一个事实:矩阵是图,图是矩阵。 将矩阵编码为图是一种取巧的行为(cheat code),它其使复杂的行为变得易于研究。 让我告诉你怎么做! 1. 非负矩阵的有向图 (The directed graph of a nonne…

ChatGPT影响大学生思想行为模式的三个维度

ChatGPT作为新一代AI技术的代表,深刻嵌入并影响着大学生的日常学习和生活场景,其在提升学习研究效率、拓宽认知阈限、重塑人机互动模式等方面带来极大突破,也会对大学生的思想行为模式产生潜在的影响,这些影响可以从个体、关系与社…

Linux设置虚拟内存扩容-偷鸡省钱小技巧-消耗服务器的存储内存转换成运行内存-之强行突破境界

阿丹: 这一段时间各大运营商都在相互内卷,趁着这股劲拿下了几个服务器。因为降本升效(囊中羞涩)的宗旨,买的服务器的内存并没有那么大所以偷鸡技巧这就来了。 设置虚拟内容-让4G内存up!up!up!到更高! 操作…

自己实现 SpringMVC 底层机制 系列之-实现任务阶段 7- 完成简单视图解析

😀前言 自己实现 SpringMVC 底层机制 系列之-实现任务阶段 7- 完成简单视图解析 🏠个人主页:尘觉主页 🧑个人简介:大家好,我是尘觉,希望我的文章可以帮助到大家,您的满意是我的动力…

SAP VK11/VK12 创建/更新价格记录

1、事务码VK11,创建物料价格 例如,客户10001,物料200001,价格120,有效期是2023.08.23-9999.12.31 现在有活动,在2023.08.23到2023.08.31想要维护一个活动价格100,而2023.09.01到9999.12.31还是…

Java开发中非常好用的工具

一、项目工具 1.1 IDE 主流的 Java 开发工具现在非 IntelliJ IDEA 莫属。前几年,可能 Eclipse 还能和 IDEA 一争高下,到了现在已经基本是 IDEA 的天下了。 就拿我自己来说吧,我最早用 IDEA,后来用了几年 Eclipse,再后…

EasyExcel实现多sheet文件导出

文章目录 EasyExcel引入依赖表结构学生表课程表教师表 项目结构下载模板实体类StudentVoCourseVoTeacherVo ControllerServiceEasyExcelServiceStudentServiceCourseServiceTeacherService ServiceImplEasyExcelServiceImplStudentServiceImplCourseServiceImplTeacherServiceI…

嵌入式是假风口?其实是你不够强!

嵌入式系统,作为一种集成电路技术的应用,近年来备受瞩目。然而,有人质疑嵌入式系统是否真的有那么大的市场前景,甚至认为这只是一个假风口。但实际上,嵌入式系统的发展潜力远不止于此,关键在于个人实力的提…

PI SSL证书导入

导语:最近在通过PI系统,做REST接口,对方地址是https的,调用时出现错误:【适配器框架出现异常: iaik.security.ssl.SSLCertificateException; Peer certificate relected by ChainVerifie】,此问题是因为这个…

SIP播放解码器

SIP-7101 SIP播放解码器 一、描述 SIP-7101是我司的一款壁挂式SIP网络播放终端,具有10/100M以太网接口,配置一路继电器输出和一路线路输出,可将内部音源输出到外接功放,可实现广播播放功能。SIP-7101作为网络SIP系统的播放终端&…

在Linux上安装redis7

1.检测虚拟机环境 1.1 bit检测命令:getconf LONG_BIT(建议使用64bit做开发) 1.2 gcc环境检测:gcc -v 如果不具备gcc环境,则使用yum -y install gcc- c命令进行c环境的安装 2.开始安装 2.1 下载redis: 进…