前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >黑客10秒无钥匙开走特斯拉:重大漏洞曝出

黑客10秒无钥匙开走特斯拉:重大漏洞曝出

作者头像
机器之心
发布于 2022-05-17 08:41:28
发布于 2022-05-17 08:41:28
5710
举报
文章被收录于专栏:机器之心机器之心

机器之心报道

编辑:泽南

不止特斯拉,有不少能手机解锁的车都可以用同样的方法破解,智能门锁也可以。

如今,很多特斯拉车主都已习惯不带钥匙用手机解锁车辆,但最近一位网络安全研究人员已经展示了「无钥匙进入」把电动汽车开走的技术,新的漏洞为人们敲响了警钟。

总部位于英国曼彻斯特的安全公司 NCC Group 首席安全顾问 Sultan Qasim Khan 表示,有一种方法能黑进特斯拉 Model 3 和 Model Y ,解锁、启动车辆并踩油门开走。通过重定向车主的手机或密钥卡与汽车之间的通信,外人可以欺骗进入系统,使其认为车主就位于车辆附近。

目前有无钥匙启动功能的车辆远不止特斯拉一种,Khan 表示,这种黑客攻击并不是特斯拉独有的。相反,这是他对特斯拉无钥匙进入系统进行修补尝试的结果,该系统依赖于蓝牙低功耗协议(BLE)。

这是全球第一次对于 BLE 的链路层中继攻击,其破解了基于 BLE 的接近身份验证机制。通过在链路层从基带转发数据,黑客可以绕过已知的中继攻击保护,包括加密的 BLE 通信,因为它绕过了蓝牙堆栈的上层和解密需求。

NCC 在周日的一份报告中向其客户提供了调查结果的详细信息。所幸目前没有证据表明已有窃贼利用该方式攻击了特斯拉汽车。这家汽车制造商没有回应置评请求。

该安全公司已经向特斯拉披露了攻击的可能方法,但后者并不认为存在重大风险。NCC 表示,若想解决这个问题,不能简单地通过软件补丁进行修复,这家汽车制造商需要改变其硬件并修改无钥匙进入系统的逻辑。

虽然特斯拉在新技术应用上经常走在行业前端,但时常会被曝出安全等方面的问题。今年 1 月,19 岁的德国的安全研安全研究员 David Colombo 也曾透露一种劫持特斯拉汽车某些功能的方法,例如开关门和控制音乐音量。他使用远程指令控制了全球各地超过 25 辆特斯拉。

相较常规的蓝牙通信,BLE 在保持同等通信范围的同时显著降低了功耗和成本,是将不同传感器和控制设备连接在一起的理想选择。

该协议旨在通过局域联网方便地将设备高效连接在一起,面向智能门锁、汽车、手机、笔记本电脑以及很多 IoT 设备,但这也意味着它成为了黑客潜在解锁智能技术的方法。NCC 表示,其已能够对其他几家汽车制造商和科技公司的设备实现攻击。

Khan 表示,在 iPhone 或安卓手机上使用蓝牙无钥匙开门的 Kwikset Kevo 智能锁也受到同样问题的影响。Kwikset 对此表示,使用 iPhone 开门的用户可以在锁具应用中开启双重身份验证。一位发言人还补充说,iPhone APP 上操作的锁有 30 秒的超时时间,有助于防止入侵。

该公司表示,Kwikset 将在「夏季」更新其安卓应用程序。

「Kwikset 产品的安全性至关重要,我们与知名安全公司合作评估自身产品并持续合作,以确保为消费者提供尽可能高的安全性,」一位发言人说道。

管理涉事技术的机构,蓝牙技术联盟 SIG 的一位代表表示:「SIG 优先考虑安全性,我们提供的规范包括一系列功能,为产品开发人员提供保护蓝牙设备之间通信安全所需的工具 SIG 还向开发人员社区提供教育资源,以帮助他们在其蓝牙产品中实施适当级别的安全性,并为安全研究社区合作的漏洞响应计划,以负责任的方式解决蓝牙规范中发现的漏洞。」

NCC 表示,由于低功耗蓝牙普遍存在于消费级设备中,新漏洞的潜在攻击面很大,这包括:

  • 具有无钥匙进入功能的汽车 —— 攻击者可以解锁、启动和驾驶汽车。
  • 启用了蓝牙近距离解锁功能的笔记本电脑(配合智能手环、手机免输密码机制)。
  • 手机 —— 犯罪分子可以阻止手机锁定。
  • 家庭智能门锁 —— 攻击者无需机械撬开或断电即可解锁与开门。
  • 访问控制系统 —— 允许攻击者解锁和打开门,同时冒充他人。
  • 资产和医疗患者跟踪系统 —— 有人可能会欺骗资产或患者的位置。

Sultan Qasim Khan 是开源蓝牙 5 嗅探器 Sniffle 的创建者。该嗅探器可用于跟踪蓝牙信号,帮助识别设备。该技术现在经常被管理道路的政府机构用来匿名监控穿过市区的司机。

2019 年,英国消费者组织 Which 进行的一项研究曾发现,超过 200 种车型容易受到无钥匙进入系统攻击的影响,窃贼使用的攻击方法相似,但细节相略有不同。

在本次攻击特斯拉车辆的演示中,Khan 进行了「中继攻击」,其中黑客使用两个小型硬件设备来转发通信。为解锁汽车,Khan 在距离特斯拉车主的智能手机或遥控钥匙大约 15 码的范围内放置了一个中继设备,并将第二个设备插入他的笔记本电脑再靠近汽车。该技术利用了 Khan 为蓝牙开发套件设计的定制计算机代码,这些套件在网上的售价不到 50 美元。

除专门编写的软件外,攻击所需的硬件总共花费大约 100 美元,并且可以很容易地在网上买到。Khan 表示,一旦通信中继建立起来,黑客只需「十秒钟」就能解锁车辆。

「攻击者可以在晚上走到人们的家门口 —— 如果车主的手机在家里,并利用这种攻击来解锁和启动停在外面的汽车…… 又或者,一旦黑客设备安装在遥控钥匙或手机附近,攻击者就可以从世界任何地方发送命令,」Khan 补充道。

参考内容:

https://www.bloomberg.com/news/articles/2022-05-16/hacker-shows-off-a-way-to-unlock-tesla-models-start-the-engine

https://newsroom.nccgroup.com/news/ncc-group-uncovers-bluetooth-low-energy-ble-vulnerability-that-puts-millions-of-cars-mobile-devices-and-locking-systems-at-risk-447952

© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器之心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
使用OnBackPressedDispatcher处理回退事件
在单 Activity 多 Fragment 的场景下处理回退按键一直是一件比较恶心的事情。前段时间看 jetpack 在宣传中有提到利用 OnBackPressedDispatcher 处理回退,于是研究了一下。
烧麦程
2022/05/10
1.8K0
使用OnBackPressedDispatcher处理回退事件
Android onBackPressed不执行的解决方案
应用中经常会用到双击返回键在退出应用的效果,目的是为了防止用户误触返回键而导致退出应用。 通常的写法如下: 首先定义一个变量
longzeqiu
2019/08/14
3.5K0
Android 面试题:为什么 Activity 都重建了 ViewModel 还存在?—— Jetpack 系列(3)
ViewModel 是 Jetpack 组件中较常用的组件之一,也是实现 MVVM 模式或 MVI 模式的标准组件之一。在这篇文章里,我将与你讨论 ViewModel 实用和面试常见的知识点。如果能帮上忙请务必点赞加关注,这对我非常重要。
用户9995743
2022/09/26
1.4K0
Android 面试题:为什么 Activity 都重建了 ViewModel 还存在?—— Jetpack 系列(3)
Android项目开发填坑记-Fragment的onBackPressed
版权声明:本文为[他叫自己Mr.张]的原创文章,转载请注明出处,否则禁止转载。 https://micro.blog.csdn.net/article/details/51228934
他叫自己MR.张
2019/07/01
1.2K0
Fragment响应onBackPressed的三个方案
经常会碰到Fragment需要响应activity的onBackPressed事件,对比下三个不同方案
韦东锏
2021/09/29
2.2K0
抽丝剥茧 Jetpack | Lifecycle 到底解决了什么问题?
Lifecycle(生命周期) 在任何 GUI 编程中都是基石般的存在,Android 也不例外。
路遥TM
2022/03/29
3040
抽丝剥茧 Jetpack | Lifecycle 到底解决了什么问题?
“终于懂了“系列:Jetpack AAC完整解析(二)LiveData 完全掌握!
也就是说,LiveData使得 数据的更新 能以观察者模式 被observer感知,且此感知只发生在 LifecycleOwner的活跃生命周期状态。
胡飞洋
2020/12/15
4.1K0
Fragment回退栈及弹出方法
在上一期分享的文章末尾留了一个课后作业,有去思考如何解决吗?如果已经会了那么恭喜你,如果还不会也没关系,本期一起来学习。 一、回退栈 在前面两期的示例中,当我们完成一些操作后,如果想要回到操
分享达人秀
2018/02/05
4.7K1
Fragment回退栈及弹出方法
Lifecycle:生命周期感知型组件的基础 —— Jetpack 系列(1)
Lifecycle 的主要作用是简化实现生命周期感知型组件的复杂度。 在传统的方式中,需要手动从外部宿主(如 Activity、Fragment 或自定义宿主)中将生命周期事件分发到功能组件内部,这势必会造成宿主代码复杂度增加。例如:
用户9995743
2022/09/26
1.2K0
Lifecycle:生命周期感知型组件的基础 —— Jetpack 系列(1)
Jetpack路由组件学习:深入理解功能强大的Navigation架构之接管系统的返回操作
不管你之前用没用过Jetpack Navigation组件,但是或多或少你也可能听说过它。它是Jetpack库中的一个路由组件。此刻你的脑海中可能会浮现阿里ARouter框架。如果你熟悉ARouter但是对Navigation比较陌生,那么你先简单把它们联系在一起,有个直观的感受。
Android技术干货分享
2021/08/05
1.5K0
Jetpack路由组件学习:深入理解功能强大的Navigation架构之接管系统的返回操作
全网最全:Jetpack AAC(-)解析
原文链接:https://juejin.cn/post/6893870636733890574
程序员小顾
2021/12/07
1.4K0
Navigation深入浅出,到出神入化,再到实战改造(二)
NavDestination 节点的封装类对应nav_graph.xml文件中的 </navigation>, </fragment> </activity>, </dialog>目标节点(即Destination),同时有如四个子类:NavGraph,FragmentNavigator#Destination,ActivityNavigator#Destination,DialogFragmentNavigator#Destination
g小志
2022/03/29
2.2K0
Navigation深入浅出,到出神入化,再到实战改造(二)
Fragment 的过去、现在和将来
Fragment 是 Android 中历史十分悠久的一个组件,它在 API 11 被加入,时至今日已成为 Android 开发中最常用的组件之一。Fragment 有了哪些新特性、修复了哪些问题,都是开发者们十分关心的话题。下面我们就来重新说一说 Fragment —— 不仅仅是说现在的 Fragment,还会回顾它的发展,并让您一瞥它未来的样子。
Android 开发者
2020/06/24
9600
Fragment 的过去、现在和将来
Android Jetpack架构组件(四)之LiveData
LiveData是Jetpack架构组件Lifecycle 库的一部分,是一个可感知生命周期的可观察容器类 (Observable)。与常规的可观察类不同,LiveData 具有生命周期感知能力,这意味着它具有感知应用组件(如 Activity、Fragment 或 Service)的生命周期的能力,并且LiveData仅更新处于活跃生命周期状态的应用组件观察者。
xiangzhihong
2020/12/21
3.6K0
Android-Jetpack笔记-Lifecycles
Lifecycle即生命周期,一些业务场景如三方地图、播放器等,依赖于activity的生命周期,会有类似下面的用法:
Holiday
2020/08/10
3830
Android-Jetpack笔记-Lifecycles
Android实现点击两次返回退出APP
这两天在做一个项目碰到这么个问题,需要主界面点击两次直接退出整个APP而不是返回上一个界面,查找了网上的资料,整合和修改了一下写了这篇博客。
全栈程序员站长
2022/09/07
1.6K0
Android APP 快速 Pad 化实现
如何能在最快的时间内,实现一个最新版本 Android app 的 pad 化呢?从拿到一个大型手机 app 代码开始开发到第一个其全新 pad 版本的发布,我们用了不到3个月时间给出了一份满意的答案。 项目背景 采用最新版本手机 APP(之后称为 MyApp)代码,实现其 Pad 化,为平板和大屏手机用户提供更好的体验。为实现 MyApp 的 Pad 化工作,需要我们首先来了解一下 MyApp 项目经典页面的构成以及 Pad 化后的页面结构的变化。 1.MyApp 页面经典构成 现在主流手机 APP 主页
腾讯Bugly
2018/03/23
2.3K0
Android APP 快速 Pad 化实现
Android Jetpack - Lifecycles
Lifecycles 简介 Lifecycles 即生命周期,属于 Jetpack 架构组件之一的 Lifecycles 组件是可以为其它组件提供生命周期感知能力的一个组件,而具备了生命周期感知能力的组件就叫生命周期感知组件,注意加粗部分多读两遍,我看网上很多文章直接把 Lifecycles 组件叫生命周期感知组件那么什么是生命周期感知能力呢?我们知道四大基础组件有生命周期,能感知这些生命周期的组件就具备了生命周期感知能力,所以我认为以前我们使用的 MVP 模式中的 Presenter 如果它通过接口等方式
SkyRiN
2019/08/08
1.4K0
037android初级篇之Activity的几个重要函数
手机屏幕事件的处理方法onTouchEvent。该方法在View类中的定义,并且所有的View子类全部重写了该方法,应用程序可以通过该方法处理手机屏幕的触摸事件。该方法的签名如下所示。
上善若水.夏
2018/09/28
7760
笔记64 | 个人项目“易来”开发记录《二》处理Fragment中返回的问题
需求描述 问题: 一个WebView放在Fragment中,我们都知道webView有一个goBack()方法,可以通过该方法对网页进行后退处理,由于Fragment本身并没有监听onBackPressed的方法,又处于一个Activity中,Activity除又对后退进行了3秒确定退出处理,所有导致 Fragment中的WebView无法进行goBack(); 需求: 需要在Fragment中监听到返回键,当WebView可以后退网页的时候,进行后退网页,当没有可后退的网页时(首页状态),点击返回调Act
项勇
2018/06/19
5950
推荐阅读
相关推荐
使用OnBackPressedDispatcher处理回退事件
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档