ETH:成都链安:VETH智能合约被攻击事件分析

2020年6月30日下午5:46,Beosin-OSINT威胁情报系统发现VETH智能合约遭受攻击,被盗919299个VETH。成都链安-安全研究团队第一时间对本次事件进行跟踪分析。根据链上交易显示:攻击者利用自建合约通过Uniswap将0.9ETH兑换为138VETH,之后对VETH智能合约发起攻击,在攻击完成后自建合约进行自我销毁。本次攻击成本仅0.9ETH,约合200美元。交易详情如下:

成都链安:Wuliangye NFT项目疑似Rug Pull,共获利70.5个ETH:8月11日,成都链安鹰眼监测显示,Wuliangye NFT项目疑似Rug Pull,官网和社群已关闭。成都链安安全团队通过链必追-虚拟货币智能研判平台追踪发现,有595个地址购买了705个WLY NFT,项目方共获利70.5个ETH,接着将ETH交换为111316.22个USDT,最终转入0x28C6c06298d514Db089934071355E5743bf21d60地址(标记为Binance 14)。[2022/8/11 12:18:18]

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

成都链安:8ight Finance项目疑似私钥泄露,资金总损失接近100万美元:据成都链安链必应-区块链安全态势感知平台舆情监测显示,8ight Finance项目方疑似私钥泄露导致被攻击,资金已从tornado转移出去,资金总损失:868587 DAI,123621 1USDT,10843 EIGHT,80 ONE.[2021/12/8 12:58:37]

动态 | 成都链安再获联想创投、复星高科领投多轮数千万元融资:区块链安全公司成都链安科技有限公司继2018年5月分布式资本种子轮投资,2018年11月界石资本、盘古创富天使轮投资后,近期连获多轮融资,共计数千万人民币,由联想创投、复星高科领投,成创投、任子行战略投资,分布式资本、界石资本、盘古创富等老股东均跟投。

此次融资将用于持续深化区块链全生态安全布局、研发“一站式”区块链安全服务平台、开展自主可控的区块链安全技术研究、提升用户全新体验及全球化市场的拓展,助力成都链安成为全球区块链安全领域的行业标杆。在当前区块链新时代风口下,一方面成都链安将利用“一站式”区块链安全平台和服务,协助相关企业做好安全防护工作,提升安全防护能力,减少安全损失;另一方面将继续大力协助政府监管机构做好调查取证等工作,以切实加强安全监管;同时多为行业发展发出正能量的声音,带头建立起有序的行业规范,并促进安全标准建设。[2020/1/16]

图2具体攻击流程如下:攻击者创建攻击合约,通过Uniswap将0.9ETH兑换成138VETH;调用VETH合约changeExcluded函数,支付128VETH手续费,使mapAddress_Excluded的值为true;调用transferFrom函数,因mapAddress_Excluded的值为true,可以直接进行转账;攻击完成后,攻击者通过Uniswap将盗取的VETH兑换成16ETH。漏洞原理分析

动态 | 成都链安推出Beosin-AML虚拟资产调查取证和反合规系统:为帮助虚拟资产服务商(VASP)监测交易风险、执行反合规程序,帮助监管部门监督VASP合规流程执行情况,帮助执法部门快速收集虚拟资产犯罪案件证据,为受害者提供技术协助,成都链安科技推出可视化的虚拟资产合规监测和调查取证分析系统Beosin-AML。系统上线技术援助服务,受害者被盗币或不慎参与了跑路盘、资金盘等非法项目后,可在网站提交相关信息,平台开展调查、分析和追踪等取证服务。成都链安Beosin-AML虚拟资产调查取证和反合规系统,采集链上交易数据,分析加密货币犯罪和安全事件,结合机器学习模型综合分析链上交易的合规和安全风险。帮助区块链行业建立合法、合规的应用生态。[2019/12/10]

此漏洞产生的主要原因是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至此,再配合上面的transferFrom函数,攻击者便可实现仅花费128VETH而将被攻击合约的VETH代币全部转移出去。总结

此次VETH被盗事件,漏洞出自VETH合约而非Uniswap,VETH合约代码的函数访问修饰符的错误使用导致任何人都能绕过授权转账额度的检查,以极低的成本发起攻击。成都链安-安全研究团队在此提醒各大智能合约运营商,在合约正式部署上线前应做好充分的代码审计工作,即使是一些简单的代码错误也会财产损失。

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

链链资讯

GateioETH:谁是比特币破局之匙?

“你永远不知道,明天和意外哪一个会先来。”进入6月中旬,北京新冠肺炎疫情突然出现反弹,致使部分上班族遭受“无妄之灾”。杨鹏是躺者之一.

[0:15ms0-8:381ms