软件开发人员用谷歌搜索突破现代汽车安全防线

一位开发人员近日表示,在发现这款汽车的制造商使用不仅公之于众,还从编程示例照搬的密钥来保护系统后,他能够在其汽车信息娱乐硬件上运行自己编写的软件。

明尼苏达州明尼阿波利斯市的软件工程师Daniel Feldman想改动其2021年款现代艾尼氪(Ioniq)SEL上的车载信息娱乐(IVI)系统。为此,他必须弄清楚如何连接到该系统,并绕过安全防线。

Feldman设法弄清楚了如何定制 IVI的D-Audio2系统(由现代汽车公司的移动平台子公司现代摩比斯制造)的固件更新版,并让IVI接受定制的更新版,随后找到了一个让人意料不到的法子:通过谷歌搜索。

IVI接受受密码保护的ZIP存档这种形式的固件更新版。Feldman从现代官网下载了更新ZIP,绕过了该存档文件的简单密码保护机制,访问其内容,内容包括IVI各个部分的加密固件映像。

随后,他的目标变成了创建自己的固件映像,并在ZIP内以汽车会接受、安装和运行的方式对其加密,从而使他能够通过自己提供的代码控制硬件。

幸运的是,Feldman在摩比斯的官网上找到了Linux安装脚本,该脚本创建了一个合适的ZIP文件,用于执行系统更新。

该脚本包含系统更新存档文件必不可少的ZIP密码,以及AES对称密码块链(CBC)加密密钥(单个密钥,而不是RSA非对称公钥/私钥对)和用来加密固件映像的IV(初始化向量)值。

该信息还可以用于解密映像。

这意味着他可以使用AES密钥来解密固件映像,修改它们,然后使用脚本用AES密钥重新加密映像,并将其全部打包到受密码保护的ZIP中,供现代IVI更新系统获取。

但这不会那么容易:至少,所提供数据的一些部分需要用RSA私钥进行加密签名,而Feldman没有RSA私钥。更新程序将使用私钥对应的RSA公钥来检查数据是否使用正确的秘密私钥来签名。

因此,他需要找到RSA私钥才能执行下一步。

Feldman在早在5月份的一篇博文中解释道:“该脚本暗示使用的是RSA签名,但遗憾的是,用于签名的密钥不在源代码中。”

他补充道:“后来发现,该脚本中的[AES]加密密钥居然就是NIST文档SP800-38A(https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38a.pdf)中列出的第一个AES 128位CBC示例密钥。”

顺便插一句,加密界的共识似乎是CBC很难正确使用,而是建议使用其他方法。微软去年警告,使用填充加密(padding)的AES CBC可能并不安全。

微软声称:“微软认为,在不先确保密文完整性就采用可验证填充的情况下,解密使用对称加密的密码块链(CBC)模式加密的数据不再安全,除了非常特殊的情况外。这一判断基于目前已知的密码学研究。”

但是现代公司犯的错不在于错误实现AES CBC,而在于它使用网上发布的另一个密钥作为机密信息。

有了这个对称密钥,Feldman 就能从更新 ZIP内的其中一个加密固件映像文件提取内容。

他在提取的文件中找到了处理IVI更新的软件,一个名为updateAgent的二进制文件。换句话说,Feldman现正在查看他需要操控的代码,即其车内IVI中的更新工具,这给了他操控代码的大好机会。

Feldman解释道:“由于我已经有了zip密码和加密密钥,于是决定寻找签名密钥。幸运的是,他们不仅留下了公钥,还留下了私钥。”

可以说,Feldman好运连连。他在固件映像中找到了更新程序使用的RSA公钥,于是上网搜索该密钥的一部分。搜索结果指向了一个常见的公钥,该公钥出现在了《C使用OpenSSL进行RSA加密和解密示例》(http://hayageek.com/rsa-encryption-decryption-openssl-c/)之类的教程中。

该教程及其他实现OpenSSL的项目在源代码中附有这个公钥和相应的RSA私钥。

这意味着现代公司使用了教程中的公私密钥对,并将公钥放入其代码中,Feldman因而得以从网上查到该私钥。 因此,他能够签名现代公司的文件,并让更新程序接受这些文件。

至此,Feldman就有机会为其汽车的IVI编写自定义固件,他在随后发在网上的两篇文章中作了描述。他还为其他现代车主总结了其方法(https://programmingwithstyle.com/posts/howihackedmycarguidescreatingcustomfirmware/)。

现代公司尚未回应置评请求。

参考及来源:https://www.theregister.com/2022/08/17/software_developer_cracks_hyundai_encryption/如若转载,请注明原文地址。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/133315.html<

赞 (0)
管理的头像管理
上一篇2025-02-27 10:26
下一篇 2025-02-27 10:28

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注