HackerNews 编译,转载请注明出处:
安全研究人员借助一项已有 20 年历史的攻击方法,成功从一款经济型智能手表中提取了固件,该方法最初是被用于窃取网络设备的数据。
这项名为 “指示灯(Blinkenlights)” 的技术,已被改造适配现代薄膜晶体管屏幕。
Quarkslab的分析师从当地商店以约 12 欧元的价格购入一款智能手表,经检测发现其配备的是虚假健康传感器,无法实现血压测量和睡眠监测功能。
该设备搭载JieLi AC6958C6 系统级芯片,并通过低功耗蓝牙进行通信,这一特性最初被视为提取固件的可行途径。
在对智能手表展开分析后,研究人员发现了一个表盘解析器漏洞 —— 该解析器未能对偏移边界进行有效校验。
这一安全缺陷可被利用来制造越界读取的情形,迫使设备将任意内存内容直接显示在屏幕上。
夸克实验室分析师指出,他们是在对自定义表盘的上传流程进行逆向工程后发现这一漏洞的,同时还发现固件解析器未对超出表盘二进制数据范围的图像偏移量进行验证。
研究团队在最终采用 “指示灯” 技术前,尝试了多种提取方案。
他们先是对杰理芯片的空中升级功能展开探索,却发现该功能仅支持固件上传,不支持固件下载。
设备所采用的认证机制基于蓝牙的 E1 传统功能,且内置硬编码参数,研究人员虽成功复现了这一机制,但这条路径最终未能实现固件提取。
该团队搭建了一套定制硬件装置,核心为一块超频至 200 兆赫兹的树莓派 Pico 开发板,用于捕获智能手表主芯片向 NV3030B 屏幕控制器传输的数据。
这款屏幕采用 25 兆赫兹时钟,以 RGB565 格式传输像素数据,这就需要通过高速采样来精准获取信息。
研究人员将直径仅 0.1 毫米的导线焊接至屏幕连接器,并利用树莓派 Pico 的可编程输入输出(PIO)功能,在时钟上升沿对数据比特进行采样。
为保障高采样率下的运行效率,这款 PIO 程序仅设计了两条指令。
捕获的数据会先存储在树莓派 Pico 的 145000 字节缓冲区中,再通过 USB 串口传输至主机电脑。
为触发固件提取,研究人员制作了恶意自定义表盘,通过篡改偏移量数值,让智能手表读取并显示超出表盘预设数据区域的内存内容。
整个提取过程需要生成多款自定义表盘,每一款针对不同的内存地址。
研究人员在每个表盘里嵌入了包含同步字(0xa5a5a5a5)和魔术字节(0xdeadbeef)的特殊头文件,以此识别捕获到的数据块并验证数据对齐情况。
同时,团队开发了 Python 脚本,实现表盘生成、数据收集以及从零散内存切片中重建完整固件的自动化流程。
这项研究表明,当老旧的攻击技术与创新的漏洞利用手段相结合时,依然能对现代嵌入式设备构成威胁。
相较于昂贵的逻辑分析仪,此次采用的低成本硬件方案(除树莓派 Pico 外几乎无额外开销),在该场景下具备更高的实用性。
消息来源:cybersecuritynews;
本文由 HackerNews.cc 翻译整理,封面来源于网络;
转载请注明“转自 HackerNews.cc”并附上原文