浅谈联网汽车安全漏洞
“智能网联汽车存在内生共性问题,即软硬件的漏洞后门,基于此进行的网络攻击可以直接带来勒索、盗窃、大规模车辆恶意操控风险,还有数据泄露等网络安全事件。如果内生的漏洞后门问题不解决,系统自身难保,很难谈系统安全之上的数据安全、应用安全。”
——中国工程院院士邬江兴
随着汽车智能化、网联化技术发展,汽车远程升级(Over-The-Air,OTA)技术得到了广泛应用。然而,车载软件在远程升级过程中存在数据被仿冒、窃取、攻击的潜在风险。2020年,国家市场监督管理总局曾发布《进一步加强汽车远程升级(OTA)技术召回监管的通知》,以加强对OTA的整治力度,提升联网汽车的安全性。
研究联网汽车监管历史可以发现,根据2017年《Science》上一篇题为“Black box is not safe at all(黑匣子根本不安全)”的文章(指汽车系统的黑匣子,即OBD,On-Board Diagnostic,车载诊断系统),美国自1996年起就强制要求所有在售汽车遵循OBD-II规范,欧盟自2001年起强制实施的则是European OBD(EOBD)规范。
*盗窃事故频发的三元催化器工作原理。上述规范都对用于处理废气的三元催化器有着一定限制要求。(图源网络)
其中存在两个问题。首先,OBD-II和EOBD中都没有专门针对安全性的规范——汽车制造商是无法对“黑匣子”进行全面测试的。也就是说,十余年来,汽车安全问题一直是联网汽车的沉疴痼疾。
第二个比较重要的安全问题在于,在单部汽车的ECU(Electronic Control Unit,电控单元)数量已多达数百个的当下,现有系统增加新功能时会更易受到攻击。车载信息娱乐系统(In-Vehicle Infotainment ,IVI)、智能手机连接、车辆远程信息处理等信息交互密集的系统往往最为薄弱,是攻击者的首要围攻对象。
本文中,针对汽车的黑客攻击分为“汽车传感器攻击”和“汽车访问攻击”两大类。
汽车传感器攻击:包含GPS(Global Positioning System,全球定位系统)干扰和欺骗、MMW(Millimeter Wave,毫米波)雷达干扰和欺骗、激光雷达传感器中继攻击和欺骗、超声波传感器干扰和欺骗以及摄像头传感器致盲等。
汽车访问攻击:包含密钥克隆和远程信息处理服务攻击,对自动驾驶汽车和传统汽车都有负面影响。
01.汽车传感器攻击
对具备自动驾驶功能的汽车而言,感知周围发生的事件是最为重要的能力之一。自动驾驶一般会涉及GPS、MMW雷达、LiDAR(Light Aetection And Ranging)传感器、超声波传感器和摄像头传感器。以下为上述传感器的攻击方法对应的反制措施。
GPS干扰和欺骗
*2016年7月16日,知名手游《精灵宝可梦:GO》遭黑客GPS欺骗攻击,服务器大面积瘫痪。
传统的GPS系统极易受到欺骗性攻击,使用廉价的SDR(Software-defined Radio,软件定义无线电)就可轻易实现GPS信号欺骗。目前的欺骗技术已经具备挑战复杂系统接收器防御构成的能力,欺骗预防领域的深入研究与开发迫在眉睫,尤其是事故发生后精确导航的恢复问题。接收器制造商同步实施和嵌入欺骗防御措施也同样重要。
MMW雷达攻击
* 电磁波谱。毫米波位于微波与远红外波相交叠的波长范围。
MMW雷达有着不受恶劣天气影响的绝对优势,能够“全天候全天时”工作,是汽车ADAS不可或缺的核心传感器之一。车载MMW雷达使用的频段主要集中在24GHz和77GHz这2个频段,后者的系统尺寸会比前者更为紧凑。2016年DEFCON极客大会(全球顶级安全会议)上,研究人员仅使用了一个微型超声波发射器就轻松实现了针对特斯拉MMW雷达的干扰和欺骗攻击,所造成的汽车“失明”和故障将对行车安全带来巨大威胁。
激光雷达传感器攻击
*激光雷达传感器运行示意图。
密歇根大学RobustNet研究小组与加州大学欧文分校Qi Alfred Chen研究小组合作研究发现,激光雷达感知系统也可以被欺骗,攻击者可通过向传感器发送光信号来混淆传感器所接受的脉冲,使其看到根本不存在的障碍。此类情况会导致车辆突然刹车并撞车。
超声波传感器攻击
*针对超声波传感器的欺骗攻击示意图。
图示攻击为2016年DEFCON中由浙大与360研究团队对特斯拉超声波传感器发起的欺骗攻击。只要在真实回波到达传感器之前,将精心制作的fake回波发送至传感器,就可实现对超声波传感器的感染。调控fake回波的时序还能操纵传感器的具体度数,导致传感器检测到不存在的物体,从而导致车辆碰撞。
摄像头传感器攻击
汽车摄像头传感器遭受的攻击类型基本分为以下两种:1)来自摄像头连接的 web 服务;2)来自实时流协议 RSTP 服务。深圳某传感器厂商曾被测出,其生产的17.5万台设备均存在缓冲区溢出的问题,一旦被攻击者远程入侵将被执行任意代码并彻底接管,带来无法预测的后果。
02.车辆访问攻击
密钥克隆
比利时鲁汶大学与英国伯明翰大学2020年的一项研究表明,由于丰田、现代和起亚等汽车制造商的芯片机械钥匙加密方式存在缺陷,此类品牌汽车存在被侵入或被盗的风险。黑客可通过加密系统存在的漏洞,即窃听原始遥控器的单一信号来实现汽车密钥的克隆,3分钟便可开走汽车。特斯拉2018年款Model S车型也被列为受影响车型之一,该安全问题已于2019年被解决。
部分制造商正在引入安全芯片TPMs(rusted Platform Modules,可信任平台模块),使用该模块的密钥被存储在硬件中,即便数据被窃也无法解密,在根源上保护了敏感信息。
远程信息服务攻击
SAE J1939协议伴随CAN总线诞生至今,始终在商用车、工程机械等设备的网络设计领域发挥重要作用,至今无可替代。然而密歇根大学的Burakova等人研究发现,有网络权限的黑客可以利用SAE J1939协议轻易控制中重型车辆的安全关键系统。为规避此类问题,需要汽车软件开发人员在软件开发时就提前建立安全机制,尽量防范各种攻击。
03.结语
作为产业数字化和数字产业化的交汇地带,联网汽车的本质是“软件定义汽车”,但这也同时意味着,其安全问题已超过传统物理安全的范畴,升级成为更复杂的数字安全问题。联网汽车必须受到更为完善的保护,从而更好地保护企业、车辆、用户的信息、财产与生命安全。
天目全数字实时仿真软件SkyEye作为基于可视化建模的硬件行为级仿真平台,支持用户通过拖拽的方式对硬件进行行为级别的仿真和建模,被测软件可不加修改地运行在SkyEye中。
结合常用的Fuzz工具,用户既可通过SkyEye的故障注入功能模拟传感器攻击,查找、分析硬件驱动上的安全漏洞,也可结合模糊技术查找、分析软件层安全漏洞,助力汽车虚拟ECU的测试与验证,确保汽车复杂软件的安全性和可靠性。
文章参考
https://www.trendmicro.com/en_us/research/18/c/connected-vehicle-security-vulnerabilities.html
https://publicism.info/engineering/penetration/7.html
https://www.blackhat.com/docs/eu-15/materials/eu-15-Petit-Self-Driving-And-Connected-Cars-Fooling-Sensors-And-Tracking-Drivers-wp1.pdf
https://s3.documentcloud.org/documents/3004659/DEF-CON-whitepaper-on-Tesla-sensor-jamming-and.pdf
https://files.laggy.org/infoconatdc27/contents/cons/DEF%20CON/DEF%20CON%2024/DEF%20CON%2024%20presentations/DEF%20CON%2024%20-%20Liu-Yan-Xu-Can-You-Trust-Autonomous-Vehicles-WP.pdf
http://www.manongjc.com/detail/50-dwpjtbcfdardkeo.html
https://www.usenix.org/system/files/conference/woot16/woot16-paper-burakova.pdf
相关文章:
浅谈联网汽车安全漏洞
“智能网联汽车存在内生共性问题,即软硬件的漏洞后门,基于此进行的网络攻击可以直接带来勒索、盗窃、大规模车辆恶意操控风险,还有数据泄露等网络安全事件。如果内生的漏洞后门问题不解决,系统自身难保,很难谈系统安…...
深入理解SeaTunnel:易用、高性能、支持实时流式和离线批处理的海量数据集成平台
深入理解SeaTunnel:易用、高性能、支持实时流式和离线批处理的海量数据集成平台 一、认识SeaTunnel二、SeaTunnel 系统架构、工作流程与特性三、SeaTunnel工作架构四、部署SeaTunnel1.安装Java2.下载SeaTunnel3.安装连接器 五、快速启动作业1.添加作业配置文件以定义…...
项目上线 | 兰精携手盖雅工场,数智驱动绿色转型
近年来,纺织纤维行业零碳行动如火如荼。作为低碳环保消费新时尚引领者,同时也是纤维领域隐形冠军,兰精在推进绿色发展的同时,也在不断向内探索企业数字化转型之道,以此反哺业务快速扩张。 数智转型,管理先…...
102-Linux_I/O复用方法之poll
文章目录 1.poll系统调用的作用2.poll的原型3.poll支持的事件类型4.poll实现TCP服务器(1)服务器端代码:(2)客户端代码:(3)运行结果截图: 1.poll系统调用的作用 poll 系统调用和 select 类似,也是在指定时间内轮询一定数量的文件描述符,以测试其中是否有…...
【VAR模型 | 时间序列】帮助文档:VAR模型的引入和Python实践(含源代码)
向量自回归 (VAR) 是一种随机过程模型,用于捕获多个时间序列之间的线性相互依赖性。 VAR 模型通过允许多个进化变量来概括单变量自回归模型(AR 模型)。 VAR 中的所有变量都以相同的方式进入模型:每个变量都有一个方程式ÿ…...
Spark任务提交流程
1. yarn-client Driver在任务提交的本地机器上运行,Driver启动后会和ResourceManager通讯,申请启动ApplicationMaster; 随后ResourceManager分配Container,在合适的NodeManager上启动ApplicationMaster,此时的ApplicationMaster的…...
python相对路径与绝对路径
9.1 Python 绝对路径与相对路径 - 知乎 (zhihu.com) 目录 1. 绝对路径 1.1 概念 1.2 用绝对路径打开文件 1.2 相对路径 1.3 python路径表示的斜杠问题 1. 绝对路径 1.1 概念 绝对路径 指完整的描述文件位置的路径。绝对路径就是文件或文件夹在硬盘上的完整路径。 在 Win…...
SPSS如何进行基本统计分析之案例实训?
文章目录 0.引言1.描述性分析2.频数分析3.探索分析4.列联表分析5.比率分析 0.引言 因科研等多场景需要进行数据统计分析,笔者对SPSS进行了学习,本文通过《SPSS统计分析从入门到精通》及其配套素材结合网上相关资料进行学习笔记总结,本文对基本…...
Python项目实战篇——常用验证码标注和识别(需求分析和实现思路)
前言:验证码识别和标注是现在网络安全中的一个重要任务,尤其是在一些电商平台和在线支付等场景中,验证码的安全性至关重要。本文将介绍如何使用Python实现常用的验证码标注和识别,以便为自己的项目提供参考。 一、需求分析 1、验证…...
MySQL基础(六)多表查询
多表查询,也称为关联查询,指两个或更多个表一起完成查询操作。 前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段,这个关联字段可能建立了外键,…...
零死角玩转stm32中级篇3-SPI总线
本篇博文目录: 一.基础知识1.什么是SPI2.SPI和IIC有什么不同3.SPI的优缺点4.SPI是怎么实现通信的5.SPI 数据传输的步骤6.SPI菊花链7.通过SPI实现数据的读和写 二.STM32F103C8T6芯片SPI协议案例代码 一.基础知识 1.什么是SPI SPI(Serial Peripheral Interface&#…...
顺序表功能实现(入手版详解)
🍉博客主页:阿博历练记 📖文章专栏:数据结构与算法 🚚代码仓库:阿博编程日记 🌹欢迎关注:欢迎友友们点赞收藏关注哦 文章目录 🍓前言✨顺序表🔍1.顺序表的整体…...
Java 中的线程是什么,如何创建和管理线程-下(十三)
书接上文 CompletableFuture CompletableFuture 是 Java 8 中新增的类,提供了更为强大的异步编程支持。它可以将多个异步任务组合成一个整体,并且可以处理异常情况。 例如,可以使用 CompletableFuture 来实现异步任务的串行执行࿱…...
为什么我的Windows 10 便签不支持更改字体?
Windows便签是一款常用的记录工具,可以帮助我们快速记录一些重要的信息。在使用Windows便签时,如果你想要更好地呈现你的信息,可以通过设置字体来达到这个效果。本文将介绍Windows便签字体设置的相关知识,希望对你有所帮助。 1、打…...
野火STM32电机系列(六)Cubemx配置ADC规则和注入通道
前文已经配置了GPIO、编码器 本节讲解CubeMXADC规则和注入通道 本文adc注入通道采用定时器触发,因此在上文定时器配置的基础上进行 常规信号(温度等)使用带DMA的常规通道连续采样 注入采样由定时器触发,采集电机三相电流&…...
预制菜,巨头们的新赛场
俗话说“民以食为天”,饮食对于大众的重要性自然是无需赘述。然而,随着生活节奏的加快,越来越多年轻人没有时间和精力去烹制菜肴,这也是外卖行业持续火热的重要原因之一。尽管如此,随着消费者健康意识的持续提升&#…...
英语语法第一章之英语语法综述
英语的任何句型基本都可以翻译成 什么怎么样 ,在这里什么就是我们常说的主语,而怎么样就是我们常说的谓语; 可能有些小伙伴会反问,不是主谓宾吗?别急等我慢慢讲解 在这里谓语也有很有多的不同的动作 可以独立完成的动作 句型&am…...
ChatGPT被淘汰了?Auto-GPT到底有多强
大家好,我是可夫小子,关注AIGC、读书和自媒体。解锁更多ChatGPT、AI绘画玩法。 说Auto-GPT淘汰了ChatGPT了,显然是营销文案里面的标题党。毕竟它还是基于ChatGPT的API,某种意义只是基于ChatGPT能力的应用。但最近,Auto…...
unity NGUI使用方法
基本用法 很多基本模块比如按钮、slider等都能从Prefab中直接拖拽到场景中实现,但都需要有一个Collider(Prefab已经自带) 因为不仅是UI,所有带有Collider的游戏物体都能接收到OnClick, OnPress这样的事件——前提是需…...
软件测试技术(五)软件测试流程
软件测试流程 软件测试流程如下: 测试计划测试设计测试执行 单元测试集成测试确认测试系统测试验收测试回归测试验证活动 测试计划 测试计划由测试负责人来编写,用于确定各个测试阶段的目标和策略。这个过程将输出测试计划,明确要完成的测…...
Redis缓存穿透和雪崩
Redis缓存穿透和雪崩 Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题…...
【C++】set和map的使用
对于STL容器来说,有很多相似的功能,所以这里主要将与之前不同的功能说清楚 文章目录 1.对于set与map的简单理解2. setinsert迭代器遍历countmultisetinsertfindcount 3. mapinsert与迭代器的使用统计水果次数 operator []operator[]的实现理解对整体的拆…...
大学生学java编程的就业前景怎么样?我来聊聊自己的见解
今天兴哥想跟大家分享一个话题,就是学java到底好不好找工作。因为我发现很多粉丝朋友,之前可能并不是从事IT行业的,然后想转行来做这一行,或者是有些大四即将面临毕业的老哥,可能大学没有好好学习吧,然后专…...
JavaScript全解析——canvas 入门(上)
●canvas 是 HTML5 新增的一个标签, 表示画布 ●canvas 也是 h5 的画布技术, 我们通过代码的方式在画布上描绘一个图像 canvas 标签 ●向进行 canvas 绘图, 首先我们先要了解到 canvas 标签 ●是 html5 推出的一个标签 <html> <head>... </head> <body&…...
vue 插槽的用法
Vue的插槽(Slot)是一种可以让父组件向子组件传递内容的机制。插槽可以让开发者将组件的结构和内容分离开来,从而实现更好的可维护性和复用性。 在Vue中,插槽通过 标签实现。具体用法如下: 单个插槽 在子组件中使用一…...
【C++复习2】C++编译器的工作原理
如果你是一名newbird的话,建议观看如下视频加深你的理解,再看如下内容: https://www.bilibili.com/video/BV1N24y1B7nQ?p7 The cherno会额外告诉你如何将目标文件转换成汇编代码,CPU执行指令的过程以及编译器如何通过删除冗余变…...
回调函数_回顾
函数指针和回调函数 函数指针是指向函数的指针变量。 通常我们说的指针变量是指向一个整型、字符型或数组等变量,而函数指针是指向函数。 函数指针可以像一般函数一样,用于调用函数、传递参数。 直接用指针表示函数,而不是*指针ÿ…...
今天面了个字节跳动拿35K出来的,真是砂纸擦屁股,给我露了一手啊
今年的金三银四已经结束,很多小伙伴收获不错,拿到了心仪的 offer。 各大论坛和社区里也看见不少小伙伴慷慨地分享了常见的面试题和八股文,为此咱这里也统一做一次大整理和大归类,这也算是划重点了。 俗话说得好,他山之…...
8. 数据结构与算法
8. 数据结构与算法 常见面试题 说说一个算法有哪些时间复杂度?归并算法时间复杂度是多少?⭐⭐⭐ O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) < O(n^3) < O(2^n) 归并算法时间复杂度是O(nlogn) 说说数组时间复杂度,什么场景下使用?⭐⭐⭐⭐⭐ 从渐进趋势…...
Springboot +Flowable,任务认领和回退(一)
一.简介 有的时候,一个任务节点会存在多个候选人,例如:张三提交一个任务,这个任务即可以由李四处理,又可以由王五处理,那么针对这种多个任务候选人的情况,该如何处理? 二.绘制流程…...
哪里有制作网站/互联网论坛
根据IDC APeJ半年度服务追踪最新预测显示,2121年,不含日本的亚太区(APeJ)IT服务支出预计将达到950亿美元。 APeJ地区包括IT和商业服务在内的整体服务支出预计将从2017年大约1050亿美元增长到2021年的1400亿美元。 IDC亚太区高级市场服务分析师Aubrey Lim…...
手机网站开发者模式/什么是整合营销概念
阿里篇(仅有问题,没有答案需要大家共同学习探讨) 如何实现一个高效的单向链表逆序输出?已知 sqrt (2)约等于 1.414,要求不用数学库,求 sqrt (2)精确到小数点后 10 位。给定一个二叉搜索树(BST),…...
wordpress wrapper/百度一下你就知道官网首页
图像算法中会经常用到摄像机的畸变校正,有必要总结分析OpenCV中畸变校正方法,其中包括普通针孔相机模型和鱼眼相机模型fisheye两种畸变校正方法。 普通相机模型畸变校正函数针对OpenCV中的cv::initUndistortRectifyMap(),鱼眼相机模型畸变校正…...
云南定制化网站建设/网络优化工程师证书
1.删除数组中的多个元素,也就是去掉数组中不符合条件的选项 分析:用for或者forEach遍历数组的话在方法体内部 splice后数组长度发生了变化,最后得不到正确的结果。 filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。…...
做教育培训网站/军事最新消息
1. Group By 语句简介: Group By语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”。它的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理。 P.S. 这里真是体会到了一个好的命名的力量&…...
前端开发线上培训/网站seo在线优化
2019独角兽企业重金招聘Python工程师标准>>> 1、连接MYSQL数据库代码 <?php $connecmysql_connect("localhost","root","root") or die("不能连接数据库服务器: ".mysql_error()); mysql_select_db("l…...