“黑客拿着房主证明找物业拿钥匙,证明是假的,却从物业那里拿到了真的钥匙”
事件回顾
2021年8月10日,PolyNetwork遭受了跨链攻击,被转移了6亿美金的加密资产。攻击者在多条公链上进行了攻击交易,并通过跨链管理合约和中继器组件完成了攻击。
用上面物业的例子来解释的话,黑客用假房主证明,从物业那里拿到了真的钥匙(AllianceChain上经过签名的Merkle证明)。
攻击解析
一、黑客在源链上初始化了一个本应是无效的攻击交易。
二、攻击交易在没有被充分检查的情况下被写入源链,之后被中继器纳入了AllianceChain的Merkletree并签字,然后发布到AllianceChain区块中。
推特启动创作者广告收入共享计划,着力扩大创作者变现服务:7月14日消息,推特启动了创作者广告收入共享计划,正着力扩大创作者变现服务,包括为创作者提供广告收入分成。根据公告,创作者可以从帖子的回复中获得广告收入分成。推特将在本月晚些时候更广泛地推出该计划,所有符合条件的创作者都可以申请。[2023/7/14 10:54:35]
三、黑客在目标链上用步骤二的有效Merkle证明,调用PolyNetwork的ECCM合约,将keepers改成黑客控制的公钥。
四、获得keepers权限后,黑客就可以在多条公链上任意解锁资产了。
这里值得注意的是,PolyNetwork在有些链上的中继器没有通过攻击交易,所以即使智能合约相似,某些目标链上资产并未受影响。
细节分析
近6000万枚USDT从Bitfinex转移至Kraken:金色财经报道,据Whale Alert数据监测,近6000万枚USDT(约合60,337,497美元)从Bitfinex转移至Kraken。[2023/3/11 12:57:19]
一、黑客于北京时间2021年8月10日17:32:32在源链发起了一笔攻击交易。
https://explorer.ont.io/tx/F771BA610625D5A37B67D30BF2F8829703540C86AD76542802567CAAFFFF280C#
我们对交易进行了解码,得到了以下参数映射。
二、此攻击交易调用了一个method"66313231333138303933",其对应的签名等于0x41973cd9。这笔交易应该是无效交易,可是却被写入源链并被中继器纳入了AllianceChain的Merkletree并签字,然后发布到AllianceChain区块中。Merkletree是用来证明交易是否真实存在的。其产生的跨链交易如下:
Ripple:SEC未能证明XRP销售是投资合同,要求法院批准简易判决动议:金色财经报道,Ripple Labs表示,在监管机构对其提起的诉讼中,美国证券交易委员会(SEC)无法证明该公司的XRP销售是投资合同。此前,美国证券交易委员会于2020年底起诉Ripple,指控其将XRP作为未注册证券出售。
在支持简易判决动议的答复中,Ripple律师表示,“SEC未能证明XRP的任何要约或销售都是联邦证券法规定的投资合同。即使是涉及金钱交换的交易,SEC也未能证明购买者像Howey要求的那样,将资金投资于一家普通企业,而不是简单地购买资产”。
据悉,Howey测试是指美国最高法院判定一项交易是否算作“投资合同”的案例,因此需要遵守1933年《证券法》和1934年《证券交易法》的披露和注册要求。Howey测试的关键要素之一是交易是否意味着预期从他人的工作中获利,Ripple表示SEC未能证明XRP购买中存在这种预期。[2022/12/5 21:22:40]
https://explorer.poly.network/tx/1a72a0cf65e4c08bb8aab2c20da0085d7aee3dc69369651e2e08eb798497cc80
Anne Termine 加入 Yuga Labs 担任政策主管:金色财经报道,Yuga Labs 今天宣布 Anne Termine 已加入该公司,担任华盛顿特区的政策主管 Termine 将在政府政策和宣传方面拥有数十年的经验,并具有重大意义区块链和加密货币行业的背景。作为政策负责人,Termine 将与政府和行业利益相关者合作,分享公司对未来的愿景,并倡导新兴的 web3 生态系统。随着围绕 web3 的对话不断发展,她的法律和商业专业知识将为 Yuga Labs 的政策重点提供依据。[2022/11/6 12:22:38]
三、跨链交易在目标链上调用了PolyNetwork合约的EthCrossChainManager.verifyHeaderAndExecuteTx(),第一个参数包含了Merkle证明,解析如下:
四、这个函数解析了Merkle证明,发现证明是有效的,此攻击交易确实存在于已被签名的Merkletree中。之后调用了EthCrossChainManager._executeCrossChainTx()函数去执行此交易,即调用toContract指向合约(0xcf2afe102057ba5c16f899271045a0a37fcb10f2)中的method(0x6631313231333138303933),传入参数args(010000000000000014a87fb85a93ca072cd4e5f0d4f178bc831df8a00b)。而这个method指向putCurEpochConPubKeyBytes(bytes),因为其函数签名与步骤二中提到的method签名相同(均为0x41973cd9,此处为哈希碰撞),所以被顺利执行,将keepers的公钥改成了黑客的公钥。以太坊上的交易如下:?
https://etherscan.io/tx/0xb1f70464bd95b774c6ce60fc706eb5f9e35cb5f06e6cfe7c17dcda46ffd59581
五、黑客改变公钥后,即可以随意解锁资产。
事件总结
此次攻击是由一连串交易构成的,其攻击根源分析如下:
一、攻击交易在没有充分检查的情况下被写入源链。
二、中继器会接收任意含有"makeFromOntProof"事件的交易。
三、中继器将步骤一中的交易发布到了AllianceChain上。
四、在步骤二中,此攻击交易被纳入到AllianceChain的Merkletree上,产生了有效的Merkle证明。
五、原链上的ECCM合约通过步骤二产生的Merkle证明,验证了该交易在源链上“确实存在”,原始数据并未被破坏、未被修改。不过需要强调的是,在构建将被发送到目标链的Merkle证明之前,应该对交易进行全面验证。正如设计文档中所示。
“Themanagementcontractfetchestheblockheadersfrom?chainA,?verifies?whetherornotthecrosschainparametersandtheproofarevalid,and?then?transmitsthenecessaryinformationto?chainB?intheformofanevent;”
"管理合约从A链获取区块头,验证跨链参数和证明是否有效,然后将必要的信息以事件的形式传送给B链;"
因此,目标链应使用Merkle证明来验证所收到的信息是未被破坏和未被改变的,而交易信息应在发送至目标链之前进行全面验证。
附:Merkletree定义如下:哈希树可以用来验证计算机中和计算机之间存储、处理和传输的任何种类的数据。它们可以帮助确保从点对点网络中的其他对等体收到的数据块是未被破坏和未被改变的,甚至可以检查其他节点是否撒谎和发送假块。
标签:ERKMERChainHAIMeta MeerkatMERLtichain币最新消息blockchain.infowallet恢复
要想在一生中获得投资成功,并不需要顶级的智商,超凡的商业头脑或内幕消息,而是需要一个稳妥的知识体系作为决策基础,并且有能力控制自己的情绪,使其不会对这种体系造成侵蚀.
1900/1/1 0:00:00点击上方绿色?专栏?关注不迷路比特币BTC日内行情分析:昨日币价受消息面影响一路暴涨至58370.46,凌晨一直处于一个震荡行情,最低下跌至57000附近;四小时线看,布林带向上运行.
1900/1/1 0:00:00上午好,各位币友。比特币在昨天破近期新高达到58300后,再次出现横盘现状,目前比特币现价位于57200附近震荡,接下来比特币会如何走,我给大家分析一下.
1900/1/1 0:00:00行情不在于大小,抓住即可,利润不在于多少,积累便是.人生总是在做选择,也总是在等待结果,道路不可能一帆风顺,总会有坎坎坷坷,平庸不是每个人都追求的目标。投资市场,也是如此,不可能顺风顺水.
1900/1/1 0:00:00导览DOGE-1将是第一个由加密货币资助的航天器发射DOGE-1卫星也可能是第一个到达月球轨道的立方体卫星关于Unizen、ZenXLabs及其与GEC的独特合作几何能源公司(GEC)将帮助Un.
1900/1/1 0:00:00近日,上海迈童文化科技股份有限公司被上海股权托管交易中心授予“2020年度表现突出单位”,公司董事长黄芳被授予“2020年度优秀投资者”奖.
1900/1/1 0:00:00