区块见闻 区块见闻
Ctrl+D收藏区块见闻
首页 > ADA > 正文

首发 | Poly Network攻击事件分析

作者:

时间:

本文由Certik原创,授权“金色财经”首发,转载请注明出处。

“黑客拿着房主证明找物业拿钥匙,证明是假的,却从物业那里拿到了真的钥匙”

事件回顾

2021年8月10日,PolyNetwork遭受了跨链攻击,被转移了6亿美金的加密资产(之后攻击者开始陆续归还被盗资产)。攻击者在多条公链上进行了恶意交易,并通过中继器(Poly-Relayer)组件完成了攻击。

用上面物业的例子来解释的话,黑客用假房主证明(第三方公链上的invalid transaction),从物业(中继器 Poly-Relayer)那里拿到了真的钥匙 (Poly-chain上经过签名的Merkle证明)。

一、黑客在第三方公链上初始化了一个本应是无效的恶意交易。

二、中继器Poly-Relayer在没有充分检查的情况下将此交易纳入了Poly Chain的Merkle tree并签字,然后发布到Poly Chain区块中。

三、黑客在以太坊上用步骤二的有效Merkle证明,调用Poly Network的ECCM合约,将keepers改成黑客控制的公钥。

这里值得注意的是,Poly Network在有些链上的中继器没有通过此交易,所以其链上资产未受影响。

韩国将成立“数字资产委员会”以加强加密交易监管:6月1日消息,韩国官方最早将于下个月成立一个数字资产委员会来监督加密货币交易平台。该委员会将针对加密货币在韩国交易平台的上币标准和投资者保护等问题提出政策建议。(NEWSPIM)[2022/6/1 3:56:47]

一、黑客于北京时间2021年8月10日17:32:32对第三方公链发起了一笔恶意交易。

https://explorer.ont.io/tx/F771BA610625D5A37B67D30BF2F8829703540C86AD76542802567CAAFFFF280C#

我们对交易进行了解码,得到了以下参数映射。

二、此恶意交易调用了一个method "66313231333138303933",其对应的签名等于0x41973cd9(与之后调到的putCurEpochConPubKeyBytes函数签名相同)。

三、这笔交易应该是无效调用, 可是中继器Poly-Relayer却在未充分检查的情况下将此交易纳入了Poly Chain的Merkle tree并签字,然后发布到Poly Chain区块中。Merkle tree是用来证明交易是否真实存在的。其产生的跨链交易如下:https://explorer.poly.network/tx/1a72a0cf65e4c08bb8aab2c20da0085d7aee3dc69369651e2e08eb798497cc80

此恶意交易利用了中继器Poly-Relayer的漏洞,这可能就是为什么黑客不得不冒险通过中心化交易所购买第三方公链代币的原因。

黑客部分声明的截图如下:

四、跨链交易在以太坊上调用了Poly Network合约的EthCrossChainManager.verifyHeaderAndExecuteTx(),第一个参数包含了Merkle证明,解析如下:

五、这个函数解析了Merkle证明,发现证明是有效的,此恶意交易确实存在于已被签名的Merkle tree中。

之后调用了EthCrossChainManager._executeCrossChainTx()函数去执行此交易,即调用toContract指向合约 (0xcf2afe102057ba5c16f899271045a0a37fcb10f2)中的method (0x6631313231333138303933),传入参数args (010000000000000014a87fb85a93ca072cd4e5f0d4f178bc831df8a00b)。而这个method指向putCurEpochConPubKeyBytes(bytes),因为其函数签名与步骤二中提到的method签名相同 (均为0x41973cd9,此处为哈希碰撞),所以被顺利执行,将keepers的公钥改成了黑客的公钥。以太坊上的交易如下:https://etherscan.io/tx/0xb1f70464bd95b774c6ce60fc706eb5f9e35cb5f06e6cfe7c17dcda46ffd59581

六、黑客改变公钥后,即可随意解锁资产。

此次攻击是由一连串交易构成的,其攻击根源分析如下:

1. 中继器Poly-Relayer会接收任意含有"makeFromOntProof" 事件的交易。

2. 中继器Poly-Relayer在未充分检查的情况下,将恶意交易发布到Poly Chain上。 

3. 在步骤二中,此恶意交易被纳入到Poly Chain的Merkle tree上,产生了有效的Merkle证明。 

4. 以太坊上的ECCM合约只对步骤二产生的Merkle证明和原始数据进行了轻量级验证。不过值得注意的是,Merkle证明的全面验证应该在协议层面完成,而不是在智能合约层面。

标签:OLYPOLERKMERolympus币总量WEXPOLY币ERK价格OKBOOMER

ADA热门资讯
2021年第二季度货币政策执行报告:货币政策预期管理取得明显成效

构建货币政策预期管理机制是健全现代货币政策框架的重要一环。增强货币政策操作规则性和透明度,建立制度化的货币政策沟通机制,有利于有效管理和引导公众预期,促进市场主体和政策目标的一致性,进而稳定宏观经济。《“十四五”规划和二〇三五年远景目标纲要》提出,要完善宏观政策制定和执行机制,重视预期管理和引导。

不讲技术的比特币概述(下)

科普 | 不讲技术的比特币概述(上) 所谓的钱包,就是一个保管你的私钥的软件。钱包并不是比特币区块链的一部分,它只是跟区块链互动的软件。 实际上,钱包里面并没有比特币。它只是问比特币网络:“我的这个地址里有多少比特币?” 再次提醒,一个私钥可以创造出无数个地址,并控制这些地址名下的比特币。

金色图览 | 伦敦升级七天 以太坊燃烧近亿美元

伦敦升级七天,以太坊燃烧近一亿美元,哪些项目是燃烧大户?。

DeFi周刊 | DeFi市值持续回升 达到1063.4亿美元

1.DeFi总市值达到1063.4亿美元 市值前十币种价格及本周涨跌幅,数据来源:CoinGecko 2.去中心化交易所24小时交易量:31.9亿美元 交易量排名前十的DEX 数据来源:Debank 3.DeFi借贷平台借款总量:280.9亿美元 各DeFi借贷平台借款占比 数据来源:Debank 4.?DeFi中锁定资产总价值达797.5亿美元 De。

晚间必读5篇 | 一文探秘以太坊中的企业区块链

1.金色观察 | 一文探秘以太坊中的企业区块链 加密世界里,以太坊是绝对的王者世界,使用过的用户都在用以太坊的主网,但你是否知道,在以太坊主网上还可以建立私链,就像私服(服务器)一样。而对于企业来说,还可以建立企业区块链,同样是利用以太坊的资源和特性。本文中,我们将企业以太坊内容整理汇总。

Rob Habermeier:波卡能为 DeFi 世界带来哪些开拓性创新?

最近,波卡联合创始人 Rob Habermeier 做客著名媒体 The Block 的播客节目「The Scoop」,和主持人 Frank Chaparro 聊了聊对波卡和波卡生态的最新观点。 PolkaWorld 将播客的主要内容整理成了文字版,由于篇幅较长分为两篇发布。