2024年4月19日,Hedgey Finance遭受多笔攻击交易,损失超过200万美元。
SharkTeam对此事件第一时间进行了技术分析,并总结了安全防范手段,希望后续项目可以引以为戒,共筑区块链行业的安全防线。
一、攻击交易分析
Hedgey Finance被过个攻击者发起了多次攻击,利用代币批准漏洞,盗取了ClaimCampaigns合约中的大量代币。
以其中涉及金额最大的一笔交易为例,涉及金额约130万美元:
攻击交易:0x2606d459a50ca4920722a111745c2eeced1d8a01ff25ee762e22d5d4b1595739
攻击者:0xded2b1a426e1b7d415a40bcad44e98f47181dda2
攻击合约:0xc793113f1548b97e37c409f39244ee44241bf2b3
目标合约:0xbc452fdc8f851d7c5b72e1fe74dfb63bb793d511(ClaimCampaigns)
该交易直接从ClaimCampaigns合约中转移走了1,303,910.12 USDC。交易详情如下:
实际发起攻击的交易是
0xa17fdb804728f226fcd10e78eae5247abd984e0f03301312315b89cae25aa517(简记为0xa17f)
攻击过程如下:
1 从Balancer中闪电贷1.305M USDC。
2 调用ClaimCampaigns合约中的createLockedCampaign函数。在该函数中,攻击合约会将1.305M USDC存入ClaimCampaigns合约中,然后laimCampaigns合约会将转入的1.305M USDC批准给攻击合约使用。
3 调用ClaimCampaigns合约中的cancelCampaign函数。在该函数中,攻击合约将存入的1.305M USDC提取出来,但在createLockedCampaign函数中批准给攻击合约的USDC并没有取消。
4 攻击合约偿还Balancer的闪电贷。
在该交易中,攻击合约将保存在ClaimCampaigns合约中的1.305M USDC提取走后,ClaimCampaigns合约批准给攻击合约的1.305M USDC并没有取消,因此攻击合约可以直接调用USDC的transferFrom函数再次从ClaimCampaigns合约中转移走1.305M USDC。这也是交易0xa17fdb804728f226fcd10e78eae5247abd984e0f03301312315b89cae25aa517实现的功能。
通过以上两笔交易,攻击者从ClaimCampaigns合约中盗取了1.305M USDC。
除了USDC外,该攻击者利用此漏洞还从ClaimCampaigns合约中盗取了大量的NOBL Token,加上USDC,总价值超过200万美元。
二、漏洞分析
本次事件的根本原因是项目方智能合约在实现逻辑上存在代币批准漏洞,使得攻击者可以利重复转移目标合约批准给msg.sender中的Token。
智能合约ClaimCampaigns的createLockedCamaign函数会将msg.sender的Token存入到目标合约中,并将这些Token批准给msg.sender。
cancelCampaign函数会将存入的Token提取出来,但却并没有取消代币的批准。
攻击者利用此漏洞,直接调用Token的transferFrom函数从目标合约中再次转移走批准的代币。
三、安全建议
针对本次攻击事件,我们在开发过程中应遵循以下注意事项:
(1)项目在设计和开发过程中,要保持逻辑的完整性和严谨性,尤其是涉及到资产的转移过程中,在转移Token时保证同步代币批准的数量,避免上面转移走了Token但没有取消批准的情况。
(2)项目上线前,需要由第三方专业的审计公司进行智能合约审计。
WEEX唯客是一家安全易用的加密货币交易所,由新加坡顶级区块链投资机构斥资1亿美元打造,注册用户超百万,日均交易额超15亿美元,已获得美国MSB、加拿大MSB、SVGFSA金融牌照。
WEEX唯客平台所有数据皆于海外数据库严格保存,服务器多地部署和备份,并采用满足银行级安全需求的亚马逊AWS及高速高稳定性的香港CDN,为全球用户提供最安全、最专业、最具隐私性的交易服务。
WEEX唯客是全球交易深度最好的合约交易所之一,位居CMC交易所流动性排名前五,订单厚度、价差领先同行,微秒级撮合,零滑点、零插针,最大程度降低交易成本及流动性风险,让用户面对极端行情也能丝滑成交。
在WEEX唯客,用户不仅能享受行业最低的交易手续费(Taker 0手续费,Maker 0.06%),还可零门槛一键跟随专业交易员操作,复制高手的交易策略,平台严格甄选数5,000多名优秀交易员供用户挑选。
为保障用户资金安全,WEEX唯客设立了1,000 BTC投资者保护基金,以在非用户自身原因的情况下有效补偿用户资金出现的意外损失,并公示资金池热钱包地址,让用户交易安心无忧。
WEEX官网:weex.com
你也可以在 CMC|Coingecko|非小号|X (Twitter)|中文 X (Twitter)|Youtube|Facebook|Linkedin|微博 上关注我们,第一时间获取更多投资资讯和空投福利。
在线咨询:
WEEX华语社群:https://t.me/weex_group
WEEX英文社群:https://t.me/Weex_Global
暂无评论内容