详解VETH智能合约被攻击事件_ETH:VET

2020年6月30日下午5:46,Beosin-OSINT威胁情报系统发现

VETH智能合约

遭受攻击,被盗919299个VETH。成都链安·安全实验室第一时间对本次事件进行跟踪分析。

?

根据链上交易显示:

攻击者利用自建合约

通过Uniswap将0.9ETH兑换为138VETH,之后对VETH智能合约

发起攻击,在攻击完成后自建合约进行自我销毁。

本次攻击成本仅0.9ETH,约合200美元。交易

DefiLlama创始人推出可检查地址是否受SushiSwap黑客影响的网站:4月10日消息,DefiLlama创始人0xngmi已建立一个网站,可帮助用户检查地址是否受到SushiSwap黑客的影响,同时知道哪些代币的授权需要撤销。

据此前报道,0xngmi发推称,受SushiSwap攻击事件影响的用户应该只有那些过去4日内在SushiSwap平台进行过Swap操作的用户。0xngmi提醒这些用户尽快撤销相关权限或将受影响钱包中的资金转移至新钱包。[2023/4/10 13:54:03]

详情如下:

FIL突破120美元关口 日内涨幅为4.81%:火币全球站数据显示,FIL短线上涨,突破120美元关口,现报120.01美元,日内涨幅达到4.81%,行情波动较大,请做好风险控制。[2021/5/14 22:03:02]

△图1

在盗币成功之后,攻击者将盗取的VETH通过Uniswap换成了16ETH。如下图所示:

△图2

借贷平台Filda被撸“500万美金”资金已退回:金色财经报道,据链上数据显示,今日凌晨1:13:57,借贷平台Filda接收到582.65万枚HUSD,疑似被撸资金已退回。据此前消息,借贷平台Filda疑似“被撸500万美金”。据了解,疑似有用户存入2000HT,借出500万HUSD。[2021/2/9 19:16:43]

?具体攻击流程如下:

1.攻击者创建攻击合约,通过Uniswap将0.9ETH兑换成138VETH;

2.调用VETH合约changeExcluded函数,支付128VETH手续费,使mapAddress_Excluded的值为true;

1475:将积极参与Filecoin加速营相关活动:11月12日,北京时间11:00,协议实验室和LongHash Ventures合作的Filecoin生态加速营项目Filecoin Frontier Accelerator举办了启动答疑活动。

参与本次活动的1475代表表示,为期三个月的Filecoin Frontier Accelerator加速营将为Filecoin生态项目提供高达150万美金的启动资金,它关注IPFS网络的存储价值,激励了基于Filecoin网络的应用开发,对于Filecoin生态应用落地有着推动作用。1475将积极参与加速营相关活动。[2020/11/13 20:44:36]

3.调用transferFrom函数,因mapAddress_Excluded的值为true,可以直接进行转账;

4.攻击完成后,攻击者通过Uniswap将盗取的VETH兑换成16ETH。

漏洞原理分析

此漏洞产生的主要原因是changeExcluded函数修饰符为external,使得任何人都可以调用该函数来绕过transferFrom函数内部的授权转账额度检查,将合约的VETH代币盗走。

首先分析transferFrom函数,在函数内部先进行!mapAddress_Excluded的判断,按照正常逻辑,该结果为true后,将进行授权转账额度的检查。但是转账函数_transfer的调用放在if语句体外,这就导致攻击者可以通过将mapAddress_Excluded的值设置为true而绕过授权转账额度的检查,直接进行VETH代币转移。transferFrom函数源码如下图所示:

△图3

通过分析修改mapAddress_Excluded值的代码发现,在changeExcluded函数内实现了对其值的修改,且该函数修饰符为external,可供外部调用。changeExcluded函数源码如下图所示:

△图4

在未对该值进行设置时,mapAddress_Excluded的初始值为false,最后if判断结果为true,进入if语句体,调用_transfer进行转账,要求支付转账金额为:mapEra_Emission/16即128VETH,然后mapAddress_Excluded的值被设置为true。emission的值如下如所示:

△图5

总结

此次VETH被盗事件,漏洞出自VETH合约而非Uniswap,VETH合约代码的函数访问修饰符的错误使用导致任何人都能绕过授权转账额度的检查,以极低的成本发起攻击。

成都链安·安全实验室在此提醒:各大智能合约运营商,在合约正式部署上线前应做好充分的代码审计工作,即使是一些简单的代码错误也会财产损失。

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

金宝趣谈

[0:31ms0-7:248ms