车载可用摄像头漏洞研究

谈思实验室 2024-08-22 18:07

点击上方蓝字谈思实验室

获取更多汽车网络安全资讯

01

硬件探索

由于没有外壳与系统进行交互,也没有明文固件可供分析,我们不得不借助内存转储来进行任何工作。该型号内部由 2 块 PCB 组成,有屏蔽罩隐藏芯片组。拆除后,可以识别芯片组制造商和型号。SoC 是赛普拉斯(现为英飞凌)CYW43012,辅以 OA00804-B56G 视频处理器(最接近的文档是 0A00805-B56G-Z),使用南亚 NT5CC64M16GP-DI RAM 和华邦 W25Q256JW_DTR 串行闪存存储器。设备可以通过电源电缆(左侧连接器)、电池(右上方连接器)或 Micro-USB(顶部)供电。一款相对类似型号的拆解过程也由 iFixit 详细介绍。

由于屏蔽罩的原因,串行闪存存储器的一些引脚不容易访问,但很容易弯曲或移除。此外, W25Q256JW_DTR 封装是 WSON 类型,SOIC 夹子无法适配该封装,因此需要使用 PCBite 来访问 SPI 引脚。

尝试使用 1.8V SPI 转储内存,如数据表中所述,未收到任何响应。然而,使用 3.3V SPI 适配器成功转储。

02

固件解剖

与更新二进制文件不同,固件以明文和字符串的形式存储在文件中,这些字符串确认了这是在 SoC 上运行的代码。然而,二进制转储文件并没有像原样加载到内存中,我们需要在分析代码之前了解二进制格式。

错误字符串表示魔术值: 0x4f565449/"ITVO" 用于硬件头, 0x4f565442/"BTVO" 用于 fw header , 0x4f565450/"PTVO" 用于 para header (为了可读性已更正拼写错误)。CRC 实现是 CRC16 CCITT。

ITVO

ITVO 头部主要包含有关 Flash 存储器上区域的信息,地址和大小如下 uint32_t :

  1. kvstore 显然存储着敏感信息,但尚未进行调查。

  2. fw 存储在 CPU 或外围 CPU 上执行的二进制文件,以 BTVO 头开始。

  3. para 存储设备的配置,从 PTVO 头开始。

  4. cali 显然存储加密信息,使用来自 kvstore 的密钥,以 CALI 头部开头。

  5. logs 特别是在设备停止或重新启动时记录日志的地方。

PTVO

PTVO 头部描述配置区域。它以 YTVO 头部开始,对齐在 0x1000 内存页面上,主要包含其大小和 ID。然后是配置本身,也对齐在 0x1000 内存页面上,并以键/值对的文本格式存储,由 = 分隔,后跟 \n 。

BTVO

BTVO 头部描述了固件二进制文件,按原样加载到内存中,由 CPU 执行或在第二步由需要的外围设备加载。该设备基于 RTOS,操作模式(设置、更新等)不是同一操作系统上的不同任务,而是在需要时加载到内存中的不同完整映像。这些完整映像对应于头部中的不同“文件”,索引用于寻址特定的操作模式。通过在内存中的加载地址加载文件并重新启动来执行模式切换。一些文件中存在 shell,因此很容易确定 ID 和模式之间的映射:

setupqr 模式使用 QR 码处理设备设置,以获取 Wi-Fi 凭据。当设备正确设置并随着时间的推移吸收功能时, arlogw 模式似乎是名义模式,因为它嵌入了 pjsip COTS 用于音频/视频流。一些模式使用两个文件,在这种情况下,第一个文件负责加载第二个文件,因此大多数二进制文件中存在类似但略有不同的文件加载例程。

upgrade 模式处理下载、验证和将更新写入 Flash 存储器。对该文件的分析足以理解(加密的)更新格式和流程。

03

更新

获取和解析

如前所述,更新过程首先检索一个 JSON 文件。然而,先前识别的 URL 与此模型的更新不匹配。正确的更新 URL 是 https:

//updates.arlo.com/arlo/fw/fw_deployed/production/updaterules/VMC4041P_UpdateRules.json ( VMC4041P 是 Arlo Pro4 的模型 ID)。这个 JSON 文档包含了二进制路径、版本和日期,以及二进制的 MD5 哈希值。

下载的二进制文件遵循这种格式:

  1. 用于识别格式的魔术字节, cimg 。

  2. 格式版本, 1 在这种情况下但 2 存在。

  3. 二进制文件的头部和总大小,头部大小为 0x178 ,版本为 1 。

  4. 包的 DSA 签名,( s1 , s2 ) 在 ASN.1 中。

  5. 一个加密的 AES 密钥。

  6. 评论字符串,在所有观察到的更新中为空。

  7. 硬件和固件修订,都在所有观察到的更新中 0 。

  8. 二进制时间戳以时代格式。

  9. 以下部分的数量。

部分格式如下:

  1. 魔法字节, part 。

  2. 一种类型,要么 1 ( rootfs ),要么 2 ( generic ),要么 3 ( kernel )。

  3. 数据的大小。

  4. 描述数据存储方式的标志,可以是 0 (存储), 1 (压缩), 2 (加密)或 3 (压缩+加密)。

  5. 数据的 MD5 哈希。由于此相机型号不检查哈希的有效性,因此不清楚输入数据的确切内容是什么。

DSA 签名是在去除签名的整个文件上执行的。

解密

AES 密钥使用嵌入在加载文件中的 RSA 私钥进行解密。RSA 私钥使用加载文件中的 4 字节 XOR 密钥进行加密。

提供明文 AES 密钥给 EVP_BytesToKey ,并与加载文件中的固定盐一起,以便使用 IV 派生实际密钥。

由于 OpenSSL 在 3.0 版本之前的版本中使用,因此可以广泛使用 ERR_put_error(intlib,intfunc,intreason,constchar*file,intline) 进行功能识别:一旦识别出后者功能( file 参数对此很有帮助),就可以使用 lib 和 func 参数重命名调用它的函数。GitHub 存储库中的 openssl_err.py 脚本解析 openssl 包含目录中的 .h 文件以生成 Python 字典。然后在使用 Bip 插件重命名函数的 ossl_rename_ida.py 脚本中使用该字典。

关于缺少的名称,可以使用 ossl_assert 参数,因为它们包括文件路径和行号。例如, 

ossl_assert_int("/home/jenkins/agent/workspace/_VMC4041P_1.080.20.0_483_0f3935c/omnivision/make/../share/network/openssl/crypto/evp/digest.c",271,"ctx->digest->md_size <= EVP_MAX_MD_SIZE") 必须匹配 EVPDigestFinalex。

其他功能,例如 EVP_aes_256_cbc 和 EVP_sha1 ,可以通过使用交叉引用到 NID 定义来识别算法,例如 #defineNID_aes_256_cbc427 和 #defineNID_sha164 :

WTVO

一旦解密, part 的内容是一个 WTVO 头部,使用与其他头部相同的逻辑:

WTVO 标题包含有关更新内容的信息,类似于先前识别的内容:

  1. fw 实际上是一个完整的 BTVO 区域,它被原样复制到 Flash 存储器上。

  2. 最终 para 将作为原样复制到 Flash 存储器上的一个 PTVO 区域,但未发现包含 para 的更新。

  3. 一条评论字符串。

  4. 用 CRC 来验证头部。

密钥重用

下载更新的 URL 是使用 snprintf(dst,256,"%s/updaterules/%s_UpdateRules.json",update_url,base_model_id) 构建的,其中 update_url 是以下之一:

  • https://arloupdates.arlo.com/arlo/fw/fw_deployed/dev

  • https://arloupdates.arlo.com/arlo/fw/fw_deployed/qa

  • https://arloupdates.arlo.com/arlo/fw/fw_deployed/goldenft

  • https://updates.arlo.com/arlo/fw/fw_deployed/staging

  • https://updates.arlo.com/arlo/fw/fw_deployed/fieldtrial

  • https://updates.arlo.com/arlo/fw/fw_deployed/production

base_model_id 是 VMC4041P 适用于这个特定型号。可能的 base_model_id 列表可以在 Arlo 支持网站上找到。

URLs 对于每个环境和所有模型都是可访问的,这意味着我们可以下载当前所有可用的更新二进制文件!而且看起来 RSA 私钥与 cimg 格式的第 1 版相关联,而不是针对每个模型特定的,因此我们可以解密更多固件:

其中一些更新不是 RTOS,而是带有 rootfs 的 Linux 内核,可以是 SquashFS 或 UBI。此外, cimg 版本 2 的密钥和格式不同,因此无法解密此类更新。

04

工具制造

本研究开发的工具可在我们的 GitHub 存储库上获得。已知时,输出包括用于在 IDA 中直接加载模式的脚本,例如 arlogw ,具有适当的加载地址和相关的二进制加载。

05

结论

您现在已经准备好启动自己的漏洞研究了,只要您能够自己找出 RSA 私钥,因为 Arlo 更喜欢这个私钥不被泄露。同时请记住,攻击面很小,除非您知道如何在 TLS 连接上执行中间人攻击!

来源: 车联网攻防日记

 end 

 专业社群 

部分入群专家来自:

新势力车企:

特斯拉、合众新能源-哪吒、理想、极氪、小米、宾理汽车、极越、零跑汽车、阿维塔汽车、智己汽车、小鹏、岚图汽车蔚来、吉祥汽车、赛力斯......

外资传统主流车企代表:

大众中国、大众酷翼、奥迪汽车、宝马、福特、戴姆勒-奔驰、通用、保时捷、沃尔沃、现代汽车、日产汽车、捷豹路虎、斯堪尼亚......

内资传统主流车企:

吉利汽车、上汽乘用车、长城汽车、上汽大众、长安汽车、北京汽车、东风汽车、广汽、比亚迪、一汽集团、一汽解放、东风商用、上汽商用......

全球领先一级供应商:

博世、大陆集团、联合汽车电子、安波福、采埃孚、科世达、舍弗勒、霍尼韦尔、大疆、日立、哈曼、华为、百度、联想、联发科、普瑞均胜、德赛西威、蜂巢转向、均联智行、武汉光庭、星纪魅族、中车集团、赢彻科技、潍柴集团、地平线、紫光同芯、字节跳动、......

二级供应商(500+以上):

Upstream、ETAS、Synopsys、NXP、TUV、上海软件中心、Deloitte、奇安信、为辰信安、云驰未来、信大捷安、信长城、泽鹿安全、纽创信安、复旦微电子、天融信、奇虎360、中汽中心、中国汽研、上海汽检、软安科技、浙江大学......

人员占比


公司类型占比



 精品活动推荐 

更多文章

不要错过哦,这可能是汽车网络安全产业最大的专属社区!

关于涉嫌仿冒AutoSec会议品牌的律师声明

一文带你了解智能汽车车载网络通信安全架构

网络安全:TARA方法、工具与案例

汽车数据安全合规重点分析

浅析汽车芯片信息安全之安全启动

域集中式架构的汽车车载通信安全方案探究

系统安全架构之车辆网络安全架构

车联网中的隐私保护问题

智能网联汽车网络安全技术研究

AUTOSAR 信息安全框架和关键技术分析

AUTOSAR 信息安全机制有哪些?

信息安全的底层机制

汽车网络安全

Autosar硬件安全模块HSM的使用

首发!小米雷军两会上就汽车数据安全问题建言:关于构建完善汽车数据安全管理体系的建议

谈思实验室 深入专注智能汽车网络安全与数据安全技术,专属汽车网络安全圈的头部学习交流平台和社区。平台定期会通过线上线下等形式进行一手干货内容输出,并依托丰富产业及专家资源,深化上下游供需对接,逐步壮大我国汽车安全文化及产业生态圈。
评论
  • RDDI-DAP错误通常与调试接口相关,特别是在使用CMSIS-DAP协议进行嵌入式系统开发时。以下是一些可能的原因和解决方法: 1. 硬件连接问题:     检查调试器(如ST-Link)与目标板之间的连接是否牢固。     确保所有必要的引脚都已正确连接,没有松动或短路。 2. 电源问题:     确保目标板和调试器都有足够的电源供应。     检查电源电压是否符合目标板的规格要求。 3. 固件问题: &n
    丙丁先生 2024-12-01 17:37 83浏览
  • 概述 说明(三)探讨的是比较器一般带有滞回(Hysteresis)功能,为了解决输入信号转换速率不够的问题。前文还提到,即便使能滞回(Hysteresis)功能,还是无法解决SiPM读出测试系统需要解决的问题。本文在说明(三)的基础上,继续探讨为SiPM读出测试系统寻求合适的模拟脉冲检出方案。前四代SiPM使用的高速比较器指标缺陷 由于前端模拟信号属于典型的指数脉冲,所以下降沿转换速率(Slew Rate)过慢,导致比较器检出出现不必要的问题。尽管比较器可以使能滞回(Hysteresis)模块功
    coyoo 2024-12-03 12:20 70浏览
  • 11-29学习笔记11-29学习笔记习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-02 23:58 51浏览
  • 当前,智能汽车产业迎来重大变局,随着人工智能、5G、大数据等新一代信息技术的迅猛发展,智能网联汽车正呈现强劲发展势头。11月26日,在2024紫光展锐全球合作伙伴大会汽车电子生态论坛上,紫光展锐与上汽海外出行联合发布搭载紫光展锐A7870的上汽海外MG量产车型,并发布A7710系列UWB数字钥匙解决方案平台,可应用于数字钥匙、活体检测、脚踢雷达、自动泊车等多种智能汽车场景。 联合发布量产车型,推动汽车智能化出海紫光展锐与上汽海外出行达成战略合作,联合发布搭载紫光展锐A7870的量产车型
    紫光展锐 2024-12-03 11:38 65浏览
  • 光伏逆变器是一种高效的能量转换设备,它能够将光伏太阳能板(PV)产生的不稳定的直流电压转换成与市电频率同步的交流电。这种转换后的电能不仅可以回馈至商用输电网络,还能供独立电网系统使用。光伏逆变器在商业光伏储能电站和家庭独立储能系统等应用领域中得到了广泛的应用。光耦合器,以其高速信号传输、出色的共模抑制比以及单向信号传输和光电隔离的特性,在光伏逆变器中扮演着至关重要的角色。它确保了系统的安全隔离、干扰的有效隔离以及通信信号的精准传输。光耦合器的使用不仅提高了系统的稳定性和安全性,而且由于其低功耗的
    晶台光耦 2024-12-02 10:40 102浏览
  • 作为优秀工程师的你,已身经百战、阅板无数!请先醒醒,新的项目来了,这是一个既要、又要、还要的产品需求,ARM核心板中一个处理器怎么能实现这么丰富的外围接口?踌躇之际,你偶阅此文。于是,“潘多拉”的魔盒打开了!没错,USB资源就是你打开新世界得钥匙,它能做哪些扩展呢?1.1  USB扩网口通用ARM处理器大多带两路网口,如果项目中有多路网路接口的需求,一般会选择在主板外部加交换机/路由器。当然,出于成本考虑,也可以将Switch芯片集成到ARM核心板或底板上,如KSZ9897、
    万象奥科 2024-12-03 10:24 37浏览
  • 《高速PCB设计经验规则应用实践》+PCB绘制学习与验证读书首先看目录,我感兴趣的是这一节;作者在书中列举了一条经典规则,然后进行详细分析,通过公式推导图表列举说明了传统的这一规则是受到电容加工特点影响的,在使用了MLCC陶瓷电容后这一条规则已经不再实用了。图书还列举了高速PCB设计需要的专业工具和仿真软件,当然由于篇幅所限,只是介绍了一点点设计步骤;我最感兴趣的部分还是元件布局的经验规则,在这里列举如下:在这里,演示一下,我根据书本知识进行电机驱动的布局:这也算知行合一吧。对于布局书中有一句:
    wuyu2009 2024-11-30 20:30 106浏览
  •         温度传感器的精度受哪些因素影响,要先看所用的温度传感器输出哪种信号,不同信号输出的温度传感器影响精度的因素也不同。        现在常用的温度传感器输出信号有以下几种:电阻信号、电流信号、电压信号、数字信号等。以输出电阻信号的温度传感器为例,还细分为正温度系数温度传感器和负温度系数温度传感器,常用的铂电阻PT100/1000温度传感器就是正温度系数,就是说随着温度的升高,输出的电阻值会增大。对于输出
    锦正茂科技 2024-12-03 11:50 66浏览
  • 遇到部分串口工具不支持1500000波特率,这时候就需要进行修改,本文以触觉智能RK3562开发板修改系统波特率为115200为例,介绍瑞芯微方案主板Linux修改系统串口波特率教程。温馨提示:瑞芯微方案主板/开发板串口波特率只支持115200或1500000。修改Loader打印波特率查看对应芯片的MINIALL.ini确定要修改的bin文件#查看对应芯片的MINIALL.ini cat rkbin/RKBOOT/RK3562MINIALL.ini修改uart baudrate参数修改以下目
    Industio_触觉智能 2024-12-03 11:28 41浏览
  • 戴上XR眼镜去“追龙”是种什么体验?2024年11月30日,由上海自然博物馆(上海科技馆分馆)与三湘印象联合出品、三湘印象旗下观印象艺术发展有限公司(下简称“观印象”)承制的《又见恐龙》XR嘉年华在上海自然博物馆重磅开幕。该体验项目将于12月1日正式对公众开放,持续至2025年3月30日。双向奔赴,恐龙IP撞上元宇宙不久前,上海市经济和信息化委员会等部门联合印发了《上海市超高清视听产业发展行动方案》,特别提到“支持博物馆、主题乐园等场所推动超高清视听技术应用,丰富线下文旅消费体验”。作为上海自然
    电子与消费 2024-11-30 22:03 86浏览
  • 最近几年,新能源汽车愈发受到消费者的青睐,其销量也是一路走高。据中汽协公布的数据显示,2024年10月,新能源汽车产销分别完成146.3万辆和143万辆,同比分别增长48%和49.6%。而结合各家新能源车企所公布的销量数据来看,比亚迪再度夺得了销冠宝座,其10月新能源汽车销量达到了502657辆,同比增长66.53%。众所周知,比亚迪是新能源汽车领域的重要参与者,其一举一动向来为外界所关注。日前,比亚迪汽车旗下品牌方程豹汽车推出了新车方程豹豹8,该款车型一上市就迅速吸引了消费者的目光,成为SUV
    刘旷 2024-12-02 09:32 98浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦