ETH:年度最大DeFi黑客事件:Poly Network被攻击流程全解析

8月10日晚,链必安-区块链安全态势感知平台舆情监测显示,跨链协议PolyNetwork遭受攻击,Ethereum、BinanceChain、Polygon3条链上近6亿美元资金被盗。#1事件概览攻击如何发生EventoverviewPolyNetwork被曾被认为是当前市场上可落地性“最优”的跨链互操作性协议,真正做到“异构跨链”。攻击最早发生于8月10日17:55,黑客在以太坊陆续从PolyNetwork智能合约转移了9638万个USDC、1032个WBTC等资产,总价值超过2.6亿美元;18:04起,黑客在Polygon从该项目智能合约转移了8508万USDC;18:08起,黑客在BSC从从该项目智能合约转移了8760万个USDC、26629个ETH等资产。这是整个加密历史上涉案金额最大的黑客事件,超过了鼎鼎大名的Mt.Gox事件,以及2018年的Coincheck大案。关于本次事件发生的具体原因,成都链安技术团队一直在进行实时监控,追踪漏洞原理和技术细节。经过分析,成都链安技术团队发现攻击者利用EthCrossChainManager合约中存在的逻辑缺陷,通过该合约调用EthCrossChainData合约中putCurEpochConPubKeyBytes函数更改Keeper为自有地址,然后使用该地址对提取代币的交易进行签名,从而将LockProxy合约中的大量代币套取出来。#2事件具体分析攻击者如何得手Eventoverview攻击者地址:BSC:0x0D6e286A7cfD25E0c01fEe9756765D8033B32C71ETH:0xC8a65Fadf0e0dDAf421F28FEAb69Bf6E2E589963Polygon:0x5dc3603C9D42Ff184153a8a9094a73d461663214被攻击的合约:BSC:A:0x7ceA671DABFBa880aF6723bDdd6B9f4caA15C87BB:0x2f7ac9436ba4B548f9582af91CA1Ef02cd2F1f03ETH:C:0x838bf9E95CB12Dd76a54C9f9D2E3082EAF928270D:0x250e76987d838a75310c34bf422ea9f1AC4Cc906Polygon:E:0xABD7f7B89c5fD5D0AEf06165f8173b1b83d7D5c9F:0x28FF66a1B95d7CAcf8eDED2e658f768F44841212攻击交易:BSC:0x3eba3f1fb50c4cbe76e7cc4dcc14ac7544762a0e785cf22034f175f67c8d3be90x4e57f59395aca4847c4d001db4a980b92aab7676bc0e2d57ee39e83502527d6c0x50105b6d07b4d738cd11b4b8ae16943bed09c7ce724dc8b171c74155dd496c250xd65025a2dd953f529815bd3c669ada635c6001b3cc50e042f9477c7db077b4c90xea37b320843f75a8a849fdf13cd357cb64761a848d48a516c3cac5bbd6caaad5ETH:0xb1f70464bd95b774c6ce60fc706eb5f9e35cb5f06e6cfe7c17dcda46ffd595810xad7a2c70c958fcd3effbf374d0acf3774a9257577625ae4c838e24b0de17602aPolygon:0x8c8b43012773b8948cfb0c66f69bfa7513817e35052ace91e2ed7eb9e8cacb950x1d260d040f67eb2f3e474418bf85cc50b70101ca2473109fa1bf1e54525a3e010xfbe66beaadf82cc51a8739f387415da1f638d0654a28a1532c6333feb2857790在BSC上,攻击者首先通过传递精心构造的数据调用EthCrossChainManager合约中的verifyHeaderAndExecuteTx函数。由于verifyHeaderAndExecuteTx函数调用了内部函数_executeCrossChainTx,并且在该内部函数中使用用了call调用,攻击者通过精心构造的数据控制了call调用的参数_method,成功的以EthCrossChainManager合约的身份调用了EthCrossChainData合约中putCurEpochConPubKeyBytes函数更改Keeper为自有地址。这一步操作是为了后续能够获得有效Keeper签名后的交易,然后提取合约中的代币。

数据:去年12月,加密损失6220万美元创年度最低:1月3日消息,区块链数据公司Chainalysis表示,从2022年1月到2022年10月,加密行业在125次黑客攻击中损失了超过30亿美元。特别是10月,报报告了44起攻击事件,损失达6.57亿美元,因此10月被称为“ Hacktober ”。不过,加密盗窃在12月有所放缓,只有少数公司受到影响,整个12月直发生了11次攻击。

区块链安全公司CertiK称,12月加密行业遭受了约6220万美元的损失,成为2022年最低月度数字。[2023/1/3 22:22:59]

上述调用攻击者构建的_method实际上并不是putCurEpochConPubKeyBytes,这是因为call调用中只有函数名是用户可控的,参数为固定的数量和类型。攻击者通过构造与putCurEpochConPubKeyBytes具有相同函数签名的f1121318093函数实现了对EthCrossChainData合约中putCurEpochConPubKeyBytes函数的调用。

HyperPay钱包荣获亚洲·CryptoExpo峰会“年度最佳创新钱包”奖项:据官方消息,HyperPay钱包于6月22-23日作为受邀嘉宾参加亚洲CryptoExpo峰会(新加坡),并荣获亚洲·CryptoExpo峰会“年度最佳创新钱包”奖项,为参会人员展示提供理想的Web3.0钱包体验;协同参展的还有HyperCard和HyperMate硬件钱包,HyperCard是HyperBC集团所推出的加密资产预付卡,集跨境支付、消费、资产存储、闪电兑换等功能为一体,为用户提供潮流的加密资产消费方式;HyperMate硬件钱包亦在此次峰会中获得追捧,全部售罄。

据官方介绍,HyperPay钱包成立于2017年,是集托管理财钱包、去中心化自管钱包、HyperMate硬件钱包、共管钱包于一体的多生态数字资产钱包,为用户提供资产存管、理财增值、消费支付等一站式服务。托管钱包公链支持52+,自管钱包公链支持32+,HyperMate硬件钱包支持公链17+。[2022/6/23 1:27:16]

火币生态链Heco荣获“年度最受欢迎公链”称号:2021年1月21日,火币生态链Heco在由PANews举办的PARTY(PANews’ Retrospect of The Year)中荣获“年度最受欢迎公链”称号。火币生态链Heco主网上线仅一个月之久,链上锁定主流资产总额超7.8亿美金,已成为链上锁仓主流资产额最高、活跃用户人数最多、发展速度最快的交易所公链。

火币生态链Heco全称为“Huobi ECO Chain”,是一个去中心化高效节能公链,也是火币开放平台推出的首个产品,旨在帮助开发者灵活高效地搭建去中心化应用。Heco使用混合权益证明(HPOS)共识机制,并支持EVM可编程性和智能合约兼容性,链上原生通证是HT。[2021/1/21 16:41:39]

完成修改Keeper之后,攻击者便可以对任意交易进行签名。攻击者通过多笔有效Keeper签名后的交易将B合约中ETH、BTCB、BUSD以及USDC代币全部取出。

与时共创第二届年度金色盛典“年度最具影响力公链”榜单发布:12月26日,与时共创第二届年度金色盛典在三亚举行。现场发布“年度最具影响力公链”榜单:Conflux、以太经典ETC、IOST、Cocos-BCX、Polkadot、STD、波场TRON、Nervos CKB、ELASTOS、Cypherium。[2020/12/26 16:34:58]

由于ETH和Polygon与BSC上具有相同的代码和Keeper,攻击者在完成BSC上的攻击之后,将之前构造的数据在ETH和Polygon上进行重放,将ETH和Polygon上Keeper也修改为了自有地址。

然后使用同样的攻击手法,取出了D合约中全部的ETH、USDC、WBTC、UNI、DAI、SHIB、WETH、FEI、USDT和renBTC以及F合约中全部的USDC。

火币矿池获评“年度最具口碑矿池奖”:11月24日,在“BEYOND-2020区块链产业大会暨年度颁奖盛典”现场,火币集团旗下火币矿池凭借本年度在矿池领域的优异表现和全面布局,获评“年度最具口碑矿池奖”。 据悉,该奖项由大会专业评审团经过多轮、多维度评审,火币矿池与蚂蚁矿池、BTC.com等共同摘得本奖项。

火币矿池作为全球领先的PoW矿池平台,完成了矿业全产业链的整合,一直致力于为矿工提供全方位完善的挖矿服务,作为综合性矿池,同时也为各类数字资产爱好者提供多种服务和解决方案。[2020/11/25 22:05:11]

攻击者在Polygon归还101万USDC:

#3事件复盘我们需要注意什么CaseReview本次攻击事件主要原因是合约权限管理逻辑存在问题,任意用户都可以调用verifyHeaderAndExecuteTx函数进行交易的执行,并且在其内部进行call调用时,函数名可由用户控制,恶意用户可以通过精心构造数据异常调用部分函数。同时EthCrossChainManager合约具有修改Keeper的权限,正常情况下是通过changeBookKeeper函数进行修改,但在此次攻击中攻击者是通过精心构造的数据通过verifyHeaderAndExecuteTx函数中的call调用成功修改Keeper地址,而Keeper地址又可以对交易进行签名,Defi诞生以来最大损失的攻击事件因此产生。可能是多方压力,攻击PolyNetwork的黑客开始归还资产,在Polygon上于区块17862254已归还10,100USDC,在Polygon上于区块17862497归还100万USDC。成都链安在此提醒,开发者在使用call调用时,尤其需要注意参数为用户可控的情况,一些特殊的合约以及函数需要对权限进行严格控制,避免被异常调用造成不可挽回的损失。

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

地球链

[0:15ms0-1:344ms