🤖
🤖
核心导读
印度证书机构eMudhra的8个私钥因使用4、56等极小整数被轻易破解,可伪造任意网站证书。Mozilla、Chrome、苹果和微软紧急封堵。风险不止浏览器:curl、Python、Node、Go、Java曾接受伪造的Stripe API证书,许多程序不检查吊销状态,交易所机器人等也需警惕。
互联网行业正争分夺秒地修补一个系统漏洞,该系统负责告诉浏览器哪些网站是真实的。
事件始于10月17日:一名研究员告知浏览器厂商,印度公司eMudhra的8个秘密密钥已被攻破。eMudhra是一家为网站提供认证担保的公司。
名为韦恩(Wayne)的研究员报告了这一安全漏洞。为证明该漏洞,他用全部8个已泄露密钥对自己的警告信息进行了数字签名:“我们这里出问题了——韦恩。”
当用户访问网站时,浏览器会检查数字证书以确认网站真实。被称为证书颁发机构的公司负责签发这些证书,eMudhra是其中之一。据The Register报道,该公司已签发超过6000万份证书。
每家证书颁发机构都用自己的私钥为证书签名。可以把它想象成一枚总印章。一旦有人窃取或破解了这枚印章,就能为任何网站伪造看起来真实可信的证书。
加密用户也应关注此事,风险主要发生在浏览器之外。交易所机器人、交易脚本和钱包后端通常运行在Python、Node或Go上。若交易所API的证书被伪造,同一网络中的攻击者就可能读取或篡改机器人的流量。目前尚未有加密攻击或针对用户的攻击被报告。
CoinDesk已联系eMudhra寻求置评。
浏览器厂商和软件开发者已推出紧急修复。Mozilla在10月17日UTC晚8点后才收到报告,约三小时后便部署了拦截。Chrome同日封堵了相关证书。苹果在10月19日跟进,微软在10月20日跟进。eMudhra也已吊销这些证书。
Mozilla浏览器警告称,网络拦截者可能利用这些欺诈性证书冒充受信任网站,从而读取或篡改用户数据。
这些密钥如何泄露仍不清楚。
Cyber Security News在X上表示:“据研究人员称,eMudhra使用4、56和237这类极小的整数作为私钥,而不是足够强的384位随机数。”
安全研究员斯科特·赫尔姆(Scott Helme)进一步指出。
他写道:“eMudhra的其中一个证书颁发机构私钥是数字4。另一个是56,还有一个是115。”
合格的密钥应是一个无人能够猜中的巨大随机数。赫尔姆称,他在不到一秒内就从公开证书中还原出全部8个密钥,而且这些密钥自2025年4月起就已暴露。
这场灾难的具体成因在Mozilla官方安全公告中被披露。赫尔姆对Mozilla一个缺陷工单的解读称,eMudhra将其归咎于密钥设置脚本中的一个缺陷。
真正的担忧在浏览器之外。许多程序从不检查证书是否已被吊销。赫尔姆写道:“因此,eMudhra和Sectigo已吊销这些中间证书,对它们毫无帮助。”
他说,测试显示curl、Python、Node、Go和Java等工具曾接受为Stripe API伪造的证书。Go、Python的certifi包和Rust的webpki-roots已推出修复。上次检查时,Node.js仍在等待修复。
分享这篇文章: