网络安全

在Trezor和Ledger硬件钱包中发现的漏洞

在大会上,Chaos Communication Congress 发表了一份报告 ,内容涉及Trezor和Ledger硬件钱包存在的问题。 研究作者为Dmitry Nedospasov、Thomas Roth和Josh Datko。 他们同时发现了钱包的多项安全漏洞:第三方通道攻击、供应链攻击,以及固件和芯片层面的漏洞。

许多此类设备的制造商会在产品和包装上粘贴防护贴纸,以表明包装或设备本身未被打开。 专家们在演示开始时进行了一个简单的实验:使用普通吹风机,贴在Trezor One包装盒和钱包USB接口上的贴纸被轻松去除,且没有留下任何痕迹。 关键在于监控温度,避免对贴纸和小工具过度加热。

Ledger设备出厂时没有安全标签,因为它们能有效保证每次开机时都会进行完整性检查,并且Secure Element芯片能够阻止任何物理篡改企图。 因此,在去除Trezor上的贴纸后,专家们转而研究Ledger,“打开”了钱包并获得了其硬件组件的访问权限。

随后,专家们表示,在Trezor钱包中可以更换微控制器。 “完成这一步之后,你就可以在Trezor设备上安装被篡改的引导加载程序”,Datko解释道。 在演示中,专家们略过了这一步,但向与会者说明,他们在实验室中成功连接了硬件调试器,并获得了对芯片的自由访问权限,从而能够用恶意代码重新刷写组件。

Ledger钱包则配备了最简单的硬件植入装置,使其无需用户操作即可批准交易。 专家们在此仅花费了3.16美元:他们在设备上安装了一个射频开关,可以通过无线电频率进行远程控制(使用50W发射器时,距离至少可达11米)。

就钱包的软件部分而言,研究人员成功逆向分析了Ledger Nano S的固件更新机制,并找到了一个漏洞,可借此在设备上写入自定义固件。 厂商对此类攻击提供了防护:通过加密函数验证固件镜像的真实性。 然而,测试完成后,常量0xF00BABE会被写入内存,且该测试只执行一次,而不是每次设备启动时都执行。 因此,研究人员得出结论:要绕过保护机制,只需将内存地址0xF00BABE放置在特定位置。完成这一步后,他们便可在被篡改的设备上启动“贪吃蛇”游戏,利用两个可用按键控制小小显示屏上的移动。

在Ledger Blue上可以实施侧信道攻击(边信道攻击)。 通过研究设备硬件,Thomas Roth发现该钱包配有一根充当天线的长导线。当设备连接USB数据线时,信号会被放大。 专家们借助SDR设备截获并分析了这些无线电波。 于是,Roth开发了一个框架,可在输入PIN码时自动记录信号,并利用人工智能模型将这些数据转换为人类可读的信息。 最终,专家们将这些“预测”的准确率达到了90%。

在Trezor One钱包中还发现了另一个问题,该钱包采用STM32F205微控制器,而该微控制器基本控制着所有组件的运行。 事实上,早在2017年,该型号的微控制器就被发现存在故障注入(fault injection)漏洞。 去年,专家们尚不确定该问题是否也存在于硬件钱包中,但CCC的专家表示,在研究了固件下载和更新流程后,他们发现私钥或主密钥可以从RAM中提取出来。 这种攻击将使攻击者获得加密货币的访问权限,并能将资金转移到其他钱包。

厂商已经对专家报告的演示作出了回应。 Ledger 的开发者表示,所展示的所有攻击都难以实施,需要物理接触设备,普通用户无需担心,因为此类入侵在实际中很难实现。

Trezor的开发者则表示,他们已经在准备修复补丁,同时也强调,这些攻击只有在物理接触设备的情况下才可能实现。

您的意见