鉴源实验室 | 自动驾驶传感器攻击研究

作者 | 付海涛 上海控安可信软件创新研究院汽车网络安全组

来源 | 鉴源实验室

社群 | 添加微信号“TICPShanghai”加入“上海控安51fusa安全社区”

01

自动驾驶汽车的脆弱性

自2015年以来,汽车的信息安全问题受到国内外的广泛关注。而随着汽车的智能化与网联化的进程,汽车搭载了更多ECU、软件与传感器,这些ECU、软件与传感器无疑赋能了智能网联汽车,但同时也为汽车带来了更多的信息安全问题。而对于现今的自动驾驶汽车来说,由于传感器的增加和感知网络等软件的存在,使得自动驾驶汽车在信息安全上相较于其它汽车更为脆弱。自动驾驶汽车信息安全的脆弱性来源于两个方面:传感器的脆弱性和神经网络的脆弱性。

传感器的脆弱性使得汽车在不同的场景或是极端条件下难以正常工作,使得黑客可以利用传感器的脆弱性对自动驾驶汽车进行攻击。比如在暗处突然对摄像头使用强光进行照射使摄像头过曝,向GNSS传感器发送虚假的GNSS信号从而影响自动驾驶汽车的决策。不少厂家或机构注意到传感器的脆弱性可能会阻碍自动驾驶汽车的进一步发展,推出了各种产品和标准来加固传感器的脆弱之处,如著名的镜头商索尼推出的索尼汽车用 CMOS 图像传感器使得摄像头即使在面对亮度变化较大的情况依旧可以表现良好[1],如欧洲标准委员会提出的GNSS信息安全测试的标准[2]。

神经网络的脆弱性使得自动驾驶汽车的识别结果不再可信,从而导致自动驾驶汽车做出预期之外的行为。2014年,Szegedy等的研究指出,在待识别图片中巧妙地加入一定的噪声,会使得图像被神经网络误分类[3]。Szegedy等的研究揭示了神经网络的脆弱性,使得神经网络的攻击方法成为了近年来深度学习的研究热点之一,而后多种神经网络的攻击方法和防御方法被相继提出,包括但不限于:在图像输入至神经网络前先对神经网络进行平滑,使用生成的攻击样本(advisal image,又称对抗图像)进行训练,关闭在识别正常图像过程中没有被激活的神经元等。但神经网络的防御方法的发现往往会滞后于[a1] 攻击方法的出现,因此使得神经网络的脆弱性一直处于没有处理的状态。

自动驾驶汽车的感知模块恰恰包含这两个部分,因此我们尝试从这两个方面着手,探讨自动驾驶汽车的攻击方法。考虑到摄像头的泛用性,我们将摄像头和神经网络作为研究对象,研究如何通过摄像头和神经网络攻击自动驾驶汽车。

02

如何通过摄像头和神经网络攻击自动驾驶汽车

目前,对于自动驾驶汽车的卷积神经存在多种攻击算法,但是鲜有研究对实际的攻击实施方案进行研究。本文不对攻击的算法做出具体的介绍,而是着重对攻击的可行方式进行探讨。我们从对二维感知模块进行攻击的可行路径进行分类,可将对二维感知模块的卷积网络的可行攻击方案分为三类:(1)通过车载网络进行攻击;(2)通过二维感知网络后门进行攻击;(3)通过摄像头拍摄的画面进行物理攻击。接下来,按照这三种分类对自动驾驶二维感知网络可能的攻击方法的可行方法和可行性进行探讨。

2.1 通过车载网络进行攻击

通过车载网络进行攻击的流程如图1所示,攻击基本可以分为以下几步:

(1)攻击者渗透进入车联网内部;

(2)攻击者获取二维感知模块访问权限;

(3)通过二维感知模块的进行多次查询生成对抗性扰动;

(4)将对抗性扰动注入到摄像头中;

(5)成功攻击。

通过车载网络进行攻击的方法除了要求攻击者拥有专业的渗透知识和经验,还要求攻击者对待攻击车辆的内部电子电气架构有一定的了解。因为不同的车型的电子电器架构不同,导致对二维感知模块进行注入攻击的攻击路径也不同,如2015年安全研究人员Charlie Miller和Chris Valasek是通过“音频系统->CAN(Controller Area Network)总线->感知模块”的攻击路径对Jeep车辆的进行了攻击[4],2016年安全研究人员Damon McCoy和Hisakazu Torii则是通过wifi入侵了汽车网络完成了攻击[5]。通过车载网络进行攻击的方案不存在通用的攻击方案且对攻击者有一定的专业背景要求,从实际实施上具有一定的难度。相应地,通过车载网络直接对二维感知模块进行攻击相比于物理攻击对二维感知模块造成的危害更为直接有效,如直接使得摄像头画面丢失使得二维感知网络无法进行二维感知。但同时这种直接有效的攻击不具有隐蔽性,很容易被安全测试人员排查得出并且对漏洞进行修复。考虑到这一点,可以使用更为隐蔽的对抗性攻击对二维感知网络进行攻击,如使用FGSM生成对抗性扰动噪声,这些噪声非常细微使得人眼难以察觉到,能够对安全人员进行漏洞修复起到一定的阻碍作用,相比于直接使得摄像头画面丢失的攻击更为有效。但这些隐蔽的对抗性噪声同时也容易通过平滑进行防御。因此最为有效的方法是使用一些具有一定隐蔽性且不容易被平滑的噪声,如光点[6]等。

图1 通过车载网络进行攻击

总的来说,通过车载网络进行攻击的攻击方式对攻击人员的要求高且实施较为困难,使得攻击的成本较大。另外通过车载网络进行攻击十分有效且攻击的具体方法十分多样,但这种攻击的攻击路径较为单一,因此在防范时只要能使得攻击者无法通过攻击路径访问到二维感知模块的有关资产即可。

2.2 通过卷积神经网络进行后门攻击

卷积神经网络的后门攻击指的是攻击者通过训练样本在二维感知网络中植入后门,使得卷积神经网络在对目标进行识别时对于不带有后门的样本能够正确识别,而对于带有后门的样本误识别。

通过卷积神经网络进行后门攻击的基本路径如图2所示,攻击可以分为以下几个步骤:

(1)攻击者获取训练数据集的修改权限,并把植入后门的样本置入模型的待训练样本库中;

(2)攻击者等待卷积神经训练完成;

(3)攻击者在物理空间或是摄像头信号中植入对抗性扰动;

(4)攻击成功。

图2 通过二维感知网络进行后门攻击流程图

通过卷积神经网络后门进行攻击的方法已在一些基于人工智能的应用的渗透方案中被应用,如黑客使用此种方法对Google的垃圾邮件垃圾分类系统进行攻击[7]。目前使用此种方法对二维感知网络进行攻击存在训练前阶段进行和训练后阶段进行。对于自动驾驶二维感知网络的后门注入,则只能在训练阶段进行,因为自动驾驶汽车的二维感知网络在训练后参数不会因为用户的查询而更新。

对于目前自动驾驶汽车厂商来说,二维感知模块的训练样本来源存在以下两种:(1)公共数据集;(2)第三方外包或是自建数据集。

(1)对于公共数据集,虽然攻击者可以通过成为贡献者进行后门的注入,但一般来说公共数据集的样本数量众多,要做到让样本能够学习到攻击者注入的后门,攻击者需要注入大量的带后门数据或是对后门进行一定的设计;

(2)对于第三方或是自建的数据集,攻击者只能通过社会工程学的手段或是成为内部人员进行后门的注入。而对于后门的实际使用,既可以通过数字信号进行也可以通过物理进行。

总的来说,通过卷积神经网络后门进行攻击的方法对攻击者有一定的专业背景要求和对数据集的权限要求,使得在实施上具有一定的难度。相较于通过车载网络进行攻击和通过摄像头进行物理攻击,在攻击的路径上更为多样。但由于本身攻击是通过在神经网络中注入后门进行的,因此在防范时只要通过一些卷积神经网络后门检测的方法如筛选识别正确样本时未被激活的神经元,对这些神经元进行修复即可。

2.3 通过摄像头进行物理攻击

除去通过车载网络对进行攻击和通过神经网络后门进行攻击,另一个攻击方式是通过摄像头对二维感知网络进行攻击,如使用强光照射摄像头,对待识别目标直接进行遮挡等。但这种直接攻击的方式在目前存在于自动驾驶汽车的预期功能测试方案中,使得直接通过强光或是遮挡的方式进行攻击效果不佳。因此我们进行探讨时,使用对抗性扰动作为攻击的载体,来对摄像头进行物理攻击。通过摄像头进行物理攻击的攻击方案如图3所示。(1)攻击者获取二维感知网络的访问权限;(2)攻击者通过扰动生成算法生成对抗性扰动;(3)攻击者在物理世界重现对抗性扰动;(4)摄像头捕获扰动后的待识别目标;(5)攻击者成功攻击待识别网络。

图3 通过摄像头进行物理攻击

相比于通过车载网络进行攻击的方式,使用摄像头进行物理攻击的方式不需要专业人员的全程参与,在具有专业背景的攻击人员完成对抗性扰动的生成后,可由其它不具备专业背景的人员进行实施攻击,因此通过摄像头对二维感知网络进行物理攻击的实施难度相比于通过车载网络进行攻击的实施难度低。同时,通过摄像头进行物理攻击的方式相比于后门攻击和通过车载网络进行攻击更加难以防范:由于是直接通过“物理世界->摄像头->二维感知信号->二维感知网络”的攻击链路进行的攻击,安全人员难以在保证摄像头的功能安全的同时防范物理攻击;另外,物理攻击由于发生的地点对于安全人员来说具有不可预测性,使得对于物理攻击的防范的难度更高。但物理攻击的有效性会受到多种环境因素的影响,如使用阴影的Adv-Shadow[8]容易受到光照的影响,导致一些攻击实施后成功率不如通过其它两种方式进行攻击。

使用物理攻击对二维感知网络进行攻击的方法实施难度和攻击成本较低,且有无物理攻击是基于摄像头的功能安全构建的,使得此种攻击难以防范。但通过物理攻击进行攻击的成功率比后门攻击和通过车载网络进行攻击的成功率低。但由于攻击发生的随机性以及不可预见性使得此种攻击难以被防范,且由于是通过二维感知网络本身的缺陷进行的攻击,因此也难以在开发过程中被检测出。

03

结论

虽然存在着多种通过摄像头对自动驾驶汽车进行攻击的方式,但每种方式的时间成本和实施难度不同,需要更进一步的实验或分析才能得出理论最佳的方式。但自动驾驶汽车的脆弱性应当得到各厂商广泛关注,在自动驾驶汽车的开发过程和神经网络的保密性上加强管理。

参考文献:

[1]Sony. 索尼半导体将发布行业突破性*1的安防用CMOS图像传感器--同时实现捕捉图像的全像素输出和感兴趣区域的高速输出|新闻稿|Sony Semiconductor Solutions Group[EB/OL].[2023-10-18].https://www.sony-semicon.com/cn/news/2022/2022072001.html.

[2]EN 16803-3:2020 - Space - Use of GNSS-based positioning for road Intelligent Transport Systems (ITS) - Part 3: Assessment of security performances of GNSS-based positioning terminals[EB/OL]. [2023-10-18]. https://standards-iteh-ai.translate.goog/catalog/standards/cen/c8686c3b-c90f-472b-8869-ea82d3f76d52/en-16803-3-2020.

[3]Goodfellow I, Shlens J, Szegedy C. Explaining and Harnessing Adversarial Examples[J]. arXiv: Machine Learning, 2014.

[4]Miller C, Valasek C. Remote exploitation of an unaltered passenger vehicle[J]. Black Hat USA, 2015,2015(S 91):1-91.

[5]'Millions' of Volkswagen cars can be unlocked via hack[EB/OL]. [2023-10-23]. https://www.bbc.com/news/technology-37057689.

[6]Yufeng L I, Fengyu Y, Qi L, et al. Light can be Dangerous: Stealthy and Effective Physical-world Adversarial Attack by Spot Light[J]. Computers \& Security, 2023:103345.

[7]Attacks against machine learning — an overview[EB/OL]. [2023-10-23]. https://elie.net/blog/ai/attacks-against-machine-learning-an-overview/.

[8]Zhong Y, Liu X, Zhai D, et al. Shadows can be dangerous: Stealthy and effective physical-world adversarial attack by natural phenomenon[C], 2022.

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

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

相关文章

上海物理、化学高考命题趋势及2024年上海物理、化学高考备考建议

在上海高考时,物理、化学虽然不像语文、英语和数学那样分数高,但是仍然很重要。那么,从这几年的上海物理、化学的高考题目来看,我们互发现什么命题趋势和考题特点呢?如何备考接下来的2024年高考物理和化学呢&#xff1…

Ubuntu下安装vscode,并解决终端打不开vscode的问题

Visual Studio Code安装 1,使用 apt 安装 Visual Studio Code 在官方的微软 Apt 源仓库中可用。按照下面的步骤进行即可: 以 sudo 用户身份运行下面的命令,更新软件包索引,并且安装依赖软件: sudo apt update sud…

uniapp 微信小程ios端键盘弹起后导致页面无法滚动

项目业务逻辑和出现的问题整理 新增页面 用户可以主动添加输入文本框 添加多了就会导致当前页面出现滚动条,这就导致ios端滚动页面的时候去点击输入框键盘抬起再关闭的时候去滚动页面发现页面滚动不了(偶尔出现),经过多次测试发现是键盘抬起的时候 主动向上滑动 100%出现这种问…

【Linux】进程的概念

文章目录 1. 基本概念2. 进程的描述3. 进程的一些基本操作3.1 查看进程3.2 结束进程3.3 通过系统调用获取进程标示符3.4 通过系统调用来创建子进程 4. 进程状态4.1 操作系统的进程状态4.2 Linux对于这些状态的处理方式 1. 基本概念 什么是进程? 在回答这个问题之前…

云安全—docker Deamon攻击面

0x00 前言 本篇文章主要是讲docker Deamon的原理以及docker Deamon攻击面相关的内容,属于抛砖引玉系列,如有不妥之处还请斧正。 0x01 docker Deamon 还是先来看一下docker Deamon的一些相关知识,依旧是采用问答的方式来进行。为了文章的整…

2023-11-04:用go语言,如果n = 1,打印 1*** 如果n = 2,打印 1*** 3*** 2*** 如果n = 3,打印

2023-11-04:用go语言,如果n 1,打印 1*** 如果n 2,打印 1***3*** 2*** 如果n 3,打印 1***3*** 2***4*** 5*** 6*** 如果n 4,打印 1***3*** 2***4*** 5*** 6***10** 9*** 8*** 7*** 输入…

Spring底层原理(六)

Spring底层原理(六) 本章内容 介绍AOP的实现方式、JDK代理的模拟实现与源码 AOP的实现方式 使用代理模式 jdk动态代理cglib动态代理 使用aspectj的编译器,该编译器会直接对字节码进行修改,可以实现静态方法增强 使用javaagent,在jvm option中指定-…

高匿IP有什么作用

在互联网的蓬勃发展中,IP地址作为网络通信的基础,一直扮演着举足轻重的角色。而在诸多IP地址中,高匿IP地址则是一种特殊类型,其作用和价值在某些特定场合下尤为突出。那么,高匿IP地址究竟有哪些用处呢? 首先…

[动态规划] (五) 路径问题: LeetCode 62.不同路径

[动态规划] (五) 路径问题: LeetCode 62.不同路径 文章目录 [动态规划] (五) 路径问题: LeetCode 62.不同路径题目解析解题思路状态表示状态转移方程初始化和填表返回值 代码实现总结 62. 不同路径 题目解析 (1) 机器人从左上角到右下角有多少方法 (2) 机器人只能向左或者向右…

掌握Maven和SpringBoot的灵活性:定制化lib目录和依赖范围

前言 在开发基于Maven和SpringBoot的项目时,我们经常会使用第三方库来满足需求。然而,有时候我们需要更灵活地控制这些库的依赖范围和加载方式。本文将介绍如何使用Maven和SpringBoot实现定制化的lib目录和依赖范围。经过如下定制化后,打包执…

[PyTorch][chapter 61][强化学习-免模型学习1]

前言: 在现实的学习任务中,环境 其中的转移概率P,奖赏函数R 是未知的,或者状态X也是未知的 称为免模型学习(model-free learning) 目录: 1: 蒙特卡洛强化学习 2:同策略-蒙特卡洛强化学习 3&am…

阿里云免费服务器

文章目录 最近的阿里云活动By the way在云服务器ECS上搭建个人网站正文补充:定期释放补充:不知道阿里云服务器的密码怎么办?成果补充:怎么找到实例操作的后台?补充:怎么查看服务器到期时间? 究竟白嫖了多少?最后&…

修复dinput8.dll文件的缺失,以及修复dinput8.dll文件时需要注意什么

dinput8.dll文件通常在使用大型游戏时容易出现dinput8.dll文件丢失的情况,今天这篇文章将要教大家修复dinput8.dll文件的缺失,同时在修复dinput8.dll文件时需要注意些什么?防止文件在修复的过程中出现其他的错误。 dinput8.dll是DirectInput库…

部署ELK

一、elasticsearch #拉取镜像 docker pull elasticsearch:7.12.1 #创建ELK docker网络 docker network create elk #启动ELK docker run -d --name es --net elk -P -e "discovery.typesingle-node" elasticsearch:7.12.1 #拷贝配置文件 docker cp es:/usr/share/el…

Visual Studio Code 常用快捷键大全

Visual Studio Code 常用快捷键大全 快捷键是编码过程中经常使用,且能够极大提升效率的部分,这里给大家介绍一些VS Code中非常有用的快捷键。 打开和关闭侧边栏 Mac — Command B Windows — Ctrl B Ubuntu — Ctrl B 选择单词 Mac — Command D …

“第六十天”

SRAM和DRAM: DRAM:动态RAM(随机存期存储器),是使用栅极电容存储信息的; SRAM:静态RAM,是使用双稳态触发器存储信息的。 重点在于DRAM由于要通过电容放电来表示信息,所…

逆袭Flutter? Facebook 发布全新跨平台引擎 Hermes!

Facebook 于前日发布了新的 JavaScript 引擎:Hermes,专注于提高 React Native 应用的性能,并且在市面上那些内存较少、存储速度较慢且计算能力低下的移动设备上都有良好的表现。但是不是为了追赶Flutter?这块作者没有说明。 移动应…

【JMeter】插件管理工具

1. 官方下载地址 Documentation :: JMeter-Plugins.org 2.安装 将该插件的jar包移动到lib/ext下 3.重启JMeter就可以看到插件管理器 4. 安装,更新,删除插件 安装插件 删除插件 更新插件

深入理解WPF中的依赖注入和控制反转

在WPF开发中,依赖注入(Dependency Injection)和控制反转(Inversion of Control)是程序解耦的关键,在当今软件工程中占有举足轻重的地位,两者之间有着密不可分的联系。今天就以一个简单的小例子&…

防止重复提交请求

前景提要: ts 简易封装 axios,统一 API 实现在 config 中配置开关拦截器 axios 实现请求 loading 效果 用一个数组保存当前请求的 url,此时还未响应。如果再次发起同样请求,比对 url 发现已经存在数组中,则拦截请求&a…