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

文章目录

  • 术语解释
  • 摘要
  • 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通信安全
    • 6.1.V2X通信
    • 6.2.V2X通信攻击及解决方案
    • 6.3.V2X通信模拟器
    • 6.4.现有方法的弊端
  • 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期刊)

术语解释

  • IoVs:Internet of Vehicles 车联网
  • V2X:Vehicle to Everything 车用无线通信技术
  • V2V:Vehicle to Vehicle 车辆到车辆
  • V2I:Vehicle to Infrastructure 车辆到设施
  • V2P:Vehicle to Pedestrian 车辆到行人
  • V2N:Vehicle to Network 车辆到网络

摘要

过去十年,自动驾驶行业迅速发展。尽管无人驾驶毫无疑问已经成为本世纪最有前途的技术之一,但其发展面临着多重挑战,其中安全是主要问题。在本文中,我们对自动驾驶安全性进行了全面的分析。首先,提出了自动驾驶的攻击面。在从关键部件和技术方面分析了自动驾驶的运行后, 从四个维度阐述了自动驾驶的安全性: 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通信安全

当自动驾驶汽车在路上行驶时,它就成为了IoV的一部分。V2X是一个包罗万象的术语,用于描述车联网的通信机制。如第1节所述,这些机制通常包括V2V、V2I、V2P和V2N。车辆可以通过V2X获取一系列交通信息(如实时路况、行人、周围车辆状态等)。保护V2X通信安全是自动驾驶的一个重要领域。本节主要讨论:V2X存在的安全隐患及解决方案

6.1.V2X通信

V2X中的四种通信方式如图所示:

  • 在V2V中,最常见的应用场景是城市街道和高速公路,车辆之间相互发送数据以实现信息共享。这些信息包括车辆的速度、运动方向、加速度、制动、相对位置、转向等。通过预测其他车辆的驾驶行为,车辆可以提前采取安全措施。
  • 在V2I中,车载设备与基础设施点路边单元(rsu)进行通信。rsu获取附近车辆的信息,并在门户网站上发布实时信息。
  • 在V2P中,车辆通过多个传感器识别附近行人的行为。必要时,可以用灯和喇叭发出警告。预计行人届时会意识到潜在的危险。
  • 在V2N中,车载设备与云服务器通信以交换信息。云(服务器)储存和分析上传的数据并为车辆提供各种各样的服务,例如:导航,远程监控,紧急援助和车内娱乐。

6.2.V2X通信攻击及解决方案

hasrouy等人[153]根据被破坏的服务对V2X攻击进行了分类。攻击分为四类:

  • 1)真实性/身份识别;
  • 2)可用性;
  • 3)数据完整性;
  • 4)保密。
  • 在此,我们基于这一分类进行了深入的研究,并回顾了一些著名的文献。表1总结了这四类的代表性研究:

6.3.V2X通信模拟器

V2X通信安全的研究需要强有力的实验支持。由于在真实环境中进行实验需要消耗人力和其他物质资源,对于不成熟的自动驾驶技术来说,过度的实验可能是一种浪费时间的行为。一般有两种模拟器:1)网络模拟器(Network Simulator)2)流量模拟器(Traffic Simulator) 。网络模拟器用于测试网络协议和应用程序的性能,交通模拟器用于生成车辆轨迹。

表II总结了V2X通信研究中常用的模拟器,如下图所示。
在这里插入图片描述

6.4.现有方法的弊端

7.讨论和解决方案

8.结论

安全是自动驾驶的首要要求。本文从四个方面进行了回顾性和前瞻性研究:1)传感器安全;2)操作系统安全;3)控制系统安全;4) V2X通信安全。详细讨论了每种攻击路径以及针对这些攻击路径的现有防御措施。自动驾驶汽车的安全问题是由黑客入侵和篡改数据引起的,属于信息安全的范畴,因此,本工作提出了一个概念框架来构建高效的车辆信息安全。然而,如果要实现自动驾驶汽车的量产,学术界和工业界还需要对自动驾驶模块的攻击面进行额外的研究。我们希望这篇文章能引起计算机和汽车界的注意。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Harbour.Space Scholarship Contest 2023-2024 (Div. 1 + Div. 2) A ~ D

比赛链接 A 正常枚举就行&#xff0c;从最后一位往前枚举&#xff0c;-1、-2、-3...这样 #include<bits/stdc.h> #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define endl \nusing namespace std;typedef pair<int, int> PII; typedef long l…

使用windeployqt和InstallShield打包发布Qt软件的流程

前言 Qt编译之后需要打包发布&#xff0c;并且发布给用户后需要增加一个安装软件&#xff0c;通过安装软件可以实现Qt软件的安装&#xff1b;用于安装软件的软件有很多&#xff0c;这里主要介绍InstallShield使用的流程&#xff1b; 使用windeployqt打包Qt编译后的程序 Qt程序…

手写数字识别之损失函数

目录 交叉熵 手写数字识别之损失函数 分类任务的损失函数 Softmax函数 交叉熵的简单理解&#xff1a;真实分布与非真实分布的交叉&#xff0c;完全对应&#xff0c;熵为0 交叉熵的代码实现 交叉熵 给定一个策略, 交叉熵就是在该策略下猜中颜色所需要的问题的期望值。更普…

LeetCode-56-合并区间

题目描述&#xff1a; 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 可以使用 LinkedList&#xff0c;…

利用 IDEA IDE 的轻量编辑模式快速查看和编辑工程外的文本文件

作为程序员, 我们都知道 IDE 的很好用的, 它的文本编辑器功能也非常的强大, 用起来非常便捷. 在长年累月的使用中, 我们也变得对其非常熟悉, 以致于使用起其它简单地轻量级的文本编辑器来, 比如什么记事本, Notepad, UltraEdit 等等呀, 觉得既不方便又不熟悉. 关键是很多的操作…

原生微信小程序 动态(横向,纵向)公告(广告)栏

先看一下动态效果 Y轴滚动公告的原理是swiper组件在页面中的Y轴滚动&#xff0c;属性vertical&#xff0c;其余属性也设置一下autoplay circular interval"3000" X轴滚动的原理是&#xff0c;利用动画效果&#xff0c;将内容从右往左过渡过去 wxml&#xff1a; &l…

「Python|音视频处理|环境准备」如何在Windows系统下安装并配置音视频处理工具FFmpeg

本文主要介绍如何在Windows系统下安装并配置音视频处理工具FFmpeg&#xff0c;方便使用python进行音视频相关的下载或编辑处理。 文章目录 一、下载软件二、解压并配置三、验证安装 一、下载软件 首先要去 ffmpeg官网 下载软件包 由于上面直接下载的按钮是.tar.xz格式的。为了…

http协议与apache

http概念&#xff1a; 互联网&#xff1a;是网络的网络&#xff0c;是所有类型网络的母集 因特网&#xff1a;世界上最大的互联网网络。即因特网概念从属于互联网概念 万维网&#xff1a;万维网并非某种特殊的计算机网络&#xff0c;是一个大规模的、联机式的信息贮藏库&…

Redis基础知识

Redis基础知识 redis共有16个数据库&#xff0c;默认使用的是第0个 可以使用select进行切换数据库 # 切换数据库 127.0.0.1:6379> select 1 OK # 查看DB大小 127.0.0.1:6379[1]> DBSIZE (integer) 0查看当前数据库所有的key 127.0.0.1:6379> keys * #查看当前数据…

Sketch 98 中文版-mac矢量绘图设计

Sketch是一款专为Mac操作系统设计的矢量图形编辑软件&#xff0c;被广泛应用于UI/UX设计、网页设计、移动应用设计等领域。Sketch提供了各种工具和功能&#xff0c;包括绘图、图形设计、排版等&#xff0c;可以帮助设计师轻松地创建高质量的矢量图形和模型。Sketch的主要特点包…

React笔记(二)JSX

一、JSX JSX是javascript XML的简写&#xff0c;实际上是javascript的扩展&#xff0c;既有javascript的语法结构&#xff0c;又有XML的结构 1、JSX的规则要求 jsx必须要有一个根节点 如果不想产生无用的根标签&#xff0c;但是还要遵守JSX的语法的要求&#xff0c;可以使用…

Pycharm链接远程mysql报错

Pycharm链接远程mysql配置及相应报错如下&#xff1a; 解决方法&#xff1a; 去服务器确认Mysql版本号&#xff1a; 我的Mysql为5.7.43&#xff0c;此时Pycharm mysql驱动为8.0版本&#xff0c;不匹配&#xff0c;所以需要根据实际的版本选择对应的驱动&#xff1b;选择对应的版…

Go并发可视化解释 - Select语句

昨天&#xff0c;我发布了一篇文章&#xff0c;用可视化的方式解释了Golang中通道&#xff08;Channel&#xff09;的工作原理。如果你对通道的理解仍然存在困难&#xff0c;最好呢请在阅读本文之前先查看那篇文章。作为一个快速的复习&#xff1a;Partier、Candier 和 Stringe…

WebGL非矩阵变换

目录 平移 示例代码&#xff1a; 齐次坐标矢量的最后一个分量w 旋转 p的坐标&#xff0c;可得等式 R1&#xff1a; 使用r、α、β来表示点p的坐标&#xff0c;可得等式 R2&#xff1a; 利用三角函数两角和公式&#xff0c;可得等式 R3&#xff1a; 最后&#xff0c;将…

无涯教程-进程 - 组会话控制

在本章中&#xff0c;我们将熟悉进程组&#xff0c;会话和作业控制。 进程组(Process Groups ) - 进程组是一个或多个进程的集合&#xff0c;一个进程组由一个或多个共享相同进程组标识符(PGID)的进程组成。 会话(Sessions) - 它是各种进程组的集合。…

QT学习笔记-开发环境编译Qt MySql数据库驱动与交叉编译Qt MySql数据库驱动

QT学习笔记-开发环境编译Qt MySql数据库驱动与交叉编译Qt MySql数据库驱动 0、背景1、基本环境2、开发环境编译Qt MySql数据库驱动2.1 依赖说明2.2 MySQL驱动编译过程 3、交叉编译Qt MySql数据库驱动3.1 依赖说明3.3.1 如何在交叉编译服务器上找到mysql.h及相关头文件3.3.2 如果…

保姆级 Keras 实现 Faster R-CNN 十

保姆级 Keras 实现 Faster R-CNN 十 一. 建议区域矩形二. 定义 ProposalLyaer1. __init__函数2. build 函数3. call 函数3.1 生成 anchor_box3.2 找出 anchor 处最大分数, 最大分数对应的 anchor_box 和修正参数3. 3 修正 anchor_box3.4 完成 call 函数 4. compute_output_shap…

二级MySQL(九)——表格数据处理练习

在Mysql中&#xff0c;可以用INSERT或【REPLACE】语句&#xff0c;向数据库中已一个已有的表中插入一行或多行记录。 在Mysql中&#xff0c;可以用【DELETE】或【TRUNCATE】语句删除表中的所有记录。 在Mysql中&#xff0c;可以用【UPDATE】语句来修改数据表中的记录。 为了完…

windows系统 Fooocus 图片生成模型 ,4-6GB显存即可玩,27S/p

安装步骤: 1.下载程序代码框架,大小2GB ,下载 ​​​​​​https://github.com/lllyasviel/Fooocus/releases/download/1.0.35/Fooocus_win64_1-1-1035.7z 2.下载模型文件sd_xl_base_1.0_0.9vae.safetensors ,大小6GBhttps://huggingface.co/stabilityai/stable-diffusion-x…

[完美解决]Vue项目运行时出现this[kHandle] = new _Hash(algorithm, xofLen)

vue项目运行bug解决办法 一、问题内容二、问题出现的原因三、解决方法1、方法一(推荐)2、方法二(可以解决&#xff0c;但不太推荐) 一、问题内容 在github寻找一些vue项目clone到本地时候&#xff0c;npm i没有问题&#xff0c;但是npm run serve 或者npm run dev的时候会出现…