mt logoMyToken
ETH Gas
Tiếng việt

8600 万美元蒸发背后:Ledger 供应链之劫,与硬件钱包最脆弱的那一环

sưu tầmcollect
đăng lạishare

作者:谷昱,ChainCatcher

一个人把 80 枚比特币转进了新买的 Ledger。设备是从官方授权经销商买的,助记词是手抄的、锁在保险箱里的。这批币 9 月 29 日才到账,买入成本约 520 万美元,浮盈一度 138 万美元。10 月 9 日 05:54(UTC),80 枚 BTC 在一笔交易里全部转走。

他做对了教科书要求的每一件事。

同一天上午,X 和 Reddit 上开始出现成片的类似报告:一位用户的 Ledger Stax 被转走近 10 万 USDT,助记词同样手写后锁进保险柜。这些用户的共同点只有一个—— 设备都购自东南亚经销商 CryptoBilis。

10 月 9 日 13:32(UTC),Ledger 确认正在调查,并要求 CryptoBilis 暂停一切 Ledger 设备的销售与发货;90 天内从该渠道购买设备的用户,尚未初始化就不要初始化,已初始化的应立即把资产转移到用新助记词生成的新设备。

损失到底有多大,目前只有链上估算。

链上调查员 Specter 在 12:24 最先公布十个归集地址,覆盖比特币、以太坊与波场,估算 损失超过 8600 万美元 ;另一位调查员 tanuki42 列出其中八个地址,给出 超过 7200 万美元 ;慢雾旗下 MistTrack 称数字"正在接近 9000 万美元";Bitquery 覆盖 311 个钱包,估算约 9290 万美元 ,其中以太坊约 4200 万、比特币约 1760 万、USDT 约 1650 万。Arkham 已将这些地址标注为"Ledger Theft",截至周五下午,被标记地址中仍留存约 7150 万美元,最大头寸包括约 2940 万美元的 ETH、1750 万美元的 BTC、1360 万美元的 USDD 与 1080 万美元的 USDT。

比总额更值得看的是受害者画像。Lookonchain 监测到,某地址三周前购入设备后存入 700 万枚 USDT,约在报告前十小时被全部转走,可能是本次最大的单笔;另三个被标记的比特币地址在 13:44(UTC)合计持有约 211 枚 BTC,当时没有任何转出。据 Chain INK 统计,本次涉及约 98 个钱包,平均每个约 89 万美元。

这不是散户丢了几百美元。这是有人把积蓄放进去的那种钱包。

把它和今年另一起放一起看,分布的差别比总额更能说明问题。7 月 Coldcard 因固件随机数缺陷导致助记词可被推测,损失约 1.11 亿美元,但分散在 5200 多个钱包上,平均每个约 2.1 万美元;而 CryptoBilis 这起不到一天就排到第二(约 8700 万美元),却只涉及约 98 个钱包,平均接近 89 万美元。

Coldcard 那次是广撒网,这次是精准收割。 这个分布本身就在支持"植入模块"的推断:攻击者掌握每一台被改造设备上生成的助记词,于是可以等——等钱进来了再动手,而且专挑值得动手的。Lookonchain 监测的那 80 枚 BTC,就是在设备里安静躺了十天之后被一次性转走的。

Ledger 尚未说明攻击机制,但已经有人把设备拆开了。

最具体的描述来自 Mt.Gox 前 CEO Mark Karpelès。他称自己收到的一台设备来自马来西亚——在亚马逊上以半价挂出、从马来西亚而非他下单的日本发货,这个发货地本身就是第一个警讯。拆开后,他在屏幕衬垫本该在的位置发现了一个隐藏模块:一根天线的单股导线、被缩短的电池或被去掉的屏幕衬垫腾出的空间、一个带 eSIM 的 LTE 模块,以及一颗接在设备 SPI 总线上的微控制器。

他的判断是:这颗微控制器能识别 Ledger 在 128×64 屏幕上使用的字体,锁定助记词设置界面,把用户抄写时逐字显示的助记词作为文本,通过 LTE 发走。

慢雾首席信息安全官 23pds 给出了对应的技术路径:攻击者在设备内部加装微控制器,接入屏幕的 SPI 数据线;助记词在安全元件内生成后显示在屏幕上供用户抄写,恶意模块同步记录屏幕输出的每一个字符,再通过内置 LTE 或 eSIM 传出。他强调,安全元件的作用是防止私钥被直接读取或导出,但它 管不了屏幕上正在显示什么——助记词出现在屏幕上的那几秒钟,就是攻击窗口。

这解释了整起事件最反常识的一点: 这些设备能通过 Ledger 的真伪校验。 因为安全元件是真的,它确实正确生成助记词、也确实正常签名,它只是被"看着"。固件同样检测不到,因为植入模块只在屏幕刷新时监听。也就是说,唯一的检测方式是——把设备拆开。

另外两种可能同样存在:一是预置助记词——攻击者提前开机、设置、抄录、重新封装,用户以为在"设置新设备",实际用的是对方早已掌握的那组词;二是钓鱼。开发者 0xQuit 就认为部分受害者可能死于钓鱼,称直接说"Ledger 被黑"是不负责任的。

CryptoBilis 不是野摊子。

它 2020 年成立于吉隆坡,是 Ledger 官网经销商页面上白纸黑字列出的 官方授权经销商 ,覆盖马来西亚、印尼和菲律宾,除 Ledger 外还销售 Trezor、OneKey、Tangem 与 SafePal。

问题恰恰出在这里。用户遵循的是行业教给他的安全准则:买不到官网直邮,就找"官方授权经销商"。 但授权背书的是这家公司的经销资格,不是它仓库里每一台设备的完整性,也不是每一位经手分拣的员工。 设备从工厂出来,走物流、过仓库、经分拣、到经销商、再送到门口,这条链上任何一环都可能被拦截、拆开、复原——Karpelès 那台设备的热缩膜是完好的。

一旦设备离开 Ledger 的保管,"授权"二字就不再提供任何物理保障。

更微妙的是时间线。新披露的公司记录显示,CryptoBilis 于今年 3 月被收购,一名登记地址位于中国黑龙江省、名为"佳铭"的人士自 8 月 3 日起持有公司 100% 股权。前联合创始人证实了 3 月的收购,称原股东此后退出所有运营、管理及行政职务,交接后已无法了解公司实际运营,并敦促现任管理层透明处理。据深潮 TechFlow 报道,收购方与前高管签署的保密协议限制其披露交易细节,有效期至 10 月 19 日—— 事件在 10 月 9 日爆发时,前高管在法律上还不能自由地把收购细节说出来。

目前没有确凿证据表明股权变更与设备失窃存在关联 ,Ledger 也只叫停了销售,未作任何指控。

10 月 10 日,CryptoBilis 宣布暂停马来西亚、菲律宾和印尼所有门店及线上渠道的各品牌硬件钱包销售与发货,并提醒用户:助记词必须由设备在初始化时自行生成、由用户亲手抄写,若设备附带已印好或写好的助记词卡片就应视为不安全。

而 CryptoBilis 也不是今年唯一出问题的渠道。9 月,Trezor 承认其物流承包商 ShipMonk 被入侵,约 8.1 万名美国客户的真实姓名、电话与家庭住址泄露;今年 1 月,Ledger 披露支付处理商 Global-e 泄露了部分官网买家的姓名与联系方式。这些事件本身没有直接丢币,但它们把"谁在什么时候收到了一台硬件钱包"这份名单,一次又一次交到了攻击者手里。

过去三个月,冷存储最薄弱的环节已经从代码转移到了物流。

追回的窗口正在关闭。

据 MistTrack,Tether 已在相关地址冻结了大量 USDT;攻击者随即开始把 USDT 换成 USDD——一种 Tether 无法冻结的波场稳定币。据 Onchain Lens,已有 430.2 枚 ETH(约 107 万美元)通过四个钱包进入 Tornado Cash。比特币与以太坊没有冻结开关,钱一旦离开,只剩下交易所这一道关卡。

SlowMist 与 Security Alliance 已开放求助通道,后者呼吁资金被转至相关地址的用户联系其 SEAL 911 应急响应团队。

行业给出的建议里,最实用的一条来自 CZ。他在判断这是"局限于某一个经销商的供应链攻击"的同时,给了一个具体到动作的方案:

这个"隔离期"的逻辑不是技术性的,而是信息性的: 如果一批设备在被送达经销商时就已经被动过手脚,链上分析师需要时间来发现第一批被盗并发出警报——这两周,就是给自己买的那段时间。

但这起事件真正改写的,是"自托管"这个词的边界。

过去十年,行业把自托管的安全叙事几乎全部建在加密学与硬件之上:安全元件、EAL5+、PIN 擦除、开源审计。这些都没有被攻破。被攻破的是 从工厂到你家门口的那段路 ——一段由物流商、仓库、经销商和快递员组成的、任何一个环节都无法被用户验证的路。

硬件钱包承诺的是"私钥永不离开设备"。这次的讽刺在于,私钥确实从未离开设备——它只是在显示给用户看的那几秒钟里,被人多看了一眼。

而当安全边界从芯片扩展到你家门口的快递,用户最后能做的那道防线,可能真的只剩下:别急着把钱放进去。

Tuyên bố từ chối trách nhiệm: Bản quyền của bài viết này thuộc về tác giả gốc và không đại diện cho MyToken(www.mytokencap.com)Ý kiến ​​và vị trí; vui lòng liên hệ với chúng tôi nếu bạn có thắc mắc về nội dung
community_x_prefix
X(https://x.com/MyTokencap)
community_tg_prefixcommunity_tg_name
(https://t.me/mytokenGroup)
Đọc liên quan