MIN:慢雾:pGALA 事件根本原因系私钥明文在 GitHub 泄露

作者: Kong

据慢雾区情报,11 月 4 日,一个 BNB Chain 上地址凭空铸造了超 10 亿美元的 pGALA 代币,并通过 PancakeSwap 售出获利,导致此前 GALA 短时下跌超 20%。慢雾将简要分析结果分享如下:

相关信息

pGALA 合约地址

0x7dDEE176F665cD201F93eEDE625770E2fD911990

proxyAdmin 合约地址

0xF8C69b3A5DB2E5384a0332325F5931cD5Aa4aAdA

慢雾:Transit Swap事件中转移到Tornado Cash的资金超过600万美元:金色财经报道,慢雾 MistTrack 对 Transit Swap 事件资金转移进行跟进分析,以下将分析结论同步社区:

Hacker#1 攻击黑客(盗取最大资金黑客),获利金额:约 2410 万美元

1: 0x75F2...FFD46

2: 0xfa71...90fb

已归还超 1890 万美元的被盗资金;12,500 BNB 存款到 Tornado Cash;约 1400 万 MOONEY 代币和 67,709 DAI 代币转入 ShibaSwap: BONE Token 合约地址。

Hacker#2 套利机器人-1,获利金额:1,166,882.07 BUSD

0xcfb0...7ac7(BSC)

保留在获利地址中,未进一步转移。

Hacker#3 攻击模仿者-1,获利金额:356,690.71 USDT

0x87be...3c4c(BSC)

Hacker#4 套利机器人-2,获利金额:246,757.31 USDT

0x0000...4922(BSC)

已全部追回。

Hacker#5 套利机器人-3,获利金额:584,801.17 USDC

0xcc3d...ae7d(BSC)

USDC 全部转移至新地址 0x8960...8525,后无进一步转移。

Hacker#6 攻击模仿者-2,获利金额:2,348,967.9 USDT

0x6e60...c5ea(BSC)

Hacker#7 套利机器人-4,获利金额:5,974.52 UNI、1,667.36 MANA

0x6C6B...364e(ETH)

通过 Uniswap 兑换为 30.17 ETH,其中 0.71 支付给 Flashbots,剩余 ETH 未进一步转移。[2022/10/6 18:41:10]

proxyAdmin 合约原 owner 地址

慢雾:iCloud 用戶的MetaMask钱包遭遇钓鱼攻击是由于自身的安全意识不足:据官方消息,慢雾发布iCloud 用戶的MetaMask钱包遭遇钓鱼攻击简析,首先用户遭遇了钓鱼攻击,是由于自身的安全意识不足,泄露了iCloud账号密码,用户应当承担大部分的责任。但是从钱包产品设计的角度上分析,MetaMask iOS App 端本身就存在有安全缺陷。

MetaMask安卓端在AndroidManifest.xml中有android:allowBackup=\"false\" 来禁止应用程序被用户和系统进行备份,从而避免备份的数据在其他设备上被恢复。

MetaMask iOS端代码中没有发现存在这类禁止钱包数据(如 KeyStore 文件)被系统备份的机制。默认情况下iCloud会自动备份应用数据,当iCloud账号密码等权限信息被恶意攻击者获取,攻击者可以从目标 iCloud 里恢复 MetaMask iOS App 钱包的相关数据。

慢雾安全团队经过实测通过 iCloud 恢复数据后再打开 MetaMask 钱包,还需要输入验证钱包的密码,如果密码的复杂度较低就会存在被破解的可能。[2022/4/18 14:31:38]

0xfEDFe2616EB3661CB8FEd2782F5F0cC91D59DCaC

慢雾: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]

proxyadmin 合约当前 owner 地址

声音 | 慢雾:采用链上随机数方案的 DApp 需紧急暂停:根据近期针对EOS DApp遭遇“交易排挤攻击”的持续性威胁情报监测:EOS.WIN、FarmEOS、影骰、LuckBet、GameBet、Fishing、EOSDice、STACK DICE、ggeos等知名DAPP陆续被攻破,该攻击团伙(floatingsnow等)的攻击行为还在持续。在EOS主网从根本上解决这类缺陷之前,慢雾建议所有采用链上随机数方案的DAPP紧急暂停并做好风控机制升级。为了安全起见,强烈建议所有竞技类DAPP采用EOS官方很早就推荐的链下随机种子的随机数生成方案[2019/1/16]

0xB8fe33c4B55E57F302D79A8913CE8776A47bb24C

简要分析

1. 在 pGALA 合约使用了透明代理(Transparent Proxy)模型,其存在三个特权角色,分别是 Admin、DEFAULT_ADMIN_ROLE 与 MINTER_ROLE。

2. Admin 角色用于管理代理合约的升级以及更改代理合约 Admin 地址,DEFAULT_ADMIN_ROLE 角色用于管理逻辑中各特权角色(如:MINTER_ROLE),MINTER_ROLE 角色管理 pGALA 代币铸造权限。

3. 在此事件中,pGALA 代理合约的 Admin 角色在合约部署时被指定为透明代理的 proxyAdmin 合约地址,DEFAULT_ADMIN_ROLE 与 MINTER_ROLE 角色在初始化时指定由 pNetwork 控制。proxyAdmin 合约还存在 owner 角色,owner 角色为 EOA 地址,且 owner 可以通过 proxyAdmin 升级 pGALA 合约。

4. 但慢雾安全团队发现 proxyAdmin 合约的 owner 地址的私钥明文在 Github 泄漏了,因此任何获得此私钥的用户都可以控制 proxyAdmin 合约随时升级 pGALA 合约。

5. 不幸的是,proxyAdmin 合约的 owner 地址已经在 70 天前(2022-08-28)被替换了,且由其管理的另一个项目 pLOTTO 疑似已被攻击。

6. 由于透明代理的架构设计,pGALA 代理合约的 Admin 角色更换也只能由 proxyAdmin 合约发起。因此在 proxyAdmin 合约的 owner 权限丢失后 pGALA 合约已处于随时可被攻击的风险中。

总结

综上所述,pGALA 事件的根本原因在于 pGALA 代理合约的 Admin 角色的 owner 私钥在 Github 泄漏,且其 owner 地址已在 70 天前被恶意替换,导致 pGALA 合约处于随时可被攻击的风险中。

参考:https://twitter.com/enoch_eth/status/1589508604113354752

慢雾科技

个人专栏

阅读更多

金色财经

文章汇

达瓴智库

CT中文

PANews

DeFi之道

老雅痞

区块律动BlockBeats

web3中文

01元宇宙

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

地球链

[0:15ms0-0:888ms