慢雾:简析 MetaMask 钱包 demonic 漏洞

2022 年 6 月 16 日,MetaMask(MM)官方公布白帽子发现的一个被称为 demonic vulnerability(恶魔漏洞)的安全问题,漏洞影响的版本 < 10.11.3,由于 MM 的用户体量较大,且基于 MM 进行开发的钱包也比较多,所以这个漏洞的影响面挺大的,因此 MM 也慷慨支付了白帽子 5 万刀的赏金。当团队向我同步了这个漏洞后,我开始着手对这个漏洞进行分析和复现。

白帽子将这个漏洞命名为 demonic vulnerability,具体的漏洞描述比较复杂,为了让大家更好的理解这个问题,我尽可能用简单的表述来说明这个问题。在使用 MM 浏览器扩展钱包导入助记词时,如果点击 "Show Secret Recovery Phrase" 按钮,浏览器会将输入的完整助记词明文缓存在本地磁盘,这是利用了浏览器本身的机制,即浏览器会将 Tabs 的页面中的 Text 文本从内存保存到本地,以便在使用浏览器的时候可以及时保存页面的状态,用于下次打开页面的时候恢复到之前的页面状态。

花旗:全球衰退是明显且迫在眉睫的危险:7月20日消息,花旗经济学家表示,他们认为全球经济陷入衰退的可能性为50%,预计世界经济今年增长2.9%,2023年增长2.6%,略低于之前的预测。此外,他们预计美国和欧元区料将在未来12至18个月陷入温和衰退。总的来说,预计全球经济将渡过难关,且各国不会出现同步衰退。好消息是,需求疲软缓解了供应链的压力,支持了全球金属价格的回落,这可以被看作一种通缩因素。(金十)[2022/7/20 2:26:47]

基于对这个漏洞的理解,我开始进行漏洞复现,由于 MM 仅对这个漏洞进行简要的描述并不公开漏洞细节,所以在复现的时候遇到了如下的问题:

缓存被记录到磁盘中的文件路径未知

南天信息:公司重点谋求在边贸中的数字人民币的应用机会:7月20日消息,针对投资者问题“贵公司怎么布局数字货币跟推广网络安全的工作?”南天信息表示,公司已经做好了关于数字货币应用的技术储备和应用场景储备,并重点谋求在边贸中的数字人民币的应用机会,谋求数字货币试点应用推广者和运营者,涉及数字货币跨境结算的应用场景,但最终获得试点单位尚存在不确定性。(同花顺)[2021/7/20 1:05:46]

缓存何时被记录到磁盘未知

为了解决问题 1,我开始对浏览器的缓存目录结构进行分析和测试,发现在使用浏览器 (chrome) 的时候相关的 Tabs 缓存是记录到了如下的目录:

Tabs 缓存路径:

Filecoin创始人:Filecoin矿工并未罢工:Filecoin创始人Juan Benet发推文称:“矿工罢工是胡说八道。没有罢工。矿工正在证明他们的存储良好。网络中没有异常功率损耗。矿工正在遵守该协议,并赚了很多钱。目前正发生的是,矿工的增长速度比上线前要慢。这在很大程度上是因为网络不再补贴矿工成本,而矿工需要使增长率匹配代币流量。在过去两周中,我们建议矿工放慢增长率以适应其代币流量,或者暂停,直到他们有能力稳定增长为止。因此矿工的增长减缓是因为一些人遵循了我们的建议。”[2020/10/20]

/Users/$(whoami)/Library/Application Support/Google/Chrome/Default/Sessions/

然后继续解决问题 2:Sessions 目录会记录 Tabs 的缓存,为了找出缓存被记录的时间节点,我对导入助记词的整个流程进行了分解,然后在每一步操作之后去观察 Sessions 的数据变化。发现在如下这个页面输入助记词数据后,需要等待 10 - 20s,然后关闭浏览器,明文的助记词信息就会被记录到 Sessions 缓存数据中。

用户正常在使用 MM 的时候是将助记词相关的数据放入内存中进行存储,一般认为是相对较为安全的(在早前慢雾的 Hacking Time 中,我发现在用户正常使用 MM 的时候是可以通过 hook 技术将明文的助记词提取出来,仅限于用户电脑被恶意程序控制的情况下可以被利用),但是由于 demonic vulnerability 这个漏洞导致助记词会被缓存到本地磁盘,因此就会有如下的新的利用场景:

明文的助记词数据缓存在本地磁盘,可以被其他应用读取,在 PC 电脑中很难保证其他应用程序不去读取 Sessions 缓存文件。

明文的助记词数据缓存在本地磁盘,如果磁盘未被加密,可以通过物理接触恢复助记词。比如在类似维修电脑等场景下,当他人对电脑进行物理接触时可以从硬盘中读取助记词数据。

作为普通用户,如果你使用过 MetaMask Version < 10.11.3,且在导入助记词的时候点击了 Show Secret Recovery Phrase,那么你的助记词有可能泄露了,可以参考 MetaMask 的文章对磁盘进行加密并更换钱包迁移数字资产。

作为扩展钱包项目方,如果采用了在 Tabs 页面中以 Text 的方式输入助记词导入钱包,均受到 demonic vulnerability 漏洞的影响,可以参考 MetaMask Version >=10.11.3 的实现,为每个助记词定义单独的输入框,并且输入框的类型为 Password。

原文标题:《MetaMask 浏览器扩展钱包 demonic 漏洞分析》

撰文:Thinking@慢雾安全团队

来源:ForesightNews

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

DAI金色趋势丨矿工投降 买入机会来了?

Puell Multiple是追踪矿工何时可能开始大规模抛售比特币以此来获利的过程,Puell Multiple是当前矿工收入和其365天平均之间的比率,该指标用于识别BTC的价格周期,使交易者可以从矿工的角度判断新开采的比特币的价格在历史上是过高还是过低。

ETH金色观察|草蛇灰线之下 三箭资本和BlockFi可能败在同一个地方

市场传闻,继Celsius和三箭之后,下一个陷入流动性危机将是BlockFi。 6月15日Theblock称,三箭资本在Deribit、BlockFi等借贷平台上的总清算额达4亿美元。以太坊价格屡次触及三箭资本在AAVE的债务触及清算线,同一日PeckShield监测与三箭资本相关地址被清算1万多枚ETH。区区不到6亿美元的清算额度就绊倒了三箭资本。

[0:46ms0-4:879ms