木星链 木星链
Ctrl+D收藏木星链

LIS:铸币疑云——Paid Network 被盗细节分析

作者:

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

铸币疑云——PaidNetwork被盗细节分析

慢雾科技

刚刚

11

据消息,以太坊DApp项目PaidNetwork遭受攻击。攻击者通过合约漏洞铸造近1.6亿美元的PAID代币,并获利2000ETH(约300万美元)。慢雾安全团队在第一时间跟进并分析,现在将细节分析给大家参考。

Haven Protocol计划启动回滚并修复铸币漏洞:金色财经报道,基于Monero的隐私稳定币协议Haven Protocol就最近遭受的三次攻击发布缓解措施和后续计划。Haven Protocol称,6月22日,203000枚xUSD和13.5枚xBTC在两次攻击中被铸造。6月27日,xAsset转换验证中的漏洞导致铸造了未知数量的XHV。6月29日,攻击者利用一个漏洞制造了900万枚xUSD。Haven Protocol称将启动区块链回滚,并将实施硬分叉以修补协议的铸币漏洞。[2021/7/3 0:24:41]

攻击细节分析

Cover Protocol新提案:将COVER分配者的铸币权移交至团队multisig:1月18日,DeFi保险协议Cover Protocol在推特上表示,社区成员发起新提案,提议移除COVER分配者的铸币权,并转交给团队multisig。投票现已开启。

注:这意味着该提案一旦通过,就没有更多的用户可以申领他们的COVER。[2021/1/18 16:26:19]

以上是整个攻击过程的调用流程细节。

可以看到整个攻击过程非常的简单,攻击者通过调用代理合约中函数签名为(0x40c10f19)的这个函数,然后就结束了整个攻击流程。由于这个函数签名未知,我们需要查阅这个函数签名对应的函数是什么。

Akropolis重入攻击事件:攻击者使用自己构造token导致合约使用相同差值铸币两次:11月14日,慢雾发布DeFi协议Akropolis重入攻击事件简析。内容显示:

1. 攻击者使用自己创建的token进行deposit,此时Akropolis合约会先记录一次合约中所有代币的总量;

2. Akropolis合约调用用户自己创建的token的transferFrom函数的时候,攻击者在transferFrom函数中重入Akropolis合约的deposit函数,并转入DAI到Akropolis合约中;

3. 此时在重入的交易中,由于Akropolis合约会先获取合约中所有代币的总量,这个值和第一次调用deposit函数获取的合约代币总量的值一致;

4. Akropolis合约计算充值前后合约中代币总量的差值,攻击者在充值DAI后,会得到一定量的Delphi token,获得token的数量就是充值DAI的数量;

5. 铸币完成后,流程回到第一次deposit往下继续执行,这时合约会再次获取合约中所有代币的总量,这时由于在重入交易时,攻击者已经转入一定量的DAI,所以得到的代币总余额就是攻击者在重入交易完成后的代币总余额;

6. 此时合约再次计算差值,由于第一次deposit的时候合约中所有代币的总量已经保存,此时计算出来的差值和重入交易中计算的差值一致,Akropolis合约再次铸币给攻击者。总结:攻击者使用自己构造的token,对Akropolis合约的deposit函数进行重入,导致Akropolis合约使用相同的差值铸币了两次,但是只触发了一次转账,当攻击者提现的时候,就可以提两倍的收益,从而获利。[2020/11/14 20:48:37]

通过查阅这个函数签名,我们发现这个签名对应的正是mint函数。也就是说,攻击者直接调用了mint函数后就结束了攻击过程。那么到这里,我们似乎可以得出一个mint函数未鉴权导致任意铸币的漏洞了。通过Etherscan的代币转移过程分析,似乎也能佐证这个猜想。

基于BCH网络的USDT上线 已铸币600万枚:根据CoinDesk的分析,BCH在开发进展与社交媒体上的讨论,还是要超过中文世界似乎更为风光的BSV。近期对BCH最大的利好自然是基于BCH链的USDT即将发行。7月9日Tether从比特币omni网络转移了600万枚USDT至BCH的SLP网络。再之前,Tether基于BCH链发行了3027个USDT,但销毁了其中的2017个。据BCH爱好者Brucelee表示,coinex交易所称当USDT_SLP上线后会第一时间进行支持。(吴说区块链)[2020/7/10]

但是,事实真是如此吗?

为了验证未鉴权任意铸币的这个想法,我们需要分析合约的具体逻辑。由于PaidNetwork使用的是合约可升级模型,所以我们要分析具体的逻辑合约(0xb8...9c7)。但是在Etherscan上查询的时候,我们竟然发现该逻辑合约没有开源。

这个时候,为了一探究竟,我们只能使用反编译对合约的逻辑进行解码了。通过Etherscan自带的反编译工具,可以直接对未开源合约进行反编译。在反编译后,我们却发现了一个惊人的事实:

通过反编译,我们不难发现,合约的mint函数是存在鉴权的,而这个地址,正是攻击者地址(0x187...65be)。那么为什么一个存在鉴权的函数会被盗呢?由于合约未开源,无法查看更具体的逻辑,只能基于现有的情况分析。我们分析可能是地址(0x187...65be)私钥被盗,或者是其他原因,导致攻击者直接调用mint函数进行任意铸币。

总结

本次攻击过程虽然简单,但是经过细节分析后却有了惊人的发现。同时这次的攻击也再次对权限过大问题敲响了警钟。如果这次的mint函数给到的鉴权是一个多签名地址或是使用其他方法分散权限,那么此次攻击就不会发生。

参考链接:

攻击交易:

https://etherscan.io/tx/0x4bb10927ea7afc2336033574b74ebd6f73ef35ac0db1bb96229627c9d77555a0.htm

区块链

盗币

本文来源:

慢雾科技

文章作者:慢雾安全团队

我要纠错

声明:本文由入驻金色财经的作者撰写,观点仅代表作者本人,绝不代表金色财经赞同其观点或证实其描述。

提示:投资有风险,入市须谨慎。本资讯不作为投资理财建议。

金色财经>区块链>铸币疑云——PaidNetwork被盗细节分析

标签:LISPOLISAKROAkropolisDELISHpolis币发行价akro币价格Akropolis Delphi

SHIB最新价格热门资讯
PPL:Ripple首席执行官:亚洲扩张未受SEC诉讼的影响

尽管Ripple正与美国证券交易委员会(SEC)陷入了13亿美元诉讼案,但Ripple的业务似乎依然如常.

1900/1/1 0:00:00
GATE:DeFi新玩法 | 三分钟了解Compound跨链利率市场Gateway

注:原文作者是Compound创始人RobertLeshner。三个月前,我们的团队发布了Compound链的白皮书,这是一种能够在不同账本之间传输价值和流动性的分布式账本.

1900/1/1 0:00:00
OIN:加拿大投资管理公司Ninepoint Partners计划将其比特币信托转换成比特币ETF

在启动其比特币信托基金份额交易不到两个月后,加拿大投资管理公司NinepointPartners正计划将其信托服务改变为交易所交易基金.

1900/1/1 0:00:00
GEN:General Protocols完成300万美元A轮融资,Roger Ver参投

据Read.cash消息,去中心化金融初创公司GeneralProtocols宣布完成300万美元A轮融资,投资者包括MarcDeMesel、Bitcoin.com创始人RogerVer.

1900/1/1 0:00:00
比特币:数据:42家公司持有130万比特币,价值逾650亿美元

自从Microstrategy公司将其大量储备金转移到比特币以来,许多公司都纷纷效仿。根据门户网站bitcointreasuries.org的数据,目前有42家公司持有价值超过650亿美元的比特.

1900/1/1 0:00:00
比特币:大型机构「逆市做多」悄然站至中小投资者对立面

3月6日,CFTC公布了最新一期CME比特币期货周报,最新统计周期内BTC价格近乎停滞,周内行情虽然有所反复,但是最终整个统计周期内价格实际波动幅度不足100美元.

1900/1/1 0:00:00