SharkTeam独家分析 | 城门失火,殃及池鱼:跨链项目ChainSwap被攻击事件分析
北京时间2021年7月11日凌晨, 跨链 项目 ChainSwap 遭到黑客攻击,在该桥梁部署智能合约的超 20 个项目代币都遭遇黑客盗取,酿成 DeFi 发展史上影响范围最大的一次安全事故。攻击者盗取了约800万美元的资产。ChainSwap 已经暂时关闭其跨链桥。
攻击者地址:0xEda5066780dE29D00dfb54581A707ef6F52D8113,该名黑客从今日凌晨其陆续盗取了来自 Chainswap 跨链桥合约的超 20 个项目代币,涉及项目包括 Antimatter、 Corra、DAOventure、 FM Gallery、Fei protocol、Fair Game、 Rocks 、 PERI Finance、 Strong 、WorkQuest、Dora Factory、Unido、Unifarm、Wilder Worlds、Nord Finance、OptionRoom 、Umbrella、Razor 、Dafi Finance、OroPocket、KwikSwap、Vortex 、Blank 、 Rai Finance 、SakeSwap 等。
SharkTeam第一时间对此事件进行了分析,并总结了安全防范手段,希望后续的区块链项目可以引以为戒,共筑区块链行业的安全防线。
一、事件分析
部分攻击交易如下:
(1)攻击者调用了receive函数,如下:
在该函数中,根据 Chainswap 的业务介绍,至少需要3个节点签名,
在工厂合约中,其初始化的值也是3,如下:
但实际执行的时候,只有1个签名。因此,工厂合约并未实现正确的初始化。
(2)关于签名人的配额authQuota,在receive函数中,每次都需要扣除签名人的配额。
这里,当签名者的配额扣除完了之后,整个交易会回滚。攻击者在签名者的配额扣完后就会更换签名者,然后在 _receive 函数中将 `volume` 参数传输到 `to` 攻击者地址。原来需要至少3个签名者,而实际只需要1个签名者,因此,攻击者有很多额外的签名者可以使用。
综合以上2个原因,攻击者陆续盗取了来自Chainswap跨链桥合约的超20个项目代币。
二、安全建议
跨链技术的发展提高了Defi业务的可组合性和资产流动性,但伴随而来的也是从未有过的攻击面和攻击手段,势必会引来黑客攻击。
SharkTeam提醒您,在涉足区块链项目时请提高警惕,选择更稳定、更安全,且经过完备多轮审计的公链和项目,切不可将您的资产置于风险之中,沦为黑客的提款机。
而作为项目方,智能合约安全关系用户的财产安全,至关重要!区块链项目开发者应与专业的安全审计公司合作,进行多轮审计,避免合约中的状态和计算错误,为用户的数字资产安全和项目本身安全提供保障。
SharkTeam 作为领先的区块链安全服务团队,为开发者提供智能合约审计服务。智能合约审计服务由人工审计和自动化审计构成,满足不同客户需求,独家实现覆盖高级语言层、虚拟机层、区块链层、业务逻辑层四个方面近两百项审计内容,全面保障智能合约安全。