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

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

成都链安:国内天穹数藏宣称遭黑客攻击,黑客利用虚假余额购买盗取用户的藏品:5月17日消息,据成都链安“链必应-区块链安全态势感知平台”安全舆情监控数据显示,天穹数藏宣称遭黑客攻击,藏品售价异常高达近千万元。根据平台公告称:平台数据遭遇大量恶意攻击,黑客利用虚假余额购买盗取用户的藏品,导致数据异常,目前已恢复,平台已第一时间报警处理。成都链安安全团队初步分析,导致本次攻击的原因猜测为:攻击者通过传统网络安全攻破了平台方数据库,恶意篡改账户余额,导致大量用户高价挂单仍可成交,最终导致数据异常。成都链安安全团队建议:

1、 国内数字藏品平台方在设计、实现和部署的过程中,要关注通信与网络安全、主机安全、数据库安全、移动安全等传统安全领域,做好安全防护;

2、 国内数字藏品平台方在运维的过程中,要做好金融风控的设计和实施,避免出现大规模资金异动而不自知的情况;

3、 数字藏品消费者在选择交易平台时,需要关注平台合规风险,注意保障自身财产安全;

4、 数字藏品消费者警惕炒作风险和市场泡沫,避免泡沫破裂时造成财产损失。[2022/5/17 3:22:51]

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

成都链安:BaconProtocol遭受攻击事件分析:据成都链安链必应-区块链安全态势感知平台舆情监测显示,BaconProtocol遭受黑客攻击损失约958,166 美元,关于本次攻击,成都链安团队第一时间进行了分析:1. 本次攻击利用重入漏洞,并凭借闪电贷扩大收益额。2:目前攻击者地址还没有被加入USDC的黑名单中。[2022/3/6 13:40:01]

QitChain已通过成都链安安全审计:据官方消息,分布式搜索引擎项目QitChain已通过区块链安全机构成都链安的安全审计。

分布式搜索引擎QitChain是一个基于IPFS的区块链搜索工具,旨在成为Web3.0有效数据信息聚合器,在保障用户安全隐私的同时带来更高效、更精准的信息查找。

成都链安是领先的区块链安全公司,自成立以来,一直致力于区块链安全的生态建设。[2021/10/25 20:55:41]

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

声音 | 成都链安:用户安全意识不足、交易所安全体系不够完善等因素造成交易所安全事件频发:成都链安统计数据显示,近期交易所安全问题时有发生。通过总结近期各种交易所安全事件和用户丢币事件,成都链安分析认为,交易所安全事件的问题来源主要有三点:1、用户安全意识不足,导致误入钓鱼网站等进而私密信息被盗。2、交易所安全体系不够完善,平台自身存在安全漏洞。3.交易所外接数据服务或其他服务后,未针对不可控因素建立应急机制。[2019/8/26]

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

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

水星链

[0:15ms0-0:972ms