火星链 火星链
Ctrl+D收藏火星链
首页 > XLM > 正文

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

作者:

时间:1900/1/1 0:00:00

前言

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

攻击细节

本次攻击交易如下 0xdd1120a90ed4112b634266d6a244b93ca86785317bc75f0e170ab0cd97c65224

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

Aleo营销主管:ZK证明有可能重塑整个互联网:金色财经报道,专注于隐私的基础设施平台Aleo营销主管Brennen Schlueter表示,虽然零知识证明已成为通过ZK Rollup为区块链提供改进的可扩展性的热门解决方案,但它们有可能重塑整个互联网。ZK证明使得信息传输能够在两方之间进行,其中发起者只需向接收者透露相关信息。例如,证明某人达到进入酒吧的年龄,而不向保安透露其实际年龄或身份。Schlueter表示,现代互联网的建立并不是为了优先考虑用户的隐私。“当数据需要易手时,当数据需要托管时,我们总是会遇到漏洞,ZK证明不仅解决了Web3的隐私问题,还解决了整个互联网的隐私问题。ZK证明不仅解决Web3的隐私问题,还能解决整个互联网的隐私问题。”[2023/7/20 11:06:26]

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

数据:Paxos金库销毁5004万个BUSD:6月9日消息,Whale Alert数据显示,Paxos金库销毁了50,040,800个BUSD。另外根据CoinGecko数据,BUSD市值跌至约48.6亿美元;历史数据显示,BUSD市值在约三个月时间内已缩水50%。[2023/6/9 21:26:54]

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

花旗集团区块链和数字资产总监将离职并加入SIX Digital Exchange:金色财经报道,根据LinkedIn页面,花旗集团的区块链和数字资产总监Kech将离职并加入SIX Digital Exchange,SIX Digital Exchange是一家瑞士数字资产交易所,提供加密资产的交易、结算和托管服务。Kech表示他将在11月开始“新的激动人心的挑战”。[2022/10/7 18:41:25]

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

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

Diamond Standard CEO:代币化钻石使投资者能接触价值1.2万亿美元的钻石市场:8月27日消息,区块链初创公司Diamond Standard创始人及CEO Cormac Kinney表示,代币化钻石可以向更广泛的投资者群体开放价值1.2万亿美元的钻石市场。Cormac Kinney将Diamond Standard视为消除拥有和投资宝石的主要障碍的一种方式。

Diamond Standard的专利技术旨在创建一个更加透明的系统,使投资者能够更轻松、更高效地跟踪供应链和随后对世界终极珠宝的所有权。Kinney指出,钻石市场“比黄金以外的几乎所有其他贵金属加起来还要大”。钻石与黄金、股票或债券不相关,这也为投资者提供一种对冲工具。

据悉,Diamond Standard在百慕大获准发行、出售和赎回代币和数字资产,为散户和机构投资者提供具有标准化价值和流动性的钻石支持的数字货币Diamond Standard Coin。(CoinDesk)[2022/8/27 12:52:11]

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

游戏平台GameSwift与Polygon合作构建“去中心化版Steam”链游工具:金色财经报道,游戏平台GameSwift宣布与Polygon达成合作,双方将为开发者和游戏工作室构建“去中心化版Steam”链游工具,旨在推动 Web2 游戏融合到 Web3 环境中。GameSwift 前身为 StarTerra,目前正在扩展其功能以为 Web3 游戏项目提供成熟的网络,与 Polygon 的合作将使其建立基于 Polygon Edge 框架的游戏链。(globenewswire)[2022/8/24 12:44:35]

通过查看合约可以发现:

合约在初始化时只将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函数。

标签:EXCDEDETHCLUCrypto ExcellenceBonded dAMMETHYclu币前景

XLM热门资讯
AIG:驱动航运供应链数字化转型 中国远洋海运与蚂蚁合作探索区块链应用

7月6日,中国远洋海运集团与阿里巴巴、蚂蚁集团签署三方战略合作协议,将共同推动航运物流区块链合作和应用,开展未来基于全球航运物流网络的深度合作.

1900/1/1 0:00:00
区块链:国际区块链组织BGIN构建行业交流平台 火币中国积极推进全球对话

近日,BGIN组织了全球第二次线上讨论会,就BGIN的理念、运作模式以及如何开展具体工作和学术研究展开了讨论和分享.

1900/1/1 0:00:00
区块链:金色观察|这些年央视报道过的区块链

数年间,区块链行业随比特币、矿机、加密货币起起落落,央视对区块链行业的关注是行业发展重要的风向标。本文列举了近些年央视对区块链行业的新闻报道.

1900/1/1 0:00:00
BTC:怎样用量化模型进行加密货币交易?

在现实生活中,无论是个人投资决策还是商业决策的投资场景,都比我们在课堂上学到的要复杂得多。由于这些决定的规模庞大,走错一步就有可能无法挽回。在这种情况下,使用模型就可以带来很大的帮助.

1900/1/1 0:00:00
SDT:7.01晚间行情:ETH 能否卷土重来?

文章系金色财经专栏作者币圈北冥供稿,发表言论仅代表其个人观点,仅供学习交流!金色盘面不会主动提供任何交易指导,亦不会收取任何费用指导交易,请读者仔细甄别,谨防上当.

1900/1/1 0:00:00
POL:奇思妙想:比特币如何解决委内瑞拉陷入困境的石油供应问题?

比特币解决了许多问题,从货币政策处理不当到充当一个全新的财富存储手段。但这是否也可以解决委内瑞拉被制裁和卡在海上的石油问题,或许可以将油更好地利用,而不是漫无目的地漂浮在海上.

1900/1/1 0:00:00