欧易下载

欧易交易所
欧易交易所APP官网下载

欧易交易所(Huobi Global)是最老牌的比特、莱特、以太交易所,欧易交易平台支持OTC法币交易,支持微信、支付宝和银行卡转账,安全方便快捷,欧易下载官方APP链接。

又被攻击 VETH智能合约是如何被盗90万美元的?

前言

2020 年 7 月 1 日,VETH 合约遭遇黑客攻击。慢雾安全团队在收到情报后对本次攻击事件进行了全面的分析,下面为大家就这次攻击事件展开具体的技术分析。

攻击细节

本次攻击交易如下 0xdd1120a90ed4112b634266d6a244b93ca86785317bc75f0e170ab0cd97c65224

通过交易概览可以看到攻击者在 Uniswap 中使用 0.9 ETH 兑换成 VETH,然后使用 VETH 在 Vether 合约中进行操作,最终盗走巨额的 VETH。

现在使用 OKO 合约浏览器对具体的攻击细节进行分析(下图只展示一部分)https://oko.palkeo.com/0xdd1120a90ed4112b634266d6a244b93ca86785317bc75f0e170ab0cd97c65224/

Osasion欧赛公链已完成Layer1扩容协议NUT-2912部署:据Osasion欧赛最新消息,Osasion公链正式部署Non-standard radius Unlimited Subtree(非标准半径的无限子树),简称:NUT-2912协议(坚果协议)。据悉,NUT-2912协议旨在释放公链的运算能力,解决Osasion欧赛公链在分层架构的设计,优化链上功能,最大程度满足状态验证和数据无限扩容以及存储,提供Layer1架构链上扩容分层设计的去中心化和安全性。

Osaion欧赛通过链上代码技术,进行区块结构改进设计,同时通过非固定变量区块的设计,释放区块承载数据的大小,提供确保共识机制不受影响下的链上扩容方案。此协议将降低底层数据无效调用,释放百倍的计算和存储能力。不仅提升用户体验也为DAPP智能合约的部署提供高性能的保障。

据监测反馈,数据包块合并打包顺畅,单区块上链数据监测将持续延后,部分智能合约数据的上链将受安全监测影响带来迟滞,目前数据监测一切正常。[2021/5/13 21:57:42]

通过分析交易内具体的细节可以发现:攻击者先创建了一个合约0x47Ed415006C6F8052Fff05fe983f31D6D24B8fDB 通过此合约对 Vether 合约中的 changeExcluded(unknown37217349) 函数与 transferFrom 函数进行了调用。

库币KCS交易区将新增BNB, XLM, VET资产交易服务:据库币KuCoin交易所消息,库币KCS交易市场将于今日新增并支持BNB/KCS, XLM/KCS, VET/KCS三个交易对,上线时间为3月3日晚上8点。目前,库币KCS交易区已支持近20种加密资产的交易服务。库币数字货币交易所,为来自207个国家的600万用户提供币币、法币、杠杆、合约、矿池、借贷等一站式服务。[2021/3/3 18:10:21]

接下来对这两个函数的具体代码进行分析:

可以看到在 transferFrom 函数中,先对 mapAddress_Excluded[msg.sender] 进行了 if 判断,具体逻辑是mapAddress_Excluded[msg.sender]为 false 时,将会检查对攻击者合约的授权额度,然后调用_transfer函数进行转账。而这个逻辑显然走不通,攻击者合约是没有任何授权额度的。因此mapAddress_Excluded[msg.sender]只能为 true ,然后直接调用_transfer函数进行转账。

接下来具体分析该如何将mapAddress_Excluded[msg.sender]设置为 true:

通过查看合约可以发现:

合约在初始化时只将address(this)和burnAddress的mapAddress_Excluded置为 true,那么可以肯定还有其他逻辑可以设置mapAddress_Excluded,通过分析  Vether 合约可以发现changeExcluded函数可以实现对mapAddress_Excluded的设置。

通过分析changeExcluded函数可以发现其可见性为external,因此攻击者合约可以直接调用changeExcluded函数,此时攻击者合约的mapAddress_Excluded为 false,所以会进入 if 的逻辑中。

接下来对 if 逻辑内的代码进行具体分析:

在进行 if 逻辑后需要先支付手续费,具体为上方代码块中的第 3 行,那这个手续费是从哪里来呢?答案就是攻击者最初转入合约中的 0.9 ETH。

图中可以看到,通过 0.9 ETH 兑换成约 138 VETH。

通过计算代码中的mapEra_Emission/16我们可以得到攻击者需要支付的手续费:我们读取合约中的 mapEra_Emission可以知道 mapEra_Emission为 2048。

此时计算mapEra_Emission/16可得手续费为 2048/16 = 128 VETH,而攻击者兑换了约138 VETH 是足够用来支付手续费的,因此便可以通过上方代码块中的第 4 行将攻击者合约的mapAddress_Excluded置为 true。

创建攻击合约,通过 Uniswap 将 0.9 ETH 兑换成约138 VETH(此处换币为了后续支付手续费)

调用 Vether 合约中的changeExcluded函数并利用先前在 Uniswap 兑换的约 138 VETH 支付 128 VETH 的手续费,然后将mapAddress_Excluded置为 true

调用 transferFrom 函数,利用mapAddress_Excluded为 true,直接进行转账操作

拿钱走人

0xfa2700e67065bc364136b5e7f57112083cb2a0cd

0x75572098dc462f976127f59f8c97dfa291f81d8b

修复建议

此次攻击主要利用 Vether 合约中changeExcluded函数的可见性为external且未有权限限制,用户可以直接进行外部调用为攻击创造了必要的条件。因此应做好对changeExcluded函数的权限或可见性的限制,从而避免任意用户可以直接外部调用changeExcluded函数。

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

欧易交易所

XRP7.3晚间行情:A股初步走牛 BTC会跟随么

文章系金色财经专栏作者币圈北冥供稿,发表言论仅代表其个人观点,仅供学习交流!金色盘面不会主动提供任何交易指导,亦不会收取任何费用指导交易,请读者仔细甄别,谨防上当。 ADA 和VET 出现的大涨并没有激活市场,更多的是游资所主导独立行情。

区块链2020年区块链领域全球授权专利报告:支付宝专利数全球第一

7月1日,中国专利保护协会发布《2020年区块链领域全球授权专利报告》。报告显示,全球已获得授权的区块链专利排名中,支付宝以212件区块链授权专利数位列全球第一,接近第二名IBM(136件)和第三名Coinplug(107件)之和。 这是权威机构首次公布全球区块链授权专利数量报告。

Uniswap90余家企业抵制 Facebook、推特股价大跌

美股也爆出了黑天鹅。这一次发生在互联网公司上。 往年的这个时候本应是广告商最为活跃之际,即便是在疫情重挫经济的今年,Facebook等互联网巨头广告收入仍然坚挺,3月剧减后4月起已逐步企稳反弹,眼看将迎来又一春…… 直到一场广告抵制运动掀开主街硅谷大战。 如今随着消费品巨头联合利华加入抵制队伍,此战愈发被推向高潮。

[0:15ms0-0:564ms