火星链 火星链
Ctrl+D收藏火星链
首页 > 波场 > 正文

VER:慢雾:简析MetaMask钱包demonic漏洞

作者:

时间:1900/1/1 0:00:00

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

白帽子将这个漏洞命名为demonicvulnerability,具体的漏洞描述比较复杂,为了让大家更好的理解这个问题,我尽可能用简单的表述来说明这个问题。在使用MM浏览器扩展钱包导入助记词时,如果点击"ShowSecretRecoveryPhrase"按钮,浏览器会将输入的完整助记词明文缓存在本地磁盘,这是利用了浏览器本身的机制,即浏览器会将Tabs的页面中的Text文本从内存保存到本地,以便在使用浏览器的时候可以及时保存页面的状态,用于下次打开页面的时候恢复到之前的页面状态。基于对这个漏洞的理解,我开始进行漏洞复现,由于MM仅对这个漏洞进行简要的描述并不公开漏洞细节,所以在复现的时候遇到了如下的问题:缓存被记录到磁盘中的文件路径未知缓存何时被记录到磁盘未知为了解决问题1,我开始对浏览器的缓存目录结构进行分析和测试,发现在使用浏览器(chrome)的时候相关的Tabs缓存是记录到了如下的目录:Tabs缓存路径:/Users/$(whoami)/Library/ApplicationSupport/Google/Chrome/Default/Sessions/

慢雾:近期出现新的流行恶意盗币软件Mystic Stealer,可针对40款浏览器、70款浏览器扩展进行攻击:6月20日消息,慢雾首席信息安全官@IM_23pds在社交媒体上发文表示,近期已出现新的加密货币盗窃软件Mystic Stealer,该软件可针对40款浏览器、70款浏览器扩展、加密货币钱包进行攻击,如MetaMask、Coinbase Wallet、Binance、Rabby Wallet、OKX Wallet、OneKey等知名钱包,是目前最流行的恶意软件,请用户注意风险。[2023/6/20 21:49:05]

慢雾:BTFinance被黑,策略池需防范相关风险:据慢雾区情报,智能DeFi收益聚合器BT.Finance遭受闪电贷攻击。受影响的策略包括ETH、USDC和USDT。经慢雾安全团队分析,本次攻击手法与yearnfinance的DAI策略池被黑的手法基本一致。具体分析可参考慢雾关于yearnfinace被黑的技术分析。慢雾安全团队提醒,近期对接CurveFinance做相关策略的机池频繁遭受攻击。相关已对接CurveFinance收益聚合器产品应注意排查使用的策略是否存在类似问题,必要时可以联系慢雾安全团队协助处理。[2021/2/9 19:19:41]

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

慢雾:Cover协议被黑问题出在rewardWriteoff具体计算参数变化导致差值:2020年12月29日,慢雾安全团队对整个Cover协议被攻击流程进行了简要分析。

1.在Cover协议的Blacksmith合约中,用户可以通过deposit函数抵押BPT代币;

2.攻击者在第一次进行deposit-withdraw后将通过updatePool函数来更新池子,并使用accRewardsPerToken来记录累计奖励;

3.之后将通过_claimCoverRewards函数来分配奖励并使用rewardWriteoff参数进行记录;

4.在攻击者第一次withdraw后还留有一小部分的BPT进行抵押;

5.此时攻击者将第二次进行deposit,并通过claimRewards提取奖励;

6.问题出在rewardWriteoff的具体计算,在攻击者第二次进行deposit-claimRewards时取的Pool值定义为memory,此时memory中获取的Pool是攻击者第一次withdraw进行updatePool时更新的值;

7.由于memory中获取的Pool值是旧的,其对应记录的accRewardsPerToken也是旧的会赋值到miner;

8.之后再进行新的一次updatePool时,由于攻击者在第一次进行withdraw后池子中的lpTotal已经变小,所以最后获得的accRewardsPerToken将变大;

9.此时攻击者被赋值的accRewardsPerToken是旧的是一个较小值,在进行rewardWriteoff计算时获得的值也将偏小,但攻击者在进行claimRewards时用的却是池子更新后的accRewardsPerToken值;

10.因此在进行具体奖励计算时由于这个新旧参数之前差值,会导致计算出一个偏大的数值;

11.所以最后在根据计算结果给攻击者铸造奖励时就会额外铸造出更多的COVER代币,导致COVER代币增发。具体accRewardsPerToken参数差值变化如图所示。[2020/12/29 15:58:07]

分析结论

用户正常在使用MM的时候是将助记词相关的数据放入内存中进行存储,一般认为是相对较为安全的,但是由于demonicvulnerability这个漏洞导致助记词会被缓存到本地磁盘,因此就会有如下的新的利用场景:明文的助记词数据缓存在本地磁盘,可以被其他应用读取,在PC电脑中很难保证其他应用程序不去读取Sessions缓存文件。明文的助记词数据缓存在本地磁盘,如果磁盘未被加密,可以通过物理接触恢复助记词。比如在类似维修电脑等场景下,当他人对电脑进行物理接触时可以从硬盘中读取助记词数据。作为普通用户,如果你使用过MetaMaskVersion<10.11.3,且在导入助记词的时候点击了ShowSecretRecoveryPhrase,那么你的助记词有可能泄露了,可以参考MetaMask的文章对磁盘进行加密并更换钱包迁移数字资产。作为扩展钱包项目方,如果采用了在Tabs页面中以Text的方式输入助记词导入钱包,均受到demonicvulnerability漏洞的影响,可以参考MetaMaskVersion>=10.11.3的实现,为每个助记词定义单独的输入框,并且输入框的类型为Password。参考链接

标签:REWARDWARREWARDSVERLord of Dragons Reward TokenWar Bond TokenRewardsCoinEVERBNB

波场热门资讯
区块链:星球日报 | World Innovation Lab完成超10亿美元融资;ZigZag Exchange已提交代币源代码(6月15日)

头条WorldInnovationLab完成超10亿美元融资,新基金将投资Web3等领域WorldInnovationLab宣布完成超10亿美元融资,具体融资细节暂未透露.

1900/1/1 0:00:00
加密货币:详谈NFT抵押借贷协议:释放资本效率的途径

作者:NicoleCheng(OFR投资经理)顾问:JX过去的一年里,我们见证了NFT领域的爆发性增长.

1900/1/1 0:00:00
DAO:?Bankless:警惕熊市中「NGMI」项目的3大危险信号

聪明的投资者知道什么时候该坚持,什么时候该向前,而什么时候又该悄摸地从后门离开。要想从这个市场中获得最大收益,你必须生存下来,才能发展壮大。而生存并不总是关于谁拥有最华丽的技术或最高的TVL.

1900/1/1 0:00:00
加密货币:跟随Crypto各领域聪明钱寻找Alpha全攻略

本文来自Nansen,由Odaily星球日报译者Katie辜编译。 加密市场投资者总有各种方法找到财富密码.

1900/1/1 0:00:00
ETF:比特币抛售潮导致73亿美元损失,谁在卖出比特币?

区块链数据分析服务商Glassnode的数据显示,在上周短短的三天内,比特币投资者出现了有史以来最大的实际损失——抛售BTC导致投资者损失了73亿美元.

1900/1/1 0:00:00
ECOIN:算力与NFT交易平台「F3.xyz」,发售权益NFT——Hash Eagle

F3.xyz,作为算力&NFT交易平台,运营接近20个Filecoin节点,算力在全球排名第四.

1900/1/1 0:00:00