首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用蓝牙实现OTA固件升级

作为一种低成本的近距离无线连接协议,蓝牙在现实生活中的应用非常广泛,各种嵌入式、物联网设备随处可见。基于这一特性,我们今天讲一下如何使用蓝牙实现OTA固件升级。...DFU除了可以通过无线方式(OTA)进行升级,也可以通过有线方式进行升级,比如通过UART,USB或者SPI通信接口来升级设备固件。...该公司率先推出超低功耗无线技术,并帮助开发广泛采用的低功耗蓝牙(Bluetooth Low Energy)无线技术。 2.1 如何使用官网 首先,我们打开Nordic官网,如下所示。...如果按键没有按下,GPREGRET1不为0xB1,本次复位不是上次DFU的继续,并且应用程序校验通过,那么BootLoader就会直接跳到application,去执行application应用程序。...每接收4kB数据,回复一次CRC校验值,直至整个新固件image接收完毕,如果新固件校验通过(版本1校验CRC值,版本2校验hash值),就会去invalidate(无效化) bank0里面的老固件更新

2.9K20

来吧,一个IoT应用设计

本文将介绍物联网市场的趋势以及智能家居和可穿戴应用的相关性,然后举例说明智能门锁控制器的实现,将讨论可穿戴应用程序以及实现,并说明如何利用可穿戴设备实现与智能家庭网络互动。...可穿戴应用程序的实现 智能手表不再只是为了显示时间。智能手表通过发送短信、电话和健康监控手段将我们的手腕变成了智能手机套件。可穿戴设备是用户"几乎总是"佩戴的无线设备。...无线连接 设备需要支持可穿戴设备操作的必要服务——无线连接,例如与低耗电蓝牙的连接。 支持所有这些功能需要一个完整的固件流(见图10)。...OTA安全性 安全引导确保MCU只执行信任代码。 与OTA结合使无线应用程序能够更新,并且只允许在设备中执行可信代码。...,包括电流,DAC和差分 ADC;易于使用,固件可配置外设 无线连接 集成的BLE和免费的BLE协议栈,增强了安全性、隐私性和吞吐量 (本文编译自http://www.embedded-computing.com

1.5K20
您找到你想要的搜索结果了吗?
是的
没有找到

针对Model X无钥匙系统的远程攻击

第二个服务包含用于无线下载(OAD)的特性,这是德州仪器(TI)用于无线固件更新(OTA)的实现。换句话说,该OAD服务允许以无线方式更新CC2541 BLE SoC上的固件。...通过对二进制固件更新(1.5.1版)的粗略分析,很明显固件映像以明文形式分发给 Model X 遥控钥匙。...此外,还可以了解如何通过诊断连接器与 BCM 中的安全元件进行通信。...2.使用 BLE 连接到目标遥控钥匙并执行固件更新:​ • 恶意更新禁用了在 APDU 服务上实施的阻止列表。3.使用 APDU 服务从安全元件请求 RKE 解锁令牌。...一旦遥控钥匙被广播为可连接,攻击者就可以连接到它并推送恶意固件更新更新过程本身大约需要 1.5 分钟,但可以在更长的距离(BLE 范围)内执行

40231

蓝牙安全与攻击案例分析

例如,HCI命令0x200c表示LE Set Scan Enable,并通过参数控制开启和关闭BLE的扫描,Controller执行完毕后返回event code 0x0e,即Command Complete...修复方法自然是对秘钥熵协商的过程进行加密,不过这个要等SIG更新进标准中,而标准的更新和推进又相对缓慢,因此很多蓝牙芯片厂商也各自更新固件做简单的patch。...不过,从这组漏洞中我们也能看到蓝牙固件的实现也是有不少问题的,蓝牙芯片固件的代码本身难以进行热更新,在一些特殊的HCI Event配合下,我们甚至可以从Controller中获取Host的命令执行权限。...BlueFrag BlueFrag是2020年2月在Android安全通告中披露的一个严重漏洞,影响蓝牙子系统可实现远程命令执行。...Android中L2CAP的实现在用户层中,称为BlueDroid,用户进程为com.android.bluetooth,因此执行命令后所获得的权限也是bluetooth权限。

2K30

防止物联网项目误入歧途的5条建议

这些包括传感器,设备,嵌入式软件,连接协议,云服务和应用程序。 通常很难预测这些组件之间以及与您的IT基础架构之间将如何精确地交互。...该设备应该可以通过蓝牙与移动应用程序对话。一开始,公司并未意识到金属外壳会干扰蓝牙信号。为了确保稳定的应用程序到设备连接,Softeq团队必须修改射频芯片并将蓝牙信号增强500%。...商业照明产品的制造商要求Softeq升级通过RF遥控器操作的照明系统。任务是用BLE移动应用替换电灯开关。...不幸的是,我们的客户雇用了在设计支持BLE的设备方面经验不足的固件和硬件开发人员,因此我们无法将移动应用程序连接到云。物联网平台的选择是另一个加剧因素。...最后,在硬件级别上增强安全性并部署适当的无线(OTA)固件更新机制以便及时推出安全补丁。

25400

特斯拉车钥匙又被黑!10秒钟就能开走Model Y

通过重定向车主的手机或无线遥控钥匙与汽车之间的通信,外人可以欺骗特斯拉汽车的安全系统,使其认为车主就在汽车附近。...相反,这是他对特斯拉的无线钥匙系统进行修补的结果,该系统依赖于「低能耗蓝牙」 (BLE) 协议。 没有证据表明窃贼利用这一入侵技术不正当地进入特斯拉汽车。特斯拉尚未置评。...如果想修复这个问题,特斯拉就得把他们的硬件设施打好补丁,然后再把无线钥匙的系统优化。 BLE协议的设计初衷,是为了让不同设备在网络上能更加便捷地连接。...Model X车钥匙的密钥卡当时没有用于固件更新的「代码签名」。如果车主通过蓝牙获得无线更新,系统无法确认固件代码是否是「来自特斯拉的不可伪造的加密签名」,从而让固件有被恶意重写的可能。...简而言之,他通过攻破了特斯拉的自托管开源服务器,结合「默认密码凭证没改」这一自古以来的数码系统漏洞,能远程让被黑掉的特斯拉汽车执行:     解锁车门     打开车窗     启动无钥匙驾驶

64920

大疆无人机安全与DroneID漏洞

这两个应用程序提供基本相同的功能,特别是都显示无人机的实时视频源、允许拍照和录制视频、更改不同的无人机设置、更新固件或检查无人机的一般状态。 B....最后,它处理无人机的固件更新过程。此 SoC 为 DJI 无人机使用基于 Linux 或 Android 的操作系统。 3. 遥控器 遥控器通过 C2 链路控制无人机和相机。...安全评估表明可以将任意固件闪存到收发器,这意味着使用签名和加密固件的安全更新没有正确实施。建议供应商考虑的发现并执行额外的测试,例如以模糊测试的形式减少代码中(可利用的)错误的数量。 2....与 DJI 的专有解决方案相反,每个兼容的智能手机都能够通过 WiFi 或蓝牙接收这些广播,尽管距离要短得多。开放的实现已经可以作为库或Android应用程序可用。...通过对错误的仔细检查表明,它们可用于执行任意代码或更改设备的序列号。此外,攻击者可以通过无线方式远程发送有效载荷来使无人机在飞行途中坠落。

1.7K22

IOS 10.3.1修复的那个WiFi芯片漏洞,也影响到了数百万Android手机

然而最新消息显示,不止是iPhone,数百万采用博通WiFi芯片的智能手机和智能设备,包括众多品牌的Android设备都可能通过无线被劫持,劫持过程是不需要与用户进行交互的。...Beniamini称,此问题存在于博通的固件代码之中,可导致远程代码执行漏洞,允许处于设备WiFi范围内的攻击者向目标设备发送并执行代码。...接下来,Beniamini还将发布博客,解释攻击者在控制WiFi芯片之后,如何进一步越权访问应用程序处理器,并控制操作系统。...无线博通WiFi SoC入侵 据Beniamini的说法,博通WiFi芯片上运行的固件可被欺骗,导致栈缓冲溢出。...谷歌和苹果分别于周一发布安全更新,修复该漏洞。谷歌通过2017年4月Android安全公告发布更新,而苹果则发布了iOS10.3.1。

74780

Android 原生 BLE 开发

目前所有的BLE应用都基于 GATT 。 蓝牙 SIG 规定了许多低功耗设备的配置文件。配置文件是设备如何在特定的应用程序中工作的规格说明。注意一个设备可以实现多个配置文件。...如果运动追踪器更新来自手机的数据,手机会作为服务端。 BLE 权限 ---- 为了在app中使用蓝牙功能,必须声明蓝牙权限 BLUETOOTH 。...如果不支持BLE,那么你应该适当地禁用部分BLE功能。如果支持BLE但被禁用,你可以无需离开应用程序而要求用户启动蓝牙。使用BluetoothAdapter两步完成该设置。...BluetoothAdapter 代表设备本身的蓝牙适配器(蓝牙无线)。整个系统只有一个蓝牙适配器,而且你的 app 使用它与系统交互。下面的代码片段显示了如何得到适配器。...根据用户的输入,这个activity与BluetoothLeService通信,通过Android BLE API实现与BLE设备交互。

3.9K20

Android 低功耗蓝牙开发简述

① 之前有没有接触Android蓝牙开发? ② 蓝牙设备固件是公司自己的吗? ③ 有没有蓝牙固件和蓝牙应用的文档和Demo? ④ 具体的业务功能需求明确吗?...它保持连接并以超低功耗传输数据,低功耗蓝牙是专门针对基于物联网(IoT)设备构建的功能和应用程序设计的蓝牙版本。蓝牙BLE允许短期远程无线电连接并延长电池寿命。...在做Android蓝牙应用时,要先确定几个问题,这能让你少踩几个坑。 之前有没有接触Android蓝牙开发? 蓝牙设备固件是公司自己的吗? 有没有蓝牙固件和蓝牙应用的文档和Demo?...这是一种无线电波,扫描的一方,通常为我们的手机,扫描这些广播通过NDK进行转化,回调到上层接收,你才能在ScanCallback中的回调中看到扫描到的蓝牙数据信息。...您可以使用 BluetoothGatt 执行 GATT 客户端操作。)

1.3K10

低功耗蓝牙(BLE)攻击分析

前言 蓝牙是一种短距的无线通讯技术,可实现固定设备、移动设备之间的数据交换。可以说蓝牙是当今世界上,最受欢迎和使用最为广泛的无线技术之一。...或者,你也可以使用像nrf connect这样的应用程序为你自动找出写句柄。 ? 句柄0x000b有一个UUID,如下图所示: ?...使用电子邮件或Google Drive将捕获的日志文件传输到电脑上,或者你也可以通过USB数据线将Android设备与电脑连接。 ? 第5步:在Wireshark中分析捕获的数据包。...下面,让我们看看如何使用Bleah攻击BLE。 第1步:在相同终端内输入Scan命令扫描附近的BLE设备。 ?...Bleah是一款非常强大的用于对BLE设备进行攻击的工具,它会自动为我们执行许多操作,这为我们免去了重复执行繁杂操作的过程。 以上是我所为大家介绍的一些,用于对BLE设备进行攻击的工具和技术。

4.5K61

BLE空口抓包方案对比

sudo make install 【这里如果提示没有python使用先whereis python3然后再sudo ln -s /usr/bin/python3 /usr/bin/python】 6、更新固件...在 github 上找到 release 里面的的压缩包,在里面找到 bluetooth_rxtx.dfu 以后拷贝出来 执行命令刷入固件,如果是在虚拟机中操作会断开连接,再次接入虚拟机即可 ubertooth-dfu...抓包工具,配合 wireshark 抓包操作简单,优点是同时抓三个广播信道,不会出现概率问题,价格大概在 800 左右 提供官方软件,安装好后点击打开应用程序 配置好 wireshark 的安装路径...本文发表于1024安全团队,欢迎各位师傅关注 1024安全团队是由来自网安企业、车企与高校的网络安全爱好者组建的团队,希望通过此平台更好的进行前沿的技术交流与分享,现研究方向包含但不限于车联网安全、物联网安全...、硬件安全、无线电安全等,我们正在招募新的成员,期待更多志同道合的朋友加入我们,一起进行技术交流学习。

1.8K31

Android使用BLE(低功耗蓝牙,Bluetooth Low Energy)

目前所有的BLE应用都基于GATT。 蓝牙SIG规定了许多低功耗设备的配置文件。配置文件是设备如何在特定的应用程序中工作的规格说明。注意一个设备可以实现多个配置文件。...ATT对在BLE设备上运行进行了优化,为此,它使用了尽可能少的字节。每个属性通过一个唯一的的统一标识符(UUID)来标识,每个String类型UUID使用128 bit标准格式。...决定了两个设备在建立连接后如何互相交流。...如果运动追踪器更新来自手机的数据,手机会作为服务端。 在这份文档的例子中,android app(运行在android设备上)作为GATT客户端。...但是你可以自己设计android app去扮演GATT服务端角色 设备对BLE的支持 分为两种情况 * 目标设备是否支持BLE * Android手机是否支持BLE 目标设备是否支持要看具体目标设备的情况

3K00

BLE智能手环的测试

2 理论分析 拿到手环之时,我们以为是手环可以连接WiFi,通过WiFi实时上传步数等信息,也可能是通过4G/3G上传数据。...图3-4 通过nRF connect工具查看 4 伪造广播数据 现在我们知道了手环如何上报自己统计的步数,接下来我们要尝试发送伪造的广播数据。...但受限于Android系统本身,在nRF connect发送的BLE广播包中,可以设置的各种广播内容并不多,尤其是不能设置广播时使用的MAC地址。...图4-3 USB dongle通过cc debugger连接计算机 接下来使用SmartRF Flash Programmer刷写固件(该软件与上文中的抓包软件是同一系列的),并在刷写时设置MAC地址,...5 小结 本篇中,我们对一款BLE智能手环进行了分析,研究了手环如何实时上传佩戴者步数,还修改了CC2540的样例工程,实现了我们需要的广播内容,由此对蓝牙广播数据有了更深入的认识。

1.6K30

工业物联网体系架构

通讯 IoT设备需要允许将其连接到有线或无线协议的驱动程序和协议,从而实现通信。 提供MQTT协议的实现。 远程管理 IoT设备需要远程控制的情况很多,例如升级固件或监控其电池电量。...数据管理和消息 实现基于本地MQTT的消息传递解决方案,允许在网关上运行的应用程序透明地与云平台通信,而无需处理网络接口的可用性,或如何表示IoT数据。...应用服务接口 通过公开应用程序编程接口(API),能够整合和分析数据,并创建报告,图表和仪表板。 有助于公开一致的API,用于消费遥测数据或向设备发送命令,以便使IoT应用程序开发合理化。...OMA LWM2M提供了一种可扩展的对象模型,允许除了核心设备管理功能(固件升级,连接监控,...)之外,还可以实现应用程序数据交换 MQTT MQTT是一种用于连接物理世界设备和网络以及IT和Web开发中使用的应用程序和中间件的协议...它是一种轻量级的发布订阅协议,可在嵌入式设备和移动平台上运行,同时通过有线和无线网络连接到高度可扩展的企业和Web服务器。

3.1K80

如何利用MouseJack入侵女神的鼠标

: 注:刚买的设备在这一步可以看到有个设备的id为1915:7777,本文中使用的设备已经执行完下文所有步骤,所以文中截图的ID值有所不同 1.4 刷入crazyradio pa固件 此时重插拔设备,...升级为mousejack的固件时,设备ID为1915:1012。 0x02 蓝牙频段&蓝牙跳频 3月19日更新:蓝牙有79个信道,而无线鼠标远不止。...虽然无线鼠标不是用的蓝牙,但是我们可以通过蓝牙的跳频来理解无线鼠标的跳频的原理和目的。 在扫描嗅探之前我们来了解一下蓝牙的跳频。...开始,以1 MHz分隔:(关于蓝牙和低功耗蓝牙的更多细节可参考:《低功耗蓝牙(BLE)入门之如何调戏别人的小米手环》一文) 0x03 扫描 mousejack项目tools目录中有扫描、嗅探等功能的Python...这里我们来说一下如何通过扫描查找附近的无线鼠标。 我们可以看到执行扫描脚本后终端打印出了日期-时间、信道、MAC地址数据包数据等。 0x04 嗅探 如何缩小范围捕获指定设备的数据包呢?

1.9K90

谷歌新推出 Titan 安全密钥 开发商为一家中国公司

但是这款无线密钥与飞天的一款无线密钥产品非常类似,这是一家位于北京的安全公司,于2014年在深圳证券交易所上市。...但是Yubico的首席执行官斯蒂娜·埃伦斯瓦尔(Stina Ehrensvard)在博客文章中明确表示泰坦密钥不是由Yubico制造的。埃伦斯瓦尔还对该密钥使用蓝牙一点提出了批判。...“尽管Yubico之前也开发过蓝牙低能耗(BLE)安全密钥,并促成了BLE U2F标准的问世,但由于它不符合我们的安全、可用性和耐用性标准,因而我们决定不推出这款产品。”...周日,谷歌产品经理克里斯蒂安·布兰德(Christiaan Brand)在博客中宣布用户可以通过谷歌在线商店获得泰坦密钥。她还表示谷歌的固件被密封在特殊的芯片中,这些芯片是直接配送到生产线上的。...谷歌在自己的“高级保护”计划网站上建议美国公民——如果他们没有两个安全密钥的话,可以通过亚马逊购买飞天无线密钥以及Yubico的USB密钥。但这两款密钥均不是以谷歌泰坦品牌的名义进行销售的。 添加收藏

63440

专注无线连接!安信可Ai-Thinker Ai-WB2系列帮助客户提升产品竞争力

当你身处公司,可以通过App查看家里孩子、老人的情况。辛苦了一天,当你回到家后,空调器已经自动调到舒适的温度,坐在沙发上或是躺在床上,通过App可以方便地控制家里所有的灯光和电器。...提供标准固件,也协助SDK开发 2、射频天线 各种天线的设计、调优、生产等。 3、射频测试和调优服务 模组、整机射频OTA测试和调优服务等。...5、公有云的对接 可按照客户需求对接公有云,固件开发等 6、整机认证支持 可为客户提供整机认证的技术支持服务 无线通信模组是实现万物智联的关键一环,那么该如何选择合适的无线模组呢?...Ai-WB2 系列的Combo模块,集成Wi-Fi和蓝牙两种无线通信于一体,以高性能、低功耗等特性为物联网设备提供稳定、可靠的无线连接。...配网、·命令行配网等; · 支持常用的IOT通讯协议,包括TCP、HTTP/HTTPS、MQTT/MQTTS等; · 支持BLE主机通讯、BLE从机通讯; · 支持BLE iBeacon; ⑥行业领先的射频性能

41830

Android 蓝牙4.0

相对其他传输方式的优势(蓝牙2.1,3.0,wifi): 1,相对wifi和zigbee无线方案,蓝牙和无线射频模块nRF24l01成本会低很多,wifi的好处是可以比较方便实现远程控制,距离比较远...3,iPhone手机的蓝牙是不能够和android手机的蓝牙通信的,而且iPhone除了蓝牙4.0以外其他版本的蓝牙外设需要通过苹果的认证才能使用的,除非大厂商大批量生产否则不可能通过认证的,当然也可以再加一个认证芯片上去解决...以上内容摘自以下链接 1,谈谈几个月以来开发android蓝牙4.0 BLE低功耗应用的感受 Android蓝牙4.0代码 2,有流程图 Android 蓝牙4.0 BLE 理解  4,已下载,知识全面而且易懂...BLE 和经典蓝牙Android编程说明 5,从界面开始的代码 Android4.0蓝牙使能的详细解析 6,开发实例(有时打不开) android 蓝牙4.0 开发经验分享 7,开发实例 关于android...蓝牙4.0如何接收响应信息 8,开发实例,讲解清晰 android 蓝牙4.0多通道 9,开发实例,血压计 分享Android 蓝牙4.0(ble)开发的解决方案 10,非常清晰  Android BLE

1.2K90
领券