Cointime

扫码下载App
iOS & Android

SharkTeam:Vyper漏洞导致Curve和JPEG'd等项目被攻击原理分析

7月30日,因为Vyper部分版本中的漏洞,导致Curve、JPEG'd等项目陆续受到攻击,损失总计超过5200万美元。

SharkTeam对此事件第一时间进行了技术分析,并总结了安全防范手段,希望后续项目可以引以为戒,共筑区块链行业的安全防线。

一、 事件分析

以JPEG'd被攻击为例:

攻击者地址:0x6ec21d1868743a44318c3c259a6d4953f9978538

攻击者合约:0x9420F8821aB4609Ad9FA514f8D2F5344C3c0A6Ab

攻击交易:0xa84aa065ce61dbb1eb50ab6ae67fc31a9da50dd2c74eefd561661bfce2f1620c

(1)攻击者(0x6ec21d18)创建0x466B85B4的合约,通过闪电贷向 [Balancer: Vault]借了80,000 枚WETH。

(2)攻击者(0x6ec21d18)向pETH-ETH-f(0x9848482d)流动性池中添加了40,000枚WETH,获得32,431枚pETH。

(3)随后攻击者(0x6ec21d18)从pETH-ETH-f(0x9848482d)流动性池中重复地移除流动性。

(4)最终,攻击者(0x6ec21d18)获得86,106枚WETH,归还闪电贷后,获利6,106枚WETH离场。

二、漏洞分析

(1)该攻击是典型的重入攻击。对遭受攻击的项目合约进行字节码反编译,我们从下图可以发现:add_liquidity 和 remove_liquidity 两个函数在进行校验存储槽值时,所要验证的存储槽是不一样的。使用不同的存储槽,重入锁可能会失效。此时,怀疑是Vyper底层设计漏洞。

(2)结合Curve官方的推文所说。最终,定位是Vyper 版本漏洞。该漏洞存在于0.2.15、0.2.16、0.3.0版本中,在重入锁设计方面存在缺陷。我们对比0.2.15之前的0.2.14以及0.3.0之后的0.3.1版本,发现这部分代码在不断更新中,老的0.2.14和交心的0.3.1版本没有这个问题。

(3)在Vyper对应的重入锁相关设置文件data_positions.py中,storage_slot的值会被覆盖。在ret中,第一次获取锁的slot为0,然后再次调用函数时会将锁的slot加1,此时的重入锁会失效。

漏洞总结:本次攻击事件根本原因是Vyper的0.2.15、0.2.16、0.3.0版本的重入锁相关设计不合理,并且没有进行足够全面的功能测试。导致后期使用这些版本的项目中重入锁失效,最终遭受了黑客攻击。

三、 安全建议

对于本次攻击事件,开发人员在日常开发中应当采取有以下的安全措施:

(1) 项目方需保障功能设计合理并对代码进行全面测试,防止遗漏某些功能的测试。

(2) 项目发版前,需要向第三方专业的审计团队寻求技术帮助。

About Us

SharkTeam的愿景是全面保护Web3世界的安全。团队由来自世界各地的经验丰富的安全专业人士和高级研究人员组成,精通区块链和智能合约的底层理论,提供包括智能合约审计、链上分析、应急响应等服务。已与区块链生态系统各个领域的关键参与者,如Polkadot、Moonbeam、polygon、OKC、Huobi Global、imToken、ChainIDE等建立长期合作关系。

官网:https://www.sharkteam.org

Twitter:https://twitter.com/sharkteamorg

Discord:https://discord.gg/jGH9xXCjDZ

Telegram:https://t.me/sharkteamorg

评论

所有评论

推荐阅读

  • 加拿大总理提议对股票和加密货币征收资本利得税

    加拿大总理Justin Trudeau提出了一项新的资本利得税,该税率将从50%到67%不等。根据加拿大税务局网站,常见的资本财产包括别墅、证券(如股票、债券、加密货币和共同基金信托单位)、土地和建筑物。在加拿大纳税人购买或持有加密货币无需纳税,对来自加密货币销售、挖矿活动或其他加密货币相关交易的资本收益或商业收入征税,个人加密货币持有者需为其总资本收益的 50%纳税,而专业(日间)交易者则需为其利润的100%纳税。

  • 泰国监管机构将打击欺骗性加密货币广告

    据《曼谷邮报》报道,包含虚假、夸大、扭曲、隐瞒或误导性信息的加密货币广告违反了泰国法规。主要加密市场的监管机构也采取了类似措施,以尽量减少加密投资的损失。例如,英国金融行为监管局 (FCA)仅在 2023 年就发布了 450 条非法加密货币广告警报。此外,2023 年 11 月,西班牙主要证券市场监管机构国家股票市场委员会谴责了 X 上的欺诈性加密资产促销活动,并重申公司有遵守当地法律的义务。 泰国证券交易委员会提醒加密货币交易所纳入有关投资风险的适当警告,并避免通过特别促销来吸引新用户。他警告说,违反上述指导方针将招致“依法惩处”。

  • 俄罗斯将实施加密货币限制,豁免矿工和央行项目

    俄罗斯将实施加密货币限制,豁免矿工和央行项目。自9月1日起,俄罗斯将对比特币等加密资产的流通实施严格限制。仅允许在其管辖范围内发行数字金融资产。 国家杜马金融市场委员会主席Anatoly Aksakov领导了这一举措。这是在地缘政治紧张局势加剧的情况下政府控制加密生态系统的更广泛努力的一部分。Aksakov表示,即将出台的立法旨在限制非俄罗斯加密货币业务,以加强卢布的主导地位。 与此同时,最近的报告表明,俄罗斯实体已使用加密货币,特别是 Tether 的 USDT来采购军事技术的关键组件。

  • 4月迄今以太坊链上稳定币交易量超1万亿美元,创历史新高

    4月29日消息,The Block数据显示,截至4月28日,4月以太坊链上稳定币交易量达1.08万亿美元,创历史新高,其中DAI交易量为5780.7亿美元,排名第一;USDC以2681.5亿美元交易量位居第二,USDT以1986.2亿美元交易量排名第三。

  • 许正宇:香港政府今年稍后将发表金融市场应用AI政策立场和方针

    香港财经事务及库务局局长许正宇在北京2024中关村论坛金融科技平行论坛时指出,随着人工智能科技不断演进,香港政府会保持开放态度,密切监察市场发展,以及参考海内外的经验,以推动金融业负责任地使用人工智能。今年稍后,香港政府会发表政策宣言,阐述香港政府对于在金融市场应用人工智能的政策立场和方针。 许正宇还表示,推动人工智能技术生态圈方面,香港数码港正全速设立人工智能超算中心,协助研究机构和业界应付算力需求,首阶段设施最快于今年内投入服务。此外,香港政府会拨款30 亿港元推行为期3年的人工智能资助计划,资助大学、研发机构及企业等运用算力,推动科研突破;加强算力中心的网络安全和数据保护;以及进行推广和教育活动等,从而吸引海内外人工智能专家、企业及研发项目落户香港。

  • 孙宇晨:以太坊现货ETF不会在5月获准

    波场 TRON 创始人孙宇晨在 X 平台发文表示,自己认为以太坊现货 ETF 在 5 月不会获批,加密行业仍需为监管机构的长期教育做准备,重点是帮助他们理解加密。

  • 欧盟成员国准备执行MiCA法案,加密货币公司应密切关注

    欧盟成员国即将实施MiCA法律,要求国家监管机构对加密货币服务提供商进行许可和监督。各国可以实施略有不同的技术标准,加密货币公司应密切关注政策观察者的建议。MiCA规定的稳定币发行者的专门规则将在几个月后生效,随后是针对加密货币公司的许可和其他要求。一些国家的加密货币监管将由中央银行承担,许多监管机构正在加强团队或培训人员以应对MiCA带来的挑战。

  • 全网ETH合约未平仓头寸为113.9亿美元

    Coinglass 数据显示,全网 ETH 期货合约未平仓头寸为 358 万枚 ETH,约合 113.9 亿美元。其中币安 ETH 合约未平仓头寸为 116 万枚 ETH(约合 36.9 亿美元),位列第一。

  • 某独立比特币矿工通过验证区块 841,286 获得全部3.125BTC区块奖励

    4月29日消息,独立矿池ckpool的软件工程师兼管理员Con Kolivas在社交媒体上发文表示,一名矿工挖出了比特币历史上第282个独立区块。该矿工当时的算力约为 120PH,相当于 0.12 EH 左右,一周平均约为 12 PH,约占总网络的 0.02% 哈希率。 最近,在 4 月 20 日比特币在 840,000 区块减半时,解决 841,286 区块的奖励从 6.25 BTC 减少到 3.125 BTC,这意味着按当时的 BTC 价格计算,其价值约为 200,000 美元。

  • 韩国将正式成立专注于数字资产犯罪的调查部门

    韩国司法部和内政和安全部将于5月初开始讨论将虚拟资产犯罪联合调查组提升为官方部门。此次晋升的目的是巩固该部门的地位,因为该部门目前作为首尔南部地方检察官办公室的临时机构运作,可能会被解散。塞吉表示,这一变化预计将通过任命新检察官和预算分配来提高效率。 该部门由来自七个金融和税务监管机构的约30名专家组成,于2023年7月成立,是韩国首个专注于数字资产犯罪的调查机构。