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

文章目录
  • 术语解释
  • 摘要
  • 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中的四种通信方式如图所示:
![](https://img-
blog.csdnimg.cn/e0eac9c1c7f0444a92816f77a0d15b4d.png#pic_center)

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

接下来我将给各位同学划分一张学习计划表!

学习计划

那么问题又来了,作为萌新小白,我应该先学什么,再学什么?
既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:

阶段一:初级网络安全工程师

接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。

综合薪资区间6k~15k

1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(1周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(1周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(1周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?

阶段二:中级or高级网络安全工程师(看自己能力)

综合薪资区间15k~30k

7、脚本编程学习(4周)
在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。

零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习
搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;

Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完

用Python编写漏洞的exp,然后写一个简单的网络爬虫

PHP基本语法学习并书写一个简单的博客系统

熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)

了解Bootstrap的布局或者CSS。

阶段三:顶级网络安全工程师

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

学习资料分享

当然,只给予计划不给予学习资料的行为无异于耍流氓,这里给大家整理了一份【282G】的网络安全工程师从入门到精通的学习资料包,可点击下方二维码链接领取哦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值